diff --git a/eotdl/eotdl/datasets/ingest.py b/eotdl/eotdl/datasets/ingest.py index 1c5ef122..c5932ac0 100755 --- a/eotdl/eotdl/datasets/ingest.py +++ b/eotdl/eotdl/datasets/ingest.py @@ -3,10 +3,6 @@ from tqdm import tqdm import json import frontmatter -import markdown -from markdown.extensions.tables import TableExtension -from markdown.extensions.fenced_code import FencedCodeExtension - from ..auth import with_auth from .metadata import Metadata @@ -75,8 +71,6 @@ def ingest_folder( raise Exception("Error loading metadata") # retrieve dataset (create if doesn't exist) dataset = retrieve_dataset(metadata, user) - if content: - content = markdown.markdown(content, extensions=[TableExtension(),FencedCodeExtension()]) update_metadata = True if "description" in dataset: diff --git a/eotdl/eotdl/datasets/metadata.py b/eotdl/eotdl/datasets/metadata.py index 7e7dba06..07f2954e 100755 --- a/eotdl/eotdl/datasets/metadata.py +++ b/eotdl/eotdl/datasets/metadata.py @@ -1,6 +1,5 @@ from pydantic import BaseModel, validator from typing import List, Optional -import markdownify from pathlib import Path @@ -39,7 +38,7 @@ def generate_metadata(download_path, dataset): for author in dataset["authors"]: f.write(f" - {author}\n") f.write("---\n") - f.write(markdownify.markdownify(dataset["description"], heading_style="ATX")) + f.write(dataset["description"]) # remove metadata.yml if exists if Path(download_path + "/metadata.yml").exists(): Path(download_path + "/metadata.yml").unlink() diff --git a/eotdl/eotdl/models/ingest.py b/eotdl/eotdl/models/ingest.py index 883ad0b1..1be6aea8 100755 --- a/eotdl/eotdl/models/ingest.py +++ b/eotdl/eotdl/models/ingest.py @@ -1,7 +1,6 @@ from pathlib import Path import yaml import frontmatter -import markdown from tqdm import tqdm import json @@ -67,8 +66,7 @@ def ingest_folder( raise Exception(f"Error loading metadata: {e}") # retrieve model (create if doesn't exist) model = retrieve_model(metadata, user) - if content: - content = markdown.markdown(content) + update_metadata = True if "description" in model: # do not do this if the model is new, only if it already exists diff --git a/eotdl/eotdl/models/metadata.py b/eotdl/eotdl/models/metadata.py index 312a8888..0ee8a21f 100755 --- a/eotdl/eotdl/models/metadata.py +++ b/eotdl/eotdl/models/metadata.py @@ -1,6 +1,5 @@ from pydantic import BaseModel, validator from typing import List, Optional -import markdownify from pathlib import Path @@ -37,7 +36,7 @@ def generate_metadata(download_path, model): for author in model["authors"]: f.write(f" - {author}\n") f.write("---\n") - f.write(markdownify.markdownify(model["description"], heading_style="ATX")) + f.write(model["description"]) # remove metadata.yml if exists if Path(download_path + "/metadata.yml").exists(): Path(download_path + "/metadata.yml").unlink() diff --git a/ui/src/routes/datasets/IngestForm.svelte b/ui/src/routes/datasets/IngestForm.svelte index a2692a24..b920d44d 100755 --- a/ui/src/routes/datasets/IngestForm.svelte +++ b/ui/src/routes/datasets/IngestForm.svelte @@ -16,12 +16,15 @@ export let license; export let content; export let quality = 0; + let value = content + console.log(value) let files; let loading = false; let error = null; $: selected_tags = current_tags; const ingest = async () => { + console.log(value) error = null; if (source && !validate_source(source)) return; loading = true; @@ -32,7 +35,7 @@ await submit( files, name, - content, + value, authors?.split(","), source, license, @@ -43,7 +46,7 @@ await submit( //files, name, - content, + value, authors?.split(","), source, license, @@ -156,7 +159,7 @@ {/if}

Description

- + {#if forCreate}

Files

diff --git a/ui/src/routes/datasets/TextEditor.svelte b/ui/src/routes/datasets/TextEditor.svelte index b081ea55..50b3bbbd 100755 --- a/ui/src/routes/datasets/TextEditor.svelte +++ b/ui/src/routes/datasets/TextEditor.svelte @@ -3,8 +3,6 @@ import "carta-md/default.css"; /* Default theme */ import "$styles/carta-md.css"; import DOMPurify from "isomorphic-dompurify"; - import TurndownService from "turndown"; - import { tables } from "turndown-plugin-gfm"; import { browser } from "$app/environment"; let x; @@ -31,16 +29,12 @@ sanitizer: DOMPurify.sanitize, }); - export let content; - var turndownService = new TurndownService({ - codeBlockStyle: "fenced", - preformattedCode: true, - }); - turndownService.use(tables); + export let value; + + let html = null; - let value = turndownService.turndown(content); const renderHtml = async () => { - content = await carta.render(value); + html = await carta.render(value); }; diff --git a/ui/src/routes/datasets/[name]/+page.svelte b/ui/src/routes/datasets/[name]/+page.svelte index 20025ca3..6c46403d 100755 --- a/ui/src/routes/datasets/[name]/+page.svelte +++ b/ui/src/routes/datasets/[name]/+page.svelte @@ -11,15 +11,27 @@ import { fade } from "svelte/transition"; import retrieveDatasetFiles from "$lib/datasets/retrieveDatasetFiles"; import Map from "$components/Map.svelte"; + import { Carta } from "carta-md"; + import DOMPurify from "isomorphic-dompurify"; + + const carta = new Carta({ + extensions: [], + sanitizer: DOMPurify.sanitize, + }); export let data; let dataset = null; let version = null; let message = null; + let description = null; const load = async () => { dataset = await retrieveDataset(data.name); + description = await carta.render(dataset.description) + if (!description){ + description = dataset.description; + } }; $: if (browser) load(); @@ -106,8 +118,8 @@ >
- {#if dataset.description} - {@html dataset.description} + {#if description} + {@html description} {:else}

No description.

{/if} diff --git a/ui/src/routes/models/[name]/+page.svelte b/ui/src/routes/models/[name]/+page.svelte index 9ceaa42d..0871b760 100755 --- a/ui/src/routes/models/[name]/+page.svelte +++ b/ui/src/routes/models/[name]/+page.svelte @@ -10,15 +10,27 @@ import { fade } from "svelte/transition"; import retrieveModelFiles from "$lib/models/retrieveModelFiles"; import Update from "$components/Update.svelte"; + import { Carta } from "carta-md"; + import DOMPurify from "isomorphic-dompurify"; + + const carta = new Carta({ + extensions: [], + sanitizer: DOMPurify.sanitize, + }); export let data; let model = null; let version = null; let message = null; + let description = null; const load = async () => { model = await retrieveModel(data.name); + description = await carta.render(model.description) + if (!description){ + description = model.description; + } }; $: if (browser) load(); @@ -94,8 +106,8 @@
- {#if model.description} - {@html model.description} + {#if description} + {@html description} {:else}

No description.

{/if}