xaoxuu / hexo-theme-stellar

内置文档系统的简约商务风Hexo主题,支持大量的标签组件和动态数据组件。
https://xaoxuu.com/wiki/stellar/
MIT License
1.28k stars 317 forks source link

[opt] references 更新后错误 #332

Closed luoxue03 closed 8 months ago

luoxue03 commented 8 months ago

更新[opt] references这个commit后,在生成部署时出现了以下错误:

Error: E:\blog\themes\stellar\layout\post.ejs:35
    33|   <%- partial('_partial/plugins/ai/tianli_gpt') %>
    34| <% } %>
 >> 35| <%- partial('_partial/main/article/article_footer') %>
    36| </article>
    37| <%- partial('_partial/main/article/read_next') %>
    38| <%- partial('_partial/main/article/related_posts') %>

E:\blog\themes\stellar\layout\_partial\main\article\article_footer.ejs:146
    144| }
    145| %>
 >> 146| <%- layoutDiv(); %>

marked(): input parameter is of type [object Object], string expected
Please report this to https://github.com/markedjs/marked.
    at E:\blog\node_modules\marked\lib\marked.cjs:2422:25
    at marked (E:\blog\node_modules\marked\lib\marked.cjs:2524:48)
    at module.exports (E:\blog\node_modules\hexo-renderer-marked\lib\renderer.js:247:20)
    at Render.renderSync (E:\blog\node_modules\hexo\lib\hexo\render.js:115:24)
    at Object.render (E:\blog\node_modules\hexo\lib\plugins\helper\render.js:4:21)
    at Object.markdownHelper (E:\blog\node_modules\hexo\lib\plugins\helper\markdown.js:4:15)
    at refList ("E:\\blog\\themes\\stellar\\layout\\_partial\\main\\article\\article_footer.ejs":33:13)
    at layoutDiv ("E:\\blog\\themes\\stellar\\layout\\_partial\\main\\article\\article_footer.ejs":43:15)
    at eval ("E:\\blog\\themes\\stellar\\layout\\_partial\\main\\article\\article_footer.ejs":158:17)
    at article_footer (E:\blog\node_modules\ejs\lib\ejs.js:703:17)
    at _View._compiledSync (E:\blog\node_modules\hexo\lib\theme\view.js:132:24)
    at _View.renderSync (E:\blog\node_modules\hexo\lib\theme\view.js:59:25)
    at Object.partial (E:\blog\node_modules\hexo\lib\plugins\helper\partial.js:34:15)
    at eval ("E:\\blog\\themes\\stellar\\layout\\post.ejs":77:17)
    at post (E:\blog\node_modules\ejs\lib\ejs.js:703:17)
    at _View._compiled (E:\blog\node_modules\hexo\lib\theme\view.js:136:50)
    at _View.render (E:\blog\node_modules\hexo\lib\theme\view.js:39:17)
    at E:\blog\node_modules\hexo\lib\hexo\index.js:64:21
    at tryCatcher (E:\blog\node_modules\bluebird\js\release\util.js:16:23)
    at E:\blog\node_modules\bluebird\js\release\method.js:15:34
    at RouteStream._read (E:\blog\node_modules\hexo\lib\hexo\router.js:47:5)
    at Readable.read (node:internal/streams/readable:496:12)

在访问时收到了下列错误:

Unhandled rejection Error: E:\blog\themes\stellar\layout\post.ejs:35
    33|   <%- partial('_partial/plugins/ai/tianli_gpt') %>
    34| <% } %>
 >> 35| <%- partial('_partial/main/article/article_footer') %>
    36| </article>
    37| <%- partial('_partial/main/article/read_next') %>
    38| <%- partial('_partial/main/article/related_posts') %>

E:\blog\themes\stellar\layout\_partial\main\article\article_footer.ejs:146
    144| }
    145| %>
 >> 146| <%- layoutDiv(); %>

