本文最后更新于 <span id="expire-date"></span> 天前,文中部分描述可能已经过时。
hexo 必备插件与可选功能 花里胡哨
最近新增
实用必装
短链生成
npm install hexo-abbrlink --save
自动生成短链例如 abbrlink: 18338
(据说此种格式有利于SEO优化)。
如有必要可直接修改Front-matter(文章信息头)进行自定义 abbrlink: 我的文章-my-posts-12138
,尽量使用字母和数字,空格用 -
替代,提升链接可读性。
文章置顶
先 npm uninstall hexo-generator-index --save
再 npm install hexo-generator-index-pin-top --save
在 Front-matter
插入 top:100
,数字越大文章在首页的位置越靠前。
文章加密
npm install --save hexo-blog-encrypt
在文章信息头插入password: mikemessi abstract: 有东西被加密了, 请输入密码查看.
message: 您好, 这里需要密码.
解密后部分元素可能无法正常显示或者表现,见详细配置
文章隐藏
npm install hexo-hide-posts --save
默认 hidden: true
用于隐藏,hidden 可自定义为自己喜欢的名字。
生成feed订阅(RSS)
npm install hexo-generator-feed --save
默认只获取文章摘要或者前140个字符
站点地图 sitemap
自动生成 sitemap.xml
,可提交给搜索引擎(百度拉胯,谷歌和雅虎收录极快,Bing也还行)。搜索 site:loafing.cn
查看被收录情况。
不跟踪外链
npm i hexo-filter-nofollow --save
对SEO友好。 可排除自定义域名。
自动提交链接至搜索引擎
npm install --save hexo-submit-urls-to-search-engine
提交效果不错,但百度放出页面的速度依旧感人,谷歌、必应、雅虎的收录速度很快。
首选网页 canonical
npm install --save hexo-auto-canonical
SEO 友好,为重复网址或重复网页/类似网页指定规范网址。
加进主题的 \themes\cards\layout\_partial\head\index.ejs
<%- autoCanonical(config, page) %> |
比如我这里无论是 http://127.0.0.1:4000/tags/ 、https://coding.loafing.cn/tags/ 还是 https://blog.loafing.cn/tags/ 都自动在网页源码的 </head>
标签之前加入<link rel="canonical" href="https://loafing.cn/tags/">
有利于将搜索结果全部引导至首选域名。
参考:整合重复网址 - Google Search Console
可选功能
可视化编辑
npm install --save hexo-admin
不是很好用,经常 busy
代码压缩
npm install hexo-neat --save
只压缩html就够了吧,去除多余空格和换行。
neat_enable: true |
实测:用手机总共生成153个文件,hexo g
的时间从压缩前的 4.43 秒增至 9.95 秒,生成的文件大小从 4.02 MB 缩至 3.62 MB。
耗费少许生成静态文件的时间,提高页面渲染速度,值得😌
不知道怎样排除 /tags/标签/
和按日期归档这类没多大必要压缩的页面 html 文件,浪费时间🤔
文字上方注释 Ruby
相关介绍见:https://wikipedia.org/wiki/Ruby_character
之前用的 Ruby Character 过于古早,手机安装成功但电脑上使用有问题,弃疗。
加上我已经卸载 hexo 默认的 markdown 渲染器,改用 hexo-renderer-markdown-it(具体使用方法这里不阐述,太长),正好可以试试 markdown-it-rubynpm install markdown-it-ruby --save
站点根目录配置引入插件
markdown: |
用法:{特朗普|川建国}
→ 特朗普{特朗普|chuān jiàn guó}
→ 特朗普{超電磁砲|レールガン}
→ 超電磁砲
如果自己的输入法输入带声调符号的拼音有困难,还可以使用 hexo-pinyin-ruby-marks。npm install hexo-pinyin-ruby-marks
{% pinyin 初音未来|chu1 yin1 wei4 lai2 %}
→ 初音未来
文字遮盖效果 Spoiler
预览效果npm install hexo-spoiler --save
站点根目录配置填写
spoiler: |
{% spoiler option:value text... %}
{% spoiler 默认配置效果 %}
→ 默认配置效果{% spoiler style:blur 糊里糊涂 %}
→ 糊里糊涂{% spoiler style:box 黑不溜秋 %}
→ 黑不溜秋{% spoiler style:box color:red 红光闪闪 %}
→ 红光闪闪
可见 box 颜色遮盖条的高度跟文字尺寸不匹配,显得尴尬,还是用blur吧😌
Spoiler 与 Ruby 二合一
{我爱你|{% spoiler 是真的 %}} |
我爱你
分栏
npm install hexo-tag-common
具体使用说明:Tabs-NexT
有效节省空间 预览
数据可视化工具 Chartjs
Chart.js 介绍
插件预览效果npm install hexo-tag-chart --save
简单展示一下折线图
支持混合重叠,轻便简洁,效果很漂亮,但静态页面改起来好像不太方便😌
盘古之白
npm install hexo-pangu
hexo clean
送给所有中英混输必须加空格的强迫症患者。
(但愿跟其它插件不存在冲突)
為什麼你們就是不能加個空格呢?
https://github.com/vinta/pangu.js
如果你跟我一樣,每次看到網頁上的中文字和英文、數字、符號擠在一塊,就會坐立難安,忍不住想在它們之間加個空格。這個外掛(支援 Chrome 和 Firefox)正是你在網路世界走跳所需要的東西,它會自動替你在網頁中所有的中文字和半形的英文、數字、符號之間插入空白。
漢學家稱這個空白字元為「盤古之白」,因為它劈開了全形字和半形字之間的混沌。另有研究顯示,打字的時候不喜歡在中文和英文之間加空格的人,感情路都走得很辛苦,有七成的比例會在 34 歲的時候跟自己不愛的人結婚,而其餘三成的人最後只能把遺產留給自己的貓。畢竟愛情跟書寫都需要適時地留白。
與大家共勉之。
死链检查
npm install hexo-broken-links-checker --save-dev
npx hexo check-links
喝杯茶等一会儿……
WARN The following links are broken: |
默认配置就够了,偶尔用一次。
二维码 qrcode
效果不美丽npm i hexo-tag-qrcode
{% qrcode "自定义内容" %}
👉
|
悬浮注释 hint
npm install hexo-tag-hint --save
{% hint '这里是正文' '这里是注释 :D' %} |
I'm Groot
碰到单引号 '
需要反斜杠 \
转义
动态终端代码演示
npm install @heowc/hexo-tag-gdemo
介绍及效果预览
用法有些复杂
点击展开
{% gdemo_terminal command [最小高度] [窗口标题] [延迟时间] [提示字符] [唯一id] [高亮语言] %} |
{% gdemo_terminal 'node ./demo' '250px' 'bash' '500' '$' 'demo-teriminal' %} |
用 ;
隔开代码
{% gdemo_terminal 'cd /usr/bin;./node ./demo' '250px' 'bash' '500' '$' 'demo-teriminal' %} |
这个 editor 有些多余的方块 bug
{% gdemo_editor '250px' 'bash' '500' 'demo-editor' %} |
其它
可能有用的插件
稍作介绍
hexo-tag-twentytwenty
处理前/后图片展示,主题冲突,弃用
hexo-charts 预览
Matery 主题中的文章发布统计图、标签统计图、文章分类统计图。
hexo-simple-mindmap 思维导图
将无序列表渲染成思维导图。
感觉定位略尴尬,聊胜于无吧,个人偏向于使用 Xmind 做好思维导图后再导出为 PNG 或者 PDF 放进博客。
hexo-tag-real-time-calculator 计时功能
hexo-tag-ghcode 嵌入在线代码
hexo-tag-remote-code 同上
这个插件就是为了在粘贴gist,repo 里的代码时不需要复制粘贴更新,只需要重新 build 一版就可以。局限就是不能直接加载远程数据,因为那时候考虑到网络的问题,不 build 静态的可能会有些地方访问不了所以就没做(gist 被墙了)。
hexo-tag-googlemaps 谷歌地图
国内可以用这个 bdpostmap
hexo-tag-wikipedia 嵌入维基百科摘要
hexo-tag-kbd 键盘按键
hexo-tag-google-photos-album 谷歌相册(网络问题 😕 )
hexo-infinite-scroll 无限滚动
自欺欺人😅
hexo-tag-easy-charts 用法稍微简单
不如 Chartjs 漂亮
hexo-pwa 缓存策略搞不好,弃疗 😕
yuque-hexo 同步语雀的文章到 Hexo
对语雀的好感不太足,告辞!
hexo-tag-autogallery 从给定目录获取图片并生成相册
https://github.com/dotintegral/hexo-tag-autogallery
hexo-tag-chat 带头像的对话栏
效果见:Chat 标签
作者未给出具体用法。
hexo-tag-color-block 色块展示
写涉及配色的教程估计用得着。
hexo-list-related-posts 基于标签展示相关帖子
帖子多的可以试试
hexo-related-posts 通过推荐相关内容来增加访客在自己网站的逗留时间
比上面的插件更全面,全方位比对全站帖子的标题、标签、分类、关键词……甚至正文的文字,找到帖子之间的相似性。
hexo-tag-gitgraph 博客系统git分支图
不明白使用场景,作者的 demo 挂了
hexo-tag-search-link 要我帮你百度一下吗?
简直鸡肋到爆炸,[]()
这样的 Markdown 语法已经够方便了。
hexo-tag-demo 在正文展示 demo ,想不出实际意义有多大。
hexo-tag-config
自动将 _config.yml
的内容放进 post/page.
**慎用!!!**配置文件里可能包含一些不应当泄露的密码、密钥。
hexo-plugin-socials 展示不同平台的动态
包含:豆瓣、知乎、Github、QQ空间、哔哩哔哩……
hexo-web-push-notification 博客更新通知
我
tm
的通知还嫌不够多吗?
hexo-generator-json-feed
生成 json
格式的文件而不是 xml
用以保存 feed 数据
json 格式似乎更通用。kwgt 用户有福了。
hexo-generator-json-content 同上
只不过生成的是 posts 和 pages 的内容
有 search.json 的话好像用不着这个。
hexo-wordcount 字数统计及阅读时长预计
不擅长排版的人表示不知道放在什么位置才不影响主题的美观😌
hexo-memorial-day 哀悼日全站变成灰色
直接修改 head.ejs 或者用 Hexo 5 注入器 也能实现,插件能少装就少装吧。
hexo-cdn-jsdelivr CDN加速
适合 Github 用户,但Jsdelivr 对待博客资源引用的策略可能产生变化,继续保持观望。
hexo-test-utils 测试 Hexo 插件的沙箱
老实说,不会用😅,我选择另外创建一个 test 文件夹进行 hexo 初始化,然后在里面测试插件。
评论