From 18f72e56804e1fa5cd7d5305d1b3c04f7cebe14d Mon Sep 17 00:00:00 2001 From: dzruyk Date: Tue, 8 Nov 2022 15:01:01 +0300 Subject: [PATCH 1/2] fix editor-markdown.vue typographer typo --- client/components/editor/editor-markdown.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/components/editor/editor-markdown.vue b/client/components/editor/editor-markdown.vue index 04b5c6aa..f030a834 100644 --- a/client/components/editor/editor-markdown.vue +++ b/client/components/editor/editor-markdown.vue @@ -250,7 +250,7 @@ const md = new MarkdownIt({ html: true, breaks: true, linkify: true, - typography: true, + typographer: true, highlight(str, lang) { if (lang === 'diagram') { return `
` + Buffer.from(str, 'base64').toString() + `
` From 9d4c712b48c71922f844e15cf07bb331e1a9948a Mon Sep 17 00:00:00 2001 From: dzruyk Date: Tue, 8 Nov 2022 15:03:02 +0300 Subject: [PATCH 2/2] fix: markdown preview rendering --- client/components/editor/editor-markdown.vue | 3 +++ server/controllers/common.js | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/client/components/editor/editor-markdown.vue b/client/components/editor/editor-markdown.vue index f030a834..b494221d 100644 --- a/client/components/editor/editor-markdown.vue +++ b/client/components/editor/editor-markdown.vue @@ -816,6 +816,9 @@ export default { this.cm.on('paste', this.onCmPaste) + // Set markdown rendering settings + md.set(siteConfig.mdEditorConfig) + // Render initial preview this.processContent(this.$store.get('editor/content')) diff --git a/server/controllers/common.js b/server/controllers/common.js index 3bcfcd94..c1eae505 100644 --- a/server/controllers/common.js +++ b/server/controllers/common.js @@ -109,6 +109,19 @@ router.get(['/e', '/e/*'], async (req, res, next) => { req.i18n.changeLanguage(pageArgs.locale) + // -> Set Markdown Editor config for preview rendering + const renderers = await WIKI.models.renderers.getRenderers() + const md = _.find(renderers, ['key', 'markdownCore']) + + const keyMaps = { allowHTML: 'html', linebreaks: 'breaks' } + const config = _.transform(md.config, (res, value, key) => { + if (_.has(keyMaps, key)) { + key = keyMaps[key] + } + res[key] = value + }, {}) + _.set(res, 'locals.siteConfig.mdEditorConfig', config) + // -> Set Editor Lang _.set(res, 'locals.siteConfig.lang', pageArgs.locale) _.set(res, 'locals.siteConfig.rtl', req.i18n.dir() === 'rtl')