fluid-dev / hexo-theme-fluid

:ocean: 一款 Material Design 风格的 Hexo 主题 / An elegant Material-Design theme for Hexo
https://hexo.fluid-dev.com/
GNU General Public License v3.0
7.05k stars 1.11k forks source link

折疊塊內部的行內程式碼區塊不會跳脫 #1091

Open zen8841 opened 1 month ago

zen8841 commented 1 month ago

请确认

Bug 描述

在折疊塊內部使用行內程式碼時,如果其中包含<code>的標簽,並不會將其跳脫,會導致在這個折疊塊結束後都無法使用行內程式碼

复现步骤

该 Bug 复现步骤如下:

  1. 新建全新的hexo安裝fluid主題
  2. 對任何一篇文章修改,加入以下的內容
    
    {% fold info @title %}
    `<code>`

test

{% endfold %}

test


4. 這時不管hexo g或是hexo s都會報錯

Template render error: (unknown path) unexpected end of file at Object._prettifyError (-/test/node_modules/nunjucks/src/lib.js:32:11) at Template.render (-/test/node_modules/nunjucks/src/environment.js:442:21) at Environment.renderString (-/test/node_modules/nunjucks/src/environment.js:313:17) at -/test/node_modules/hexo/dist/extend/tag.js:206:22 at tryCatcher (-/test/node_modules/bluebird/js/release/util.js:16:23) at Promise.fromNode.Promise.fromCallback (-/test/node_modules/bluebird/js/release/promise.js:209:30) at Tag.render (-/test/node_modules/hexo/dist/extend/tag.js:205:35) at Object.onRenderEnd (-/test/node_modules/hexo/dist/hexo/post.js:403:32) at -/test/node_modules/hexo/dist/hexo/render.js:77:29 at tryCatcher (-/test/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (-/test/node_modules/bluebird/js/release/promise.js:547:31) at Promise._settlePromise (-/test/node_modules/bluebird/js/release/promise.js:604:18) at Promise._settlePromise0 (-/test/node_modules/bluebird/js/release/promise.js:649:10) at Promise._settlePromises (-/test/node_modules/bluebird/js/release/promise.js:729:18) at _drainQueueStep (-/test/node_modules/bluebird/js/release/async.js:93:12) at _drainQueue (-/test/node_modules/bluebird/js/release/async.js:86:9) at Async._drainQueues (-/test/node_modules/bluebird/js/release/async.js:102:5) at Async.drainQueues (-/test/node_modules/bluebird/js/release/async.js:15:14) at process.processImmediate (node:internal/timers:478:21)


5. 如果刪除折疊塊外部的行內程式碼就可以正常渲染
6. 如果將折疊塊移除也可以正常渲染

#### 暫時解決方法
在出問題的行內程式碼後方將其補全

{% fold info @title %} <code>

test

{% endfold %}

test