写博客时最烦的不是内容,而是「那个字段名叫什么来着」「标签外挂怎么写的」。这篇把常用语法、Front-matter 字段和命令整理成一页速查表,写文章时打开复制即可。
一、写文章的完整流程
1 2 3 4
| npx hexo new "文章标题"
npx hexo server npx hexo clean && npx hexo g && npx hexo d
|
想先写不发布:
1 2 3
| npx hexo new draft "草稿标题" npx hexo server --draft npx hexo publish "草稿标题"
|
二、Front-matter 字段速查
文件顶部 --- 之间的是 Front-matter,决定文章的元信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| --- title: 文章标题 date: 2024-01-05 16:09:01 updated: 2024-02-01 10:00:00 categories: - 前端开发 tags: - React - 前端 cover: /img/cover.jpg description: 一句话摘要 slug: react-study-notes abbrlink: 7b2d9f36 sticky: 1 swiper_index: 1 comments: true toc: true top_img: false keywords: React, Hooks ---
|
categories 与 tags 的写法区别:一篇文章通常只有一个分类,但可以有多个标签。Butterfly 里分类写多个会形成层级(父分类 → 子分类),不是并列关系。
三、Markdown 语法速查
| 效果 |
语法 |
| 标题 |
# 一级 ## 二级 … ###### 六级 |
| 加粗 / 斜体 |
**粗体** / *斜体* |
| 删除线 |
~~删除~~ |
| 行内代码 |
`code` |
| 代码块 |
三个反引号 + 语言名(如 ```js) |
| 链接 |
[文字](https://url) |
| 图片 |
 |
| 引用 |
> 内容 |
| 无序列表 |
- 项 |
| 有序列表 |
1. 项 |
| 任务列表 |
- [x] 已完成 / - [ ] 未完成 |
| 表格 |
` |
| 分割线 |
--- |
| 脚注 |
正文[^1] + [^1]: 注释内容 |
| 转义 |
\# 输出 # 而不是标题 |
代码块示例(务必标注语言,才有语法高亮):
四、Butterfly 专属标签外挂
这是 Butterfly 比普通 Markdown 好看的关键,写在正文里即可。
提示框 note
1 2 3 4
| {% note info %}普通提示{% endnote %} {% note success %}成功 / 推荐做法{% endnote %} {% note warning %}注意事项{% endnote %} {% note danger %}危险操作警告{% endnote %}
|
样式(可选,加在类型后面):simple / modern / flat / disabled,还可加图标:
1 2 3
| {% note success flat %} 支持多行内容与 **Markdown** 语法 {% endnote %}
|
折叠块 hide
1 2 3 4
| {% hideInline 被隐藏的内容, 点击显示 %} {% hideBlock 折叠标题 %} 里面可以是任意 Markdown {% endhideBlock %}
|
标签页 tabs
1 2 3 4 5 6 7 8
| {% tabs 标签组名 %} <!-- tab macOS@fab fa-apple --> 内容一 <!-- endtab --> <!-- tab Windows@fab fa-windows --> 内容二 <!-- endtab --> {% endtabs %}
|
第二个参数是默认激活第几个(从 0 开始)。
彩色标签 label
1 2 3 4
| {% label 文字 default %} {% label 蓝色 blue %} {% label 粉色 pink %} {% label 红色 red %} {% label 紫色 purple %} {% label 橙色 orange %} {% label 绿色 green %}
|
按钮 btn
1
| {% btn https://example.com, 按钮文字, fas fa-download, outline orange center %}
|
参数依次是:链接、文字、图标、样式(颜色 + outline / center / block / larger)。
时间线 timeline
1 2 3 4 5 6 7 8
| {% timeline 标题 %} <!-- timeline 2024-01-01 --> 第一件事 <!-- endtimeline --> <!-- timeline 2024-06-01 --> 第二件事 <!-- endtimeline --> {% endtimeline %}
|
其它
{% mermaid %}...{% endmermaid %} —— 流程图 / 时序图(需在主题配置里启用 mermaid)
{% gallery %} —— 图片画廊
{% flink %} —— 友情链接卡片
五、图片怎么插
| 方式 |
写法 |
适用 |
| 本地相对路径 |
 |
放 source/img/,最稳 |
| 文章同目录 |
 |
需开启 post_asset_folder |
| 图床 |
 |
推荐,本站用的 PicGo + GitHub |
用图床时建议顺手压缩:照片转 WebP、图标用 SVG。一张 1MB 的图会让首屏明显变慢。
六、命令速查
| 命令 |
作用 |
hexo new "标题" |
新建文章 |
hexo new page "xxx" |
新建页面(tags / categories / about) |
hexo clean(hexo cl) |
清除缓存,改配置后必做 |
hexo generate(hexo g) |
生成静态文件到 public/ |
hexo server(hexo s) |
本地预览 |
hexo deploy(hexo d) |
部署 |
hexo g -d |
生成并部署(合并两步) |
hexo list |
列出所有文章/页面 |
hexo --draft |
显示草稿 |
七、写作小建议
description 一定写 —— 它决定列表页摘要和搜索结果展示,比正文开头更重要
- 配图统一比例 —— 16:9 或 4:3 固定一种,翻页时不会有跳动感
- 代码块标语言 ——
js / bash / yaml / python,高亮后可读性差很多
- 标题层级别跳级 ——
## 下面直接 #### 会让目录结构乱掉
- 长文加目录 —— Butterfly 默认自动生成
toc,只需要保证标题层级规范
- 发布前本地预览一遍 —— 尤其改过 Front-matter 后,避免线上 404 或字段拼写错误
速查表的价值在于「不用记」,需要时 Ctrl + F 一下就够。把它存进书签,写文章会顺手很多。