From dcf26d20a330fccd8381352cebe994d6aece1d14 Mon Sep 17 00:00:00 2001 From: amehime Date: Tue, 6 Oct 2020 18:27:33 +0800 Subject: [PATCH] fix --- lib/renderer/markdown-it-prism/index.js | 12 ++++++++---- package.json | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/renderer/markdown-it-prism/index.js b/lib/renderer/markdown-it-prism/index.js index 23c9548..714a530 100644 --- a/lib/renderer/markdown-it-prism/index.js +++ b/lib/renderer/markdown-it-prism/index.js @@ -2,6 +2,9 @@ const Prism = require('prismjs'); const loadLanguages = require('prismjs/components/'); const pangu = require('pangu'); const LanguagesTip = require('./lang'); +const { escapeHTML, unescapeHTML } = require('hexo-util'); +const escapeSwigTag = str => str.replace(/{/g, '{').replace(/}/g, '}'); +const unescapeSwigTag = str => str.replace(/{/g, '{').replace(/}/g, '}'); loadLanguages.silent = true; @@ -48,7 +51,7 @@ module.exports = function (md, options) { const token = tokens[idx] const info = token.info const text = token.content.trim() - const lang = info.split(" ")[0] + const lang = info.trim().split(" ")[0] var code = null let [langToUse, langShow, prismLang] = selectLanguage(config, lang); @@ -61,13 +64,14 @@ module.exports = function (md, options) { } = getOptions(info.slice(lang.length)); if (prismLang) { - code = Prism.highlight(text.replace(/{/g, '{').replace(/}/g, '}'), prismLang, langToUse).replace(/{/g, '{').replace(/}/g, '}'); + code = Prism.highlight(unescapeSwigTag(text), prismLang, langToUse); } else if(lang == 'raw') { - code = pangu.spacing(text); + code = escapeHTML(pangu.spacing(unescapeSwigTag(text))); langShow = null; } if(code) { + code = escapeSwigTag(code); const lines = code.split('\n'); let content = ''; @@ -103,7 +107,7 @@ module.exports = function (md, options) { } if (lang == 'info') { - return `
${pangu.spacing(text)}
`; + return `
${escapeHTML(pangu.spacing(unescapeSwigTag(text)))}
`; } else { return defaultRenderer(tokens, idx, options, env, self); } diff --git a/package.json b/package.json index 49023bf..71b6b74 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hexo-renderer-multi-markdown-it", - "version": "0.1.4", + "version": "0.1.5", "description": "A Markdown parser for Hexo and auto Minify HTML, CSS, JS.", "main": "index.js", "repository": "https://github.com/amehime/hexo-renderer-multi-markdown-it.git",