Hexo使用
博客写文章常用的 hexo 指令
hexo init 指令
该指令用于新建一个hexo框架的博客网站,若没有指定文件夹位置,默认在当前文件夹创建网站。
语法为:
hexo init [folder]
指令运行后,会生成如下文件:

- 模板文件:用来存放自定义的文章模版文件,每次写作可按照模板生成初始文章。
- 资源文件夹:用来存放页面文件和文章文件,包括标签、分类、文章、图片等资源。
- 主题文件夹:用来存放支持 hexo 框架的主题,如:next 主题、butterfly 主题等。
- 依赖文件夹:用来存放下载的依赖,是一些在主题配置文件中配置的额外功能,如:KaTex 公式、文章搜索等。
hexo new 指令
该指令用于生成一篇新文章,可以指定自定义的模板来生成。默认使用 _config.yml 中的 default_layout 来生成。
语法为:
hexo new [layout] <title>
标题含有空格时需要使用引号括起来。
hexo new "this is a title"
| 参数 | 描述 |
|---|---|
| -p,- -path | 自定义新文章的路径 |
| -r,- -replace | 存在同名文章,则替换 |
| -s,- -slug | 文章的slug,作为新文章的文件名和发布后的URL |
hexo new page --path about/me "About me"
如上指令会创建一个 source/about/me.md 的page 文件。
hexo 生成指令
该指令用于生成静态文件,一般与 hexo 部署指令结合使用。
语法为:
hexo generate 或者缩写为 hexo g
hexo 部署指令
该指令用于部署网站,将本地文件上传到服务器中,作为附属参数与 hexo g 使用。
语法为:
hexo deploy 或者结合使用 hexo g -d
hexo 调试指令
该指令用于部署网站之前,在本地对博客进行调试,默认访问网址为:http://localhost:4000/ 。
使用该指令之后,对本地文件进行修改后,一般刷新网页就可以预览效果。如果没有生效,一般需要使用 hexo clean 清除数据之后,重新使用 hexo s 指令。
语法为:
hexo server 或者缩写为 hexo s
| 选项 | 描述 |
|---|---|
| -p,- -port | 重设端口 |
| -s,- -static | 只使用静态文件 |
| -l,- -log | 启动日记记录,使用覆盖记录格式 |
hexo 清理指令
该指令用于清除缓存文件( db.json )和已生成的静态文件( public )。一般在 hexo s 和 hexo g 指令之前使用。
语法:
hexo clean
hexo 扩展
hexo 还支持一些特殊的标签插件,用于在写作过程中实现不同的功能。这些标签可以在文章中快速插入特定内容,并且不受任何书写语法的限制,标签插件永远可用,语法也是一致的。
引用块
用于在文章中插入引言,可以包含作者、来源和标题。
语法:
1
2
3{% blockquote [author[, source]] [link] [source_link_title] %}
content
{% endblockquote %}示例:
不提供参数,输出普通的引用块
1
2
3{% blockquote %}
穷且益坚,不坠青云之志。
{% endblockquote %}穷且益坚,不坠青云之志。
引用作者以及来源
1
2
3{% blockquote 李白,将进酒 %}
烹羊宰牛且为乐,会须一饮三百杯。
{endblockquote %}烹羊宰牛且为乐,会须一饮三百杯。
引用网络文章
1
2
3{% blockquote Seth Godin http://sethgodin.typepad.com/seths_blog/2009/07/welcome-to-island-marketing.html Welcome to Island Marketing %}
Every interaction is both precious and an opportunity to delight.
{% endblockquote %}Every interaction is both precious and an opportunity to delight.
代码块
用于在文章中插入代码
语法:
1
2
3{% codeblock [title] [lang:language] [url] [link text] [additional options] %}
code snippet
{% endcodeblock %}可以通过 option:value 的方式来指定额外选项,如:line_number:false first_line:5
| 额外选项 | 描述 | 默认值 |
|---|---|---|
| line_number | 显示行号 | true |
| line_threshold | 代码块行数超过该阈值,才显示行数 | 0 |
| highlight | 启动代码高亮 | true |
| first_line | 指定第一个行号 | 1 |
| mark | 突出要特定显示的行,每个值用逗号隔开,可用-表示范围。如: mark:1,4-7 | |
| wrap | 用 <table> 包裹代码块 |
true |
示例:
普通代码块
1 | {% codeblock %} |
1 |
|
指定语言的代码块
1 | {% codeblock lang:python %} |
1 |
|
附加说明
1 | {% codeblock this is a description %} |
1 |
|
Link
用于在文章中插入链接,并自动给外部链接添加 target=_blank 属性
语法:
1
{% link text url [external] [title] %}
示例:
这是一个百度链接
hexo 资源文件夹
这个功能主要是为了更好的管理博客资源,如:图片以及其他资源。打开这个功能会使得每次使用hexo 生成一篇新文章时,自动在同目录下创建一个同名的文件夹用来存放文件相关资源。
打开该功能需要将 _config.yml 中的 post_asset_folder 选项设为 true 。
1 |
|
打开这个功能后,也推荐修改 hexo 配置文件中的 new_post_name 字段,来对文章进行更好的管理。可以将其参数设置为 :year-:month-:day-:title.md ,通过日期来对文章进行管理。其他参数如下:
| 变量 | 描述 |
|---|---|
| :title | 标题(小写,空格会被替换为 - ) |
| :year | 建立的年份 |
| :month | 建立的月份,前面包含0,如:02 |
| :i_month | 建立的月份,前面不包含0,如:2 |
| :day | 建立的日期,前面包含0,如:05 |
| :i_day | 建立的日期,前面不包含0,如:5 |




