Hexo的插件嵌入有两种方式,一种是通过脚本(Scripts)的方式引入,一种是通过插件(Packages)的方式将自定义的插件内容发布到npm上。本文主要介绍第二种,如果您的代码很简单,建议您编写脚本,您只需要把 JavaScript 文件放到主题目录的 scripts
文件夹,在启动时就会自动加载。具体操作可参考 Hexo 博客每天自动生成每日早报文章 中2.2相关介绍。
下面是引用官方的一段话,开发Hexo
插件至少要包含 2 个文件:一个是主程序index.js
,另一个是 package.json
,描述插件的用途和所依赖的插件。package.json
中至少要包含 name
, version
, main
属性。
链接直达:https://hexo.io/zh-cn/docs/plugins
如果您的代码较复杂,或是您想要发布到 NPM 上,建议您编写插件。首先,在
node_modules
文件夹中建立文件夹,文件夹名称开头必须为hexo-
,如此一来 Hexo 才会在启动时加载;否则 Hexo 将会忽略它。文件夹内至少要包含 2 个文件:一个是主程序,另一个是
package.json
,描述插件的用途和所依赖的插件。. ├── index.js └── package.json
package.json
中至少要包含name
,version
,main
属性,例如:package.json{ "name": "hexo-my-plugin", "version": "0.0.1", "main": "index" }
一、创建插件项目
创建一个新的目录来存放你的插件项目,文件夹名称开头必须为 hexo-
,例如 hexo-footer-plugin
可在任意目录创建,为方便测试也可直接在Hexo
项目的node_modules
目录下创建
mkdir hexo-footer-plugin
进入该目录
cd hexo-footer-plugin
初始化一个新的 npm 项目
npm init
使用npm init
初始化有操作向导,会引导你一步步输入package.json
文件的不同参数。
也可使用npm init -y
初始化一个仅包含默认参数的package.json
文件
{
"name": "hexo-footer-plugin",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
然后自行修改,例如
{
"name": "hexo-footer-plugin",
"version": "1.0.0",
"description": "A Hexo plugin to add a custom footer with copyright information to posts.",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"hexo",
"plugin",
"footer",
"copyright"
],
"author": {
"name": "Shiguang-coding",
"email": "[email protected]",
"url": "https://blog.shiguang666.eu.org"
},
"license": "MIT",
"dependencies": {
"hexo": "^5.0.0"