diff options
Diffstat (limited to 'src/editor.mjs')
-rw-r--r-- | src/editor.mjs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/editor.mjs b/src/editor.mjs index 5470b64..d1b4ba1 100644 --- a/src/editor.mjs +++ b/src/editor.mjs | |||
@@ -89,10 +89,27 @@ if (queryParams.get('render')) { | |||
89 | toggleMaps(HtmlContainer) | 89 | toggleMaps(HtmlContainer) |
90 | } | 90 | } |
91 | 91 | ||
92 | // Quick hack to style lines inside code block | ||
93 | const addClassToCodeLines = () => { | ||
94 | const lines = cm.getLineHandle(0).parent.lines | ||
95 | let insideCodeBlock = false | ||
96 | lines.forEach((line, index) => { | ||
97 | if (line.text.match(/^````*/)) { | ||
98 | insideCodeBlock = !insideCodeBlock | ||
99 | } else if (insideCodeBlock) { | ||
100 | cm.addLineClass(index, "text", "inside-code-block") | ||
101 | } else { | ||
102 | cm.removeLineClass(index, "text", "inside-code-block") | ||
103 | } | ||
104 | }) | ||
105 | } | ||
106 | addClassToCodeLines() | ||
107 | |||
92 | // Re-render HTML by editor content | 108 | // Re-render HTML by editor content |
93 | cm.on("change", () => { | 109 | cm.on("change", (_, obj) => { |
94 | markdown2HTML(HtmlContainer, editor.value()) | 110 | markdown2HTML(HtmlContainer, editor.value()) |
95 | createDocLinks(HtmlContainer) | 111 | createDocLinks(HtmlContainer) |
112 | addClassToCodeLines() | ||
96 | }) | 113 | }) |
97 | // }}} | 114 | // }}} |
98 | 115 | ||