Hexo的外链转内链插件

Hexo的外链转内链插件

这个插件的功能就是把所有的外部链接转换成类似https://cuojue.org/go/#aHR0cDovL2N1b2p1ZS5vcmc=的链接形式

初衷是博客从 typecho 切换到了 Hexo,然后找了一圈都没有这种插件. ( 有一个竟然是用js在前端替换实现的,掩耳盗铃?hexo-external-link ) .最后无奈只能自己写一个了……

使用方法


安装
1
$ npm i hexo-filter-links --save
配置

_config.yml 添加配置

1
2
3
4
5
6
7
links:
enable: true
field: 'site'
exclude:
- 'exclude1.com'
- 'exclude2.com'
- '*.exclude2.com' #1.0.4及以上版本支持
配置项解释
  • enable - 开启或者关闭插件,默认是开 true.
  • field - 设置生效插件范围,一共有两种选项 ‘site’ 和 ‘post’, 默认是全站 site.
    • ‘post’ - 仅在内容页启用
    • ‘site’ - 在全站都启用
  • exclude - 排除不需要转换的域名,绝对匹配,带 www 和不带的是需要加两条.
    • ‘exclude1.com’ 不包括 www.exclude1.comen.exclude1.com.
    • ‘*.exclude2.com’ 包括 www.exclude2.comen.exclude2.com.

更新日志

  • v1.0.4
    • 支持排除通配符域名
  • v1.0.6
    • 修改?(search)为#(hash)避免某些CDN不缓存go页面

总结

参考了官方插件 hexo-filter-nofollow 的实现并继承了它的功能。
也就是本插件也包含了 nofollow 功能。

参考实现:hexo-filter-nofollow

源码地址:GitHub

演示地址:上面两个链接就是啦~