Hexo使用注入器在页面增加自定义代码
目前使用的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 的页面)
评论
评论插件加载失败
正在加载评论插件