Hexo 官网 提供了详细的文档。
本文就一部分最主要的工作进行了记录。
安装
$ npm install -g hexo-cli
$ npm install hexo --no-optional
$ hexo init <folder>
$ cd <folder>
$ npm install
主题
在 Hexo 的网站上就提供了很多主题,默认的主题是 Landscape。
此博客是在 Huno 主题的基础上修改的。
配置
_config.yml 是全局配置文件。
参照 hexo 全局配置文件文档 配置即可。
theme/<theme_name>/_config.yml 是主题的配置文件,参见使用主题的文档配置。
开始写作
新建一个草稿:
$ hexo new draft <file_name>
实际上就是在 source/_draft/ 下新建一个 <file_name>.md 文件。 草稿不会被发布到你的博客上。
使用文本编辑器书写:
$ vim ./source/_draft/<file_name>.md
书写完毕,可将该文转移至发布区。
$ hexo publish post <file_name>
实际上就是将文件从 source/_draft/ 目录下移动到 source/_post 目录下。
本地测试
$ hexo g
$ hexo s
hexo g
生成静态页面。hexo s
启动本地服务器。 可以使用$ hexo clean
清除之前生成的静态文件。
部署到 Github
-
安装 Git 插件:
$ npm install hexo-deployer-git --save
-
在 Github 上新建一个仓库,必须命名为 <user_name>.github.io。user_name 是你在 Github 上的 name。
-
编辑 _config.yml 文件末尾:
deploy: type: git repo: git@github.com:<user_name>/<user_name>.github.io.git branch: master
-
推送博客到 Github:
$ hexo g $ hexo d
即可访问 <user_name>.github.io 访问你的博客。
自定义语法高亮
修改模板文件 theme/huno/layout/layout.ejs:
-
在
<head>
标签中添加<link href="http://cdn.bootcss.com/highlight.js/8.0/styles/monokai_sublime.min.css" rel="stylesheet">
可前往 https://highlightjs.org 下载各种样式的css。
-
在
</body>
标签前添加<script src="http://cdn.bootcss.com/highlight.js/8.0/highlight.min.js"></script> <script >hljs.initHighlightingOnLoad();</script>
可以通过修改 theme/huno/layout/ 中的模板文件自定义你的页面结构。 另外,css 文件位于 themes/huno/source/css/。
后面语法高亮我改为了 prism,同样是在模板文件中配置 css 和 js 文件即可。
Renderer
hexo-renderer-marked 是默认的 renderer,支持和 HTML 标签混编,但是对于 Markdown 语法的解析没有 hexo-renderer-markdown-it 好,有些格式不能被正确解析。
hexo-renderer-markdown-it 默认不支持和 HTML 标签混编。
需要在 hexo 的 _config.yml 文件中添加如下配置,以支持和 HTML 的混编:
markdown:
render:
html: true
卸载原renderer,使用新的renderer
$ npm un hexo-renderer-marked --save
$ npm i hexo-renderer-markdown-it --save
流程图
https://github.com/bubkoo/hexo-filter-flowchart
https://github.com/bubkoo/hexo-filter-sequence