hexo中的遇到反引号`解析 asset_img 标签插件会失败

发布于 2022-09-06 05:02:56 字数 1327 浏览 13 评论 0

今天写博客的时候遇到了个玄学问题... 过来请教一下
clipboard.png
clipboard.png
图一为编辑器上代码, 图二为解析后的文字

后来换了句话测试, 图片能正常显示, 如下图

clipboard.png
clipboard.png

然后将问题定位到 ` 字符, 进行测试后发现单单把符号清除图片还是不会解析出来的
clipboard.png
clipboard.png

最后发现还是得要用到`, 另外隔行也没有效果, 不知是哪里起了冲突, 请教一下各位dalao

clipboard.png
clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时常饿 2022-09-13 05:02:56

这是hexo的潜在Bug, 更新webpack包后即可修复. npm update

我发现这个问题是由一个潜在的bug造成的。
合并请求#2461(提交5134cba)使错误更容易实现。
为了修复这个bug,把一个正则表达式改为非贪婪的。
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() {
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文