marked(): input parameter is of type [object Object], string expected
Please report this to https://github.com/markedjs/marked.
    at E:\blog\node_modules\marked\lib\marked.cjs:2422:25
    at marked (E:\blog\node_modules\marked\lib\marked.cjs:2524:48)
    at module.exports (E:\blog\node_modules\hexo-renderer-marked\lib\renderer.js:247:20)
    at Render.renderSync (E:\blog\node_modules\hexo\lib\hexo\render.js:115:24)
    at Object.render (E:\blog\node_modules\hexo\lib\plugins\helper\render.js:4:21)
    at Object.markdownHelper (E:\blog\node_modules\hexo\lib\plugins\helper\markdown.js:4:15)
    at refList ("E:\\blog\\themes\\stellar\\layout\\_partial\\main\\article\\article_footer.ejs":33:13)
    at layoutDiv ("E:\\blog\\themes\\stellar\\layout\\_partial\\main\\article\\article_footer.ejs":43:15)
    at eval ("E:\\blog\\themes\\stellar\\layout\\_partial\\main\\article\\article_footer.ejs":158:17)
    at article_footer (E:\blog\node_modules\ejs\lib\ejs.js:703:17)
    at _View._compiledSync (E:\blog\node_modules\hexo\lib\theme\view.js:132:24)
    at _View.renderSync (E:\blog\node_modules\hexo\lib\theme\view.js:59:25)
    at Object.partial (E:\blog\node_modules\hexo\lib\plugins\helper\partial.js:34:15)
    at eval ("E:\\blog\\themes\\stellar\\layout\\post.ejs":77:17)
    at post (E:\blog\node_modules\ejs\lib\ejs.js:703:17)
    at _View._compiled (E:\blog\node_modules\hexo\lib\theme\view.js:136:50)
    at _View.render (E:\blog\node_modules\hexo\lib\theme\view.js:39:17)
    at E:\blog\node_modules\hexo\lib\hexo\index.js:64:21
    at tryCatcher (E:\blog\node_modules\bluebird\js\release\util.js:16:23)
    at E:\blog\node_modules\bluebird\js\release\method.js:15:34
    at RouteStream._read (E:\blog\node_modules\hexo\lib\hexo\rrouter.js:47:5)
    at Readable.read (node:internal/streams/readable:496:12)

因为我没有修改关于这些文件的内容,所有提个issues问一下。多有叨扰。 在查看这个commit后我修改回了更新前的代码,错误消失。 image

xaoxuu commented 8 months ago

因为 references 写法发生了变化(一般我会在发版的时候写上更新说明)

旧的写法:

references:
  - title: 标题
    url: 链接

新的写法:

references:
  - '[标题](链接)' # 一定要带引号
luoxue03 commented 8 months ago

因为 references 写法发生了变化(一般我会在发版的时候写上更新说明)

旧的写法:

references:
  - title: 标题
    url: 链接

新的写法:

references:
  - '[标题](链接)' # 一定要带引号

大佬,那个新增加的gallery标签是现版本没有实现吗?我跟着文档使用的时候,发现没有任何的反应。 在页面中是空的。 image image

xaoxuu commented 8 months ago

你看看控制台报什么错

xaoxuu commented 8 months ago
image

我这里显示是正常的,用的是 main 分支的代码。

luoxue03 commented 8 months ago
image

我这里显示是正常的,用的是 main 分支的代码。

