# 写一个 hexo 插件
Table of Contents
黑幕,绝对有黑幕!
今天在尝试美化hexo博客的突然灵光一现,然后就把我之前因为每次都要写 { % raw % } 这样的麻烦的hexo外挂标签语法而不怎么用的黑幕功能做成了插件。
好吧简单说就是把{% heimu 这个 标题在这 %}写成了一个插件。
是不是很眼熟?{% heimux 像这样的事情…… 后面忘了总之加入绝地潜兵 %}很正常,因为在萌娘百科就有这样的效果。
好的,那么我怎么用呢?
你可以参照FishCat233/hexo-tag-plugins-heimu: 适用于 Hexo 的黑幕标签插件
或者更加省流一点,在你的 hexo 博客目录执行这个:
npm install hexo-tag-plugins-heimu --save然后每当你想用使用黑幕的时候,{%heimu 黑幕内容 标题%} 这样就可以变成 -> {%heimu 黑幕内容 标题%},其中标题可以省略不写,默认的是「你知道的太多了」这个。(或许晚些时候我会写个读取配置的版本能够设置默认标题,但是现在!{%heimu 先鸽!%})
应该不会有人在意的原理吧?
查文档呗,看看hexo怎么写插件。首先是hexo自带的功能标签插件(Tag Plugins),也就是{% %}这样的语法。
然后参照插件这章知道怎么写脚本。让插件注册一个渲染器来处理自定义的{% heimu %}标签,配合注入器(Injector)在网页标签后面注入黑幕配套的css就可以达到这样的效果了。
当然还加入了npm和cdn的要素,不过这都是后话了。
源代码可以在github上面看。
实现这个的代价是?
代价就是:累坏我了。
代价是不如之前通过修改主题注入css、{%raw%}直接写html那么灵活,因为hexo的标签插件内部不能混合markdown语法。
后续:更多style支持以及快捷划线
锵锵锵~
1.0.2干了这个:
-
现在支持语法
{% heimu 黑幕内容 [标题] [style] %}style就是css的style。
-
此外还有新的标签
{% heimux %},语法同上,效果是黑幕带删除线 {% heimux 快速删除 %}