From 1f85b25549b50602380f1745f19e5fe44fe36d6f Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Sat, 6 Jun 2020 11:26:06 +0200 Subject: WIP: markdown --- packages/markdown/src/checkNpmVersions.js | 5 +++++ packages/markdown/src/markdown.js | 9 +++++++++ packages/markdown/src/template-integration.js | 18 ++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 packages/markdown/src/checkNpmVersions.js create mode 100755 packages/markdown/src/markdown.js create mode 100755 packages/markdown/src/template-integration.js (limited to 'packages/markdown/src') diff --git a/packages/markdown/src/checkNpmVersions.js b/packages/markdown/src/checkNpmVersions.js new file mode 100644 index 00000000..350ca549 --- /dev/null +++ b/packages/markdown/src/checkNpmVersions.js @@ -0,0 +1,5 @@ +import { checkNpmVersions } from 'meteor/tmeasday:check-npm-versions'; + +checkNpmVersions({ + 'xss': '1.0.6', +}, 'my:xss'); diff --git a/packages/markdown/src/markdown.js b/packages/markdown/src/markdown.js new file mode 100755 index 00000000..8e003f26 --- /dev/null +++ b/packages/markdown/src/markdown.js @@ -0,0 +1,9 @@ +import marked from '../marked/lib/marked.js'; + +marked.setOptions({ + gfm: true, + tables: true, + breaks: true, +}); + +Markdown = marked; diff --git a/packages/markdown/src/template-integration.js b/packages/markdown/src/template-integration.js new file mode 100755 index 00000000..bd8eec47 --- /dev/null +++ b/packages/markdown/src/template-integration.js @@ -0,0 +1,18 @@ +import sanitizeXss from 'xss'; + +if (Package.ui) { + const Template = Package.templating.Template; + const UI = Package.ui.UI; + const HTML = Package.htmljs.HTML; + const Blaze = Package.blaze.Blaze; // implied by `ui` + + UI.registerHelper('markdown', new Template('markdown', function () { + const self = this; + let text = ''; + if (self.templateContentBlock) { + text = Blaze._toText(self.templateContentBlock, HTML.TEXTMODE.STRING); + } + + return HTML.Raw(sanitizeXss(Markdown(text))); + })); +} -- cgit v1.2.3-1-g7c22