控制台没有错误信息:(,我打算等您全部更新完了。发版之后我在根据新文档重新搭建了。新功能都相当喜欢。感谢您百忙之中回复😊

luoxue03 commented 8 months ago
image

我这里显示是正常的,用的是 main 分支的代码。

大佬,我经过重新搭建后发现这个画廊功能在我这失效的原因:

  1. 创建了新的博客目录。使用hexo init命令,然后添加博客子模块,pull下博客代码。
  2. 修改添加画廊的代码在页面中,是可以生效的。
  3. 因为hexo在生成以及启动时会报错缺少一些模块。
    Error: Cannot find module 'hexo-fs'
    Require stack:
    - E:\blogtest\themes\stellar\scripts\filters\lib\img_lazyload.js
    - E:\blogtest\themes\stellar\scripts\filters\index.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
    at Module._load (node:internal/modules/cjs/loader:922:27)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:121:18)
    at Object.<anonymous> (E:\blogtest\themes\stellar\scripts\filters\lib\img_lazyload.js:8:12)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at req (E:\blogtest\node_modules\.pnpm\hexo@7.0.0\node_modules\hexo\dist\hexo\index.js:240:31)
    at E:\blogtest\themes\stellar\scripts\filters\index.js:3:50
    at E:\blogtest\node_modules\.pnpm\hexo@7.0.0\node_modules\hexo\dist\hexo\index.js:248:20
    at tryCatcher (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:547:31)
    at Promise._settlePromise (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:604:18)
    at Promise._settlePromise0 (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:649:10)
    at Promise._settlePromises (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:729:18)
    at _drainQueueStep (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:93:12)
    at _drainQueue (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:86:9)
    at Async._drainQueues (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:102:5)
    at Async.drainQueues (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:15:14)
    ERROR Script load failed: themes\stellar\scripts\generators\search.js
    Error: Cannot find module 'hexo-util'
    Require stack:
    - E:\blogtest\themes\stellar\scripts\generators\search.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
    at Module._load (node:internal/modules/cjs/loader:922:27)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at req (E:\blogtest\node_modules\.pnpm\hexo@7.0.0\node_modules\hexo\dist\hexo\index.js:240:31)
    at E:\blogtest\themes\stellar\scripts\generators\search.js:4:23
    at E:\blogtest\node_modules\.pnpm\hexo@7.0.0\node_modules\hexo\dist\hexo\index.js:248:20
    at tryCatcher (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:547:31)
    at Promise._settlePromise (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:604:18)
    at Promise._settlePromise0 (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:649:10)
    at Promise._settlePromises (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:729:18)
    at _drainQueueStep (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:93:12)
    at _drainQueue (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:86:9)
    at Async._drainQueues (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:102:5)
    at Async.drainQueues (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:15:14)
    at process.processImmediate (node:internal/timers:476:21)
    ERROR Script load failed: themes\stellar\scripts\helpers\related_posts.js
    Error: Cannot find module 'hexo-util'
    Require stack:
    - E:\blogtest\themes\stellar\scripts\helpers\related_posts.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
    at Module._load (node:internal/modules/cjs/loader:922:27)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at req (E:\blogtest\node_modules\.pnpm\hexo@7.0.0\node_modules\hexo\dist\hexo\index.js:240:31)
    at E:\blogtest\themes\stellar\scripts\helpers\related_posts.js:7:12
    at E:\blogtest\node_modules\.pnpm\hexo@7.0.0\node_modules\hexo\dist\hexo\index.js:248:20
    at tryCatcher (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:547:31)
    at Promise._settlePromise (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:604:18)
    at Promise._settlePromise0 (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:649:10)
    at Promise._settlePromises (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:729:18)
    at _drainQueueStep (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:93:12)
    at _drainQueue (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:86:9)
    at Async._drainQueues (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:102:5)
    at Async.drainQueues (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:15:14)
    at process.processImmediate (node:internal/timers:476:21)
    ERROR Script load failed: themes\stellar\scripts\filters\lib\img_lazyload.js
    Error: Cannot find module 'hexo-fs'
    Require stack:
    - E:\blogtest\themes\stellar\scripts\filters\lib\img_lazyload.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
    at Module._load (node:internal/modules/cjs/loader:922:27)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at req (E:\blogtest\node_modules\.pnpm\hexo@7.0.0\node_modules\hexo\dist\hexo\index.js:240:31)
    at E:\blogtest\themes\stellar\scripts\filters\lib\img_lazyload.js:8:12
    at E:\blogtest\node_modules\.pnpm\hexo@7.0.0\node_modules\hexo\dist\hexo\index.js:248:20
    at tryCatcher (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:547:31)
    at Promise._settlePromise (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:604:18)
    at Promise._settlePromise0 (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:649:10)
    at Promise._settlePromises (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:729:18)
    at _drainQueueStep (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:93:12)
    at _drainQueue (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:86:9)
    at Async._drainQueues (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:102:5)
    at Async.drainQueues (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:15:14)
    at process.processImmediate (node:internal/timers:476:21)
    ERROR Script load failed: themes\stellar\scripts\filters\lib\img_onerror.js
    Error: Cannot find module 'hexo-fs'
    Require stack:
    - E:\blogtest\themes\stellar\scripts\filters\lib\img_onerror.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
    at Module._load (node:internal/modules/cjs/loader:922:27)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at req (E:\blogtest\node_modules\.pnpm\hexo@7.0.0\node_modules\hexo\dist\hexo\index.js:240:31)
    at E:\blogtest\themes\stellar\scripts\filters\lib\img_onerror.js:8:12
    at E:\blogtest\node_modules\.pnpm\hexo@7.0.0\node_modules\hexo\dist\hexo\index.js:248:20
    at tryCatcher (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:547:31)
    at Promise._settlePromise (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:604:18)
    at Promise._settlePromise0 (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:649:10)
    at Promise._settlePromises (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\promise.js:729:18)
    at _drainQueueStep (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:93:12)
    at _drainQueue (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:86:9)
    at Async._drainQueues (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:102:5)
    at Async.drainQueues (E:\blogtest\node_modules\.pnpm\bluebird@3.7.2\node_modules\bluebird\js\release\async.js:15:14)
    at process.processImmediate (node:internal/timers:476:21)
  4. 所以我执行了npm install ,自动下载了下面的模块,之后在生成,启动后画廊功能就失效了。我想了解一下,下面的内容会有所冲突吗?
    '@adobe'/                   is-binary-path/
    '@tootallnate'/             is-core-module/
    a-sync-waterfall/          is-docker/
    abab/                      is-extglob/
    abbrev/                    is-glob/
    accepts/                   is-number/
    acorn/                     is-plain-object/
    acorn-globals/             is-potential-custom-element-name/
    acorn-walk/                is-wsl/
    agent-base/                isexe/
    ansi-regex/                jake/
    ansi-styles/               js-yaml/
    anymatch/                  js-yaml-js-types/
    archy/                     jsdom/
    argparse/                  jsonparse/
    asap/                      lower-case/
    async/                     marked/
    asynckit/                  micro-memoize/
    balanced-match/            micromatch/
    basic-auth/                mime/
    binary-extensions/         mime-db/
    bluebird/                  mime-types/
    brace-expansion/           min-indent/
    braces/                    minimatch/
    bytes/                     minimist/
    camel-case/                moize/
    chalk/                     moment/
    chokidar/                  moment-timezone/
    color-convert/             morgan/
    color-name/                ms/
    combined-stream/           negotiator/
    command-exists/            nib/
    commander/                 no-case/
    compressible/              normalize-path/
    compression/               nunjucks/
    concat-map/                nwsapi/
    connect/                   on-finished/
    cross-spawn/               on-headers/
    cssom/                     once/
    cssstyle/                  open/
    cuid/                      parse5/
    data-urls/                 parseurl/
    debug/                     pascal-case/
    decimal.js/                path-is-absolute/
    deepmerge/                 path-key/
    define-lazy-prop/          path-parse/
    delayed-stream/            picocolors/
    depd/                      picomatch/
    destroy/                   pretty-hrtime/
    dom-serializer/            prismjs/
    domelementtype/            psl/
    domexception/              punycode/
    domhandler/                querystringify/
    dompurify/                 range-parser/
    domutils/                  readable-stream/
    ee-first/                  readdirp/
    ejs/                       requires-port/
    encodeurl/                 resolve/
    entities/                  rfdc/
    escape-html/               safe-buffer/
    escodegen/                 safer-buffer/
    esprima/                   sax/
    estraverse/                saxes/
    esutils/                   send/
    etag/                      serve-static/
    fast-equals/               setprototypeof/
    filelist/                  shebang-command/
    fill-range/                shebang-regex/
    finalhandler/              source-map/
    form-data/                 sprintf-js/
    fresh/                     statuses/
    fs.realpath/               string_decoder/
    function-bind/             strip-ansi/
    glob/                      strip-indent/
    glob-parent/               stylus/
    graceful-fs/               supports-color/
    has-flag/                  supports-preserve-symlinks-flag/
    hasown/                    symbol-tree/
    hexo/                      text-table/
    hexo-cli/                  through2/
    hexo-front-matter/         tildify/
    hexo-fs/                   titlecase/
    hexo-generator-archive/    to-regex-range/
    hexo-generator-category/   toidentifier/
    hexo-generator-index/      tough-cookie/
    hexo-generator-tag/        tr46/
    hexo-i18n/                 tslib/
    hexo-log/                  universalify/
    hexo-pagination/           unpipe/
    hexo-renderer-ejs/         url-parse/
    hexo-renderer-marked/      util-deprecate/
    hexo-renderer-stylus/      utils-merge/
    hexo-server/               vary/
    hexo-theme-landscape/      w3c-xmlserializer/
    hexo-util/                 warehouse/
    highlight.js/              webidl-conversions/
    html-encoding-sniffer/     whatwg-encoding/
    htmlparser2/               whatwg-mimetype/
    http-errors/               whatwg-url/
    http-proxy-agent/          which/
    https-proxy-agent/         wrappy/
    iconv-lite/                ws/
    inflight/                  xml-name-validator/
    inherits/                  xmlchars/
luoxue03 commented 8 months ago

我发现是hexo-fs所引起的,在安装后则无法正常显示。卸载后则正常。但是很多内容都需要hexofs,

由这个文件所导致的,我在注释掉这个文件中的内容后,可以正常显示画廊。由这个函数处理后<div class="tag-plugin gallery" layout="grid" size="mix" ratio="square"></div>则只会出现这个div,不会出现图片。

我能力实在是不足,没法自己修改这些(实在看不懂)

xaoxuu commented 8 months ago

我测试了一下发现是和 parse_markdown 功能冲突了,关掉它就好了。

因为解析 gallery 里面的图片是通过正则匹配 ![xx](xx) 来识别的,而 parse_markdown 功能则会先把它正则替换成 {% image xxx %}

luoxue03 commented 8 months ago

parse_markdown

麻烦大佬了,关掉之后会影响什么功能吗?

xaoxuu commented 8 months ago

没多大影响,是为了方便那些不想写stellar的image标签的用户设计的,本身也存在难以解决的bug

luoxue03 commented 8 months ago

我测试了一下发现是和 parse_markdown 功能冲突了,关掉它就好了。

因为解析 gallery 里面的图片是通过正则匹配 ![xx](xx) 来识别的,而 parse_markdown 功能则会先把它正则替换成 {% image xxx %}

明白了,万分感谢您。