theme-particlex / hexo-theme-particlex

A concise Hexo theme, based on Particle.
MIT License
410 stars 56 forks source link

请教如何添加插件 #94

Closed whiteki08 closed 11 months ago

whiteki08 commented 1 year ago

如题,我想为博客增加番剧界面插件

若使用theme:landscape可以正常访问localhost:4000/bangumi,使用theme:particlex则不能,请问需要修改什么配置。

hexo的报错如下:

Unhandled rejection TypeError: /Users/*/*/themes/particlex/layout/layout.ejs:48
    46|         <%- partial("menu") %>
    47|         <div id="main" :class="loading ? 'into-enter-from': 'into-enter-active'">
>> 48|             <%- partial(type) %>
    49|             <%- partial("footer") %>
    50|         </div>
    51|         <% if (theme.preview.enable) { %>

name must be a string!
    at Object.partial (/Users/*/*/node_modules/hexo/lib/plugins/helper/partial.js:6:39)
    at eval ("/Users/*/*/themes/particlex/layout/layout.ejs":54:17)
    at layout (/Users/*/*/node_modules/ejs/lib/ejs.js:703:17)
    at _View._compiled (/Users/*/*/node_modules/hexo/lib/theme/view.js:136:50)
    at _View.render (/Users/*/*/node_modules/hexo/lib/theme/view.js:39:17)
    at /Users/*/*/node_modules/hexo/lib/theme/view.js:51:25
    at tryCatcher (/Users/*/*/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/Users/*/*/node_modules/bluebird/js/release/promise.js:547:31)
    at Promise._settlePromise (/Users/*/*/node_modules/bluebird/js/release/promise.js:604:18)
    at Promise._settlePromise0 (/Users/*/*/node_modules/bluebird/js/release/promise.js:649:10)
    at Promise._settlePromises (/Users/*/*/node_modules/bluebird/js/release/promise.js:729:18)
    at _drainQueueStep (/Users/*/*/node_modules/bluebird/js/release/async.js:93:12)
    at _drainQueue (/Users/*/*/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/Users/*/*/node_modules/bluebird/js/release/async.js:102:5)
    at Async.drainQueues [as _onImmediate] (/Users/*/*/node_modules/bluebird/js/release/async.js:15:14)
    at process.processImmediate (node:internal/timers:478:21)
zkz098 commented 11 months ago

根据源码来看应该是 hexo-bilibili-bangumi 使用了特殊的页面类型,导致 layout 开头的所有if均未被触发,此时type为undefined,而非string