首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Hexo如何让内容在生成时替换?

Hexo如何让内容在生成时替换?
EN

Stack Overflow用户
提问于 2017-01-25 20:14:17
回答 1查看 125关注 0票数 1

我需要在生成时替换站点上的文本字符串。

创建了一个文件myGenerateWork.js,并使用节点myGenerateWork.js执行,但不起作用。

这是myGenerateWork.js

代码语言:javascript
复制
var Hexo = require('hexo');

var hexo = new Hexo(process.cwd(), {});

hexo.init().then(function () {

    hexo.extend.filter.register('after_post_render', function(data){
      data.content = data.content.replace(/@(\d+)/, '<a href="http://twitter.com/$1">#$1</a>');
      return data;
    });

    hexo.call('generate', {}).then(function(){
        return hexo.exit();
    }).catch(function(err){
        return hexo.exit(err);
    });
});
EN

回答 1

Stack Overflow用户

发布于 2017-01-30 17:09:32

这是个窃听器。

如果hexo server正在运行,而您执行了generate,则会执行after_post_render过滤器,并且内容替换可以正常工作,但是包含新数据的data.content会被hexo忽略。

解决方案:在执行生成之前,执行"hexo clean“。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41851396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档