鍍金池/ 問(wèn)答/HTML/ hexo中的遇到反引號(hào)`解析 asset_img 標(biāo)簽插件會(huì)失敗

hexo中的遇到反引號(hào)`解析 asset_img 標(biāo)簽插件會(huì)失敗

今天寫(xiě)博客的時(shí)候遇到了個(gè)玄學(xué)問(wèn)題... 過(guò)來(lái)請(qǐng)教一下
clipboard.png
clipboard.png
圖一為編輯器上代碼, 圖二為解析后的文字

后來(lái)?yè)Q了句話(huà)測(cè)試, 圖片能正常顯示, 如下圖

clipboard.png
clipboard.png

然后將問(wèn)題定位到 ` 字符, 進(jìn)行測(cè)試后發(fā)現(xiàn)單單把符號(hào)清除圖片還是不會(huì)解析出來(lái)的
clipboard.png
clipboard.png

最后發(fā)現(xiàn)還是得要用到`, 另外隔行也沒(méi)有效果, 不知是哪里起了沖突, 請(qǐng)教一下各位dalao

clipboard.png
clipboard.png

回答
編輯回答
淚染裳

這是hexo的潛在Bug, 更新webpack包后即可修復(fù). npm update

我發(fā)現(xiàn)這個(gè)問(wèn)題是由一個(gè)潛在的bug造成的。
合并請(qǐng)求#2461(提交5134cba)使錯(cuò)誤更容易實(shí)現(xiàn)。
為了修復(fù)這個(gè)bug,把一個(gè)正則表達(dá)式改為非貪婪的。
https://github.com/hexojs/hex...
JavaScript

diff --git a/lib/extend/tag.js b/lib/extend/tag.js
index 1222b01..372bd9c 100644
--- a/lib/extend/tag.js
+++ b/lib/extend/tag.js
@@ -62,7 +62,7 @@ Tag.prototype.render = function(str, options, callback) {
   var env = this.env;

   return new Promise(function(resolve, reject) {
-    str = str.replace(/(?:<pre>)?<code.*>[\s\S]*?<\/code>(?:<\/pre>)?/gm, escapeContent);
+    str = str.replace(/(?:<pre>)?<code.*?>[\s\S]*?<\/code>(?:<\/pre>)?/gm, escapeContent);
     env.renderString(str, options, function(err, result) {
       if (err) return reject(err);
       resolve(result.replace(rPlaceholder, function() {
2018年6月17日 06:49