第一次接触 Hexo 博客系统, 很多东西都靠网上前人的教程跟资料来学习完善. 最近想着给文章页添加权限申明, 网上搜罗了一下发现 hexo-addlink
这个插件可以实现.
但是它的参数跟用法有点不习惯, 于是就复制了作者的主要代码, 稍微修改之后自用.
创建脚本
在博客根目录创建 scripts
文件夹, 并新建脚本 copyright.js
(脚本名字可自定义), 内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| 'use strict';
var hexo = hexo || {}; var config = hexo.config; var copyright = config.copyright;
hexo.extend.filter.register('before_post_render', function (data) { if (!copyright || !config.url || data.layout !== 'post') { return data; }
var domain = config.url; var href = domain + '/' + data.path; var text = copyright.text || '' var hrefText = text .replace('${url}', domain) .replace('${link}', ' [' + href + '](' + href + ') ');
data.content += '\n\n' + hrefText + '\n\n'; });
|
配置暴露了两个参数可供使用, 用法为 ${param}
url
博客地址
link
当前文章地址
修改配置文件
在博客配置文件 _config.yml
中添加申明内容(此处以贪狼的博客作为示例)
1 2 3 4 5
| copyright: text: | <hr>
__本文作者__:[贪狼](${url})<br>__本文地址__:${link}<br>__版权声明__:本博客所有文章除特别声明外,均采用 [CC BY-NC-SA 3.0](https://creativecommons.org/licenses/by-nc-sa/3.0/) 许可协议。转载请注明出处!
|
text
后面的 |
为了保留配置内容的换行, 以内容能被 markdown
正常渲染
结语
至此权限申明的插件就完成了, 如果你有其他参数需求, 可以通过 replace
方法添加新的参数.
如果你有其他脚本需求, 也可以参照官方文档, 在 scripts
下面添加其他脚本来完善博客的功能. (这里吐槽一下官方文档, 没有注明脚本存放的位置, 当时试了 source
文件夹, 并不能用, 最后发现要放在根目录).