Hexo使用注入器在页面增加自定义代码
JayShao

目前使用的Hexo主题Keep并不支持在页面增加自定义代码,只支持额外加载指定的css或者js文件,这种方式对于想要在页面增加一些特定代码来说不是非常灵活,经过检索发现,Hexo 注入器是 Hexo 5 版本自身加入的一项新功能,所以在所有 Hexo 主题都是支持这个功能的。 注入器可以将 HTML 片段注入生成页面的 <head> 和 <body> 节点中。

编写注入代码,需要在博客的根目录下创建 scripts 文件夹,然后在里面任意命名创建一个 js 文件即可。

例如创建一个 /scripts/example.js,内容为:

1
hexo.extend.injector.register('body_end', '<script src="/jquery.js"></script>', 'default');

上述代码会在生成的页面 </body> 注入加载 jquery.js 的代码。

register 函数可接受三个参数,第一个参数是代码片段注入的位置,接受以下值:

  • head_begin: 注入在 <head> 之后(默认)
  • head_end: 注入在 </head> 之前
  • body_begin: 注入在 <body> 之后
  • body_end: 注入在 </body> 之前

第二个参数是注入的片段,可以是字符串,也可以是一个返回值为字符串的函数。

第三个参数是注入的页面类型,接受以下值:

  • default: 注入到每个页面(默认值)
  • home: 只注入到主页(is_home() 为 true 的页面)
  • post: 只注入到文章页面(is_post() 为 true 的页面)
  • page: 只注入到独立页面(is_page() 为 true 的页面)
  • archive: 只注入到归档页面(is_archive() 为 true 的页面)
  • category: 只注入到分类页面(is_category() 为 true 的页面)
  • tag: 只注入到标签页面(is_tag() 为 true 的页面)
 评论
评论插件加载失败
正在加载评论插件
由 Hexo 驱动 & 主题 Keep
本站由 提供部署服务