1 推荐主题
butterfly 的默认 layout 很好,尤其对于内容比较多的 blog,安装方法如下:
npm install hexo-renderer-pug hexo-renderer-stylus --save
npm install hexo-theme-butterfly
cp node_modules/hexo-theme-butterfly/_config.yml _config.butterfly.yml
vi _config.yml # 修改 theme: butterfly
2 正常显示 Latex 公式
2.1 切换渲染器
切成root权限,安装 pandoc:
apk add pandoc
2.2 安装插件
这个插件能支持 $
号模式的 Latex 公式:
npm install hexo-filter-mathjax
2.3 配置文件
修改_config文件如下:
(我直接把插件 github 说明中的配置文件拷过来了)
mathjax:
tags: none
single_dollars: true
cjk_width: 0.9
normal_width: 0.6
append_css: true every_page: false
packages:
extension_options: {}
- 修改主题配置文件_config.butterfly.yml:
# MathJax
mathjax:
enable: true
per_page: true
3 使用 pandoc 渲染器
切换 hexo-renderer-pandoc 后,公式倒是能正常显示,但是图片,文本格式需要按 pandoc 的 markdown 格式修改,因此,做了批量调整:
- 换行前加两个空格。
- 图片使用绝对路径。
- 标题前两个回车。
- 把本地图片地址变为绝对路径。
4 构建标签和分类界面
4.1 标签界面
$ hexo new page "tags"
$ vi ~/.hexo/source/tags/index.md
加如下内容
---
type: "tags"
layout: "tags"
comments: false
---
4.2 分类界面
$ hexo new page "categories"
$ vi ~/.hexo/source/categories/index.md
加如下内容
---
type: categories
---
4.3 自动生成分类
一般分类在md的文件头中设置,形如:
categories:
- web
- framework
也可以使用自动分类功能,按目录结构生成分类:
安装插件:
npm install hexo-auto-category --save
修改配置文件_config.yml
auto_category:
enable: true
depth:
5 添加搜索功能
5.1 安装插件
npm install hexo-generator-searchdb --save
5.2 修改配置文件
改_config.yml
search:
path: search.xml
field: post
format: html
limit: 10000
修改主题的配置文件_config.butterfly.yml:
local_search:
enable: true
6 显示外链图片
需要在生成网页的 head 中加:
<meta name="referrer" content="no-referrer"/>
我使用 butterfly 主题,只需要在主题配置文件_config.butterfly.yml中修改:
# 插入代码到头部 </head> 之前 和 底部 </body> 之前
inject:
head:
<meta name="referrer" content="no-referrer"/>
bottom:
# - <script src="xxxx"></script>
7 内链跳转
首先,让 hexo 生成的 html 目录结构与 markdown 存储的结构一致,在_config.yml中设置:
permalink: :title/
详见:permalink写法 然后写了程序,批量在 markdown 内链的位置把扩展名 .md 去掉,再把路前面加一个"/"变成绝对路径即可使用。
8 待完成
- 需要支持两个中括号的图片/链接