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')