diff --git a/internal/general.txt b/internal/general.txt index 0957f6e..47a1973 100644 --- a/internal/general.txt +++ b/internal/general.txt @@ -1,10 +1,8 @@ To emit files (no tools), output blocks exactly as: -``` FILE "name" <> - +your contents here <> -``` Repeat per file, no code fences, markdown or extra text. \ No newline at end of file diff --git a/static/js/markdown.js b/static/js/markdown.js index 4430943..110e819 100644 --- a/static/js/markdown.js +++ b/static/js/markdown.js @@ -22,25 +22,30 @@ return; } - if (type !== "code") { - return; + + if (type === "code") { + if (text.trim().match(/^§\|FILE\|\d+\|§$/gm)) { + token.type = "text"; + + return; + } + + const lang = token.lang || "plaintext"; + + let code; + + if (lang && hljs.getLanguage(lang)) { + code = hljs.highlight(text.trim(), { + language: lang, + }); + } else { + code = hljs.highlightAuto(text.trim()); + } + + token.escaped = true; + token.lang = code.language || "plaintext"; + token.text = code.value; } - - const lang = token.lang || "plaintext"; - - let code; - - if (lang && hljs.getLanguage(lang)) { - code = hljs.highlight(text.trim(), { - language: lang, - }); - } else { - code = hljs.highlightAuto(text.trim()); - } - - token.escaped = true; - token.lang = code.language || "plaintext"; - token.text = code.value; }, renderer: {