From 7ea9bb37a52b8582a6ad0fa8b134f99ca4a9ae93 Mon Sep 17 00:00:00 2001 From: brecert <11599528+Brecert@users.noreply.github.com> Date: Tue, 12 Nov 2019 18:00:13 -0500 Subject: [PATCH] added syntax highlighting --- src/components/app/MessageTemplate.vue | 1 - src/utils/markdown-rules/codeblock.js | 9 ++++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/app/MessageTemplate.vue b/src/components/app/MessageTemplate.vue index 1a42805..9609f27 100644 --- a/src/components/app/MessageTemplate.vue +++ b/src/components/app/MessageTemplate.vue @@ -21,7 +21,6 @@
{{ this.$props.username }}
{{ getDate }}
-
diff --git a/src/utils/markdown-rules/codeblock.js b/src/utils/markdown-rules/codeblock.js index 26c1b62..7f5d1bf 100644 --- a/src/utils/markdown-rules/codeblock.js +++ b/src/utils/markdown-rules/codeblock.js @@ -1,4 +1,5 @@ import * as SimpleMarkdown from 'simple-markdown' +import hljs from 'highlight.js' export default (order) => { return { order: order++, @@ -16,7 +17,13 @@ export default (order) => { return { html: function(node, output) { const className = node.lang ? `language-${node.lang}` : undefined - const codeblock = SimpleMarkdown.htmlTag("div", SimpleMarkdown.sanitizeText(node.content), { + let content = SimpleMarkdown.sanitizeText(node.content) + if(node.lang) { + content = hljs.highlight(node.lang, node.content, true).value + } + + + const codeblock = SimpleMarkdown.htmlTag("div", content, { class: "codeblock" })