我刚刚将我的 Hexo 博客更新到了最新版本。更新后,<!-- more --> 标签似乎停止工作。而不是在主页上显示摘录,它只显示所有内容。我正在使用 Next 主题。

我在hexo github上发现了一个问题:https://github.com/hexojs/hexo/pull/1519

这看起来像我遇到的问题。我试图在本地编辑此文件,但没有任何 react ,仍然无法正常工作。

当我直接在 node_modules 中编辑包时,是否有 npm 缓存或需要清除的内容?

谢谢

最佳答案

您是否尝试删除 node_modules 目录并重新运行 npm install

临时解决办法:
你必须通过在你的 "hexo": "hexo.stable.version" 中设置 package.json 来降级到 Hexo 的稳定版本,或者你可以添加你自己的过滤器来完成你主题的 scripts 文件夹中的工作。该文件将在 Hexo 启动时使用。将文件命名为:excerpt.js。完整路径将: your-blog/themes/next/scripts/excerpt.js

var rExcerpt = /<!-- ?more ?-->/;

hexo.extend.filter.register('after_post_render', function(data) {
    var content = data.content;

    if (rExcerpt.test(content)){
        data.content = content.replace(rExcerpt, function(match, index){
            data.excerpt = content.substring(0, index).trim();
            data.more = content.substring(index + match.length).trim();

            return '<a id="more"></a>';
        });
    } else {
        data.excerpt = '';
        data.more = content;
    }
});

它应该工作。

10-07 21:11