# 引言
Hexo 主题 Shoka 使用手册,用于个人使用查找。
本站目前运行的是 ShokaX 的定制分支,Markdown 由 hexo-renderer-aether 渲染。手册只记录 当前站点实际可用 的写法和配置,每条语法后面都直接附上渲染效果。
全文分三块:
- Markdown 语法特性:写文章时能用哪些语法,长什么样。按用途分成基础语法、行内样式、内容容器、图片与卡片、代码、图表与公式、题目和 Hexo 标签。
- 设置点:站点配置、文章
Front-matter,以及读者侧的「显示与阅读」面板。 - 本站扩展点:在主题上额外加的功能,有单独文章的直接跳过去看。
# Markdown 语法特性
# 基础语法
常规的 CommonMark / GFM 写法都可以直接用,这里只列几个和默认行为不太一样的地方。
| 语法 | 写法 | 说明 |
|---|---|---|
| 标题 | ## 标题 | 自动生成锚点,并进入右侧目录 |
| 强调 | **粗体**、*斜体* | — |
| 删除线 | ~~删除~~ | |
| 行内代码 | `code` | code |
| 链接 | [文字](url) | 裸链接也会自动转换 |
| 图片 |  | 自动懒加载,点击用查看器放大 |
| 引用 | > 引用 | — |
| 分割线 | --- | — |
站点开启了 breaks: true,段落内的单个换行会直接变成换行,不需要行尾加两个空格。想要一个新段落,还是空一行。
任务列表:
- [x] 写引言
- [ ] 写结语表格支持对齐,也支持多行单元格、合并行和无表头表格:
| 左对齐 | 居中 | 右对齐 |
| :--- | :---: | ---: |
| A | B | C || 左对齐 | 居中 | 右对齐 |
|---|---|---|
| A | B | C |
正文里允许直接写 HTML,下文的题目语法就依赖这一点。
# 行内样式
# 彩色文字
在方括号后面跟上颜色类名:
[红色]{.red} [粉色]{.pink} [橙色]{.orange} [黄色]{.yellow} [绿色]{.green}
[青色]{.aqua} [蓝色]{.blue} [紫色]{.purple} [灰色]{.grey}红色 粉色 橙色 黄色 绿色
青色 蓝色 紫色 灰色
方括号里可以继续写其他 Markdown,比如 [**加粗的蓝字**]{.blue}:加粗的蓝字
# 标签与按键
[默认]{.label} [主要]{.label .primary} [成功]{.label .success}
[信息]{.label .info} [警告]{.label .warning} [危险]{.label .danger}
按 [Ctrl]{.kbd} + [C]{.kbd} 复制,[Esc]{.kbd .red} 退出默认 主要 成功
信息 警告 危险
按 Ctrl + C 复制,Esc 退出
按键是 [Ctrl]{.kbd},不是 [[Ctrl]]。花括号里的属性写法同样适用于图片,例如 {width="60%"}。
# 插入、高亮与上下标
++插入的内容++,==高亮的内容==,H~2~O,2^10^ = 1024插入的内容,高亮的内容,H2O,210 = 1024
# 黑幕
这里有个!!剧透!!,还有个!!模糊的剧透!!{.blur}这里有个剧透,还有个模糊的剧透
鼠标移上去才显示,悬停提示统一是「你知道得太多了」。
# 注音
{星空^ほしぞら},{漢字^かん.じ},{重点^*}星空,漢字,重点
用 . 按字拆分注音,* 表示每个字上方加着重点。
# 缩写与表情
*[GFM]: GitHub Flavored Markdown
GFM 是 GitHub 扩展的 Markdown 方言 :smile: :rofl:GFM 是 GitHub 扩展的 Markdown 方言 😄 🤣
定义好缩写后,正文中出现的同名词会自动加上悬停解释。
# 脚注与行内批注
脚注用 [^标识] 引用。行内批注用 [+术语],点击术语会在旁边弹出解释。定义可以写在文章任意位置。脚注统一列在文末,批注只在弹窗里显示,脚本没加载时才会在文末列出「文中批注」:
这篇手册采用[+渐进增强]的写法,渲染器是 aether[^renderer]。
[^renderer]: 即 `hexo-renderer-aether`,基于 markdown-it 和 Shiki。
[+渐进增强]: 先保证正文与链接可用,再添加弹窗等交互。
脚本没加载时,点击会跳到文末的「文中批注」。这篇手册采用渐进增强的写法,渲染器是 aether1。同一个批注可以重复引用:渐进增强。
没有定义的引用会原样显示。只有定义、没有被引用的条目不会被列出。
# 内容容器
# 提示块
::: 后面接类型,一共六种:
:::default
默认
:::
:::primary
主要
:::default 默认
primary 主要
success 成功
info 信息
warning 警告
danger 危险
直接写 :::info,不要写成 :::note info。
# 折叠块
+++ 后面接可选的样式和标题,默认收起:
+++primary 点击展开
折叠的内容,里面可以继续写代码块、列表等。
+++点击展开
折叠的内容,里面可以继续写代码块、列表等。
不带样式的折叠
样式可选 primary、success、info、warning、danger。省略样式时在 +++ 后留一个空格。
适合收起长代码,曲线目录 一文的完整源码就是这么收起来的。
# 标签页
连续的 ;;; 块,ID 相同的会合并成一组标签页:
;;;demo Windows
`winget install OpenJS.NodeJS`
;;;
;;;demo macOS
`brew install node`
;;;winget install OpenJS.NodeJS
brew install node
;;; 后面先写分组 ID,再写标签标题。
# 定义列表
Hexo
: 快速、简洁的静态博客框架
ShokaX
: 基于 Shoka 的 Hexo 主题- Hexo
- 快速、简洁的静态博客框架
- ShokaX
- 基于 Shoka 的 Hexo 主题
# 步骤流
:::steps 里放一个有序列表,每个最外层列表项就是一步。同一步里的段落、代码和子列表要和正文对齐缩进:
:::steps[发布一篇博客]
1. **创建文章**
在博客根目录执行:
```bash
hexo new "我的新文章"
```
2. **编写并预览**
- 检查图片与链接。
- 检查手机上的阅读效果。
3. **生成静态文件**
:::- 创建文章
在博客根目录执行:hexo new "我的新文章" - 编写并预览
- 检查图片与链接。
- 检查手机上的阅读效果。
- 生成静态文件
标题也可以写成 {title="标题"},start 用来接着上一段流程继续编号:
:::steps{title="继续检查" start="4"}
1. **确认生成结果**:查看页面是否正常。
2. **发布更新**:按原有方式部署。
:::- 确认生成结果:查看页面是否正常。
- 发布更新:按原有方式部署。
容器里只能放一个有序列表。结构不对时按普通 Markdown 显示,内容不会丢。
# 文件树
用缩进列表写,每多两个空格表示下一层:
:::file-tree{title="博客示例目录"}
- source
- _posts
- **hello.md** # 重点关注的文章
- images/ # 点开这个目录
- cover.webp
- drafts/
- themes
- shokax-src
- ++ markdown-blocks.styl # 新增样式
- -- legacy.css # 准备移除
- package.json # 依赖清单
:::source
_posts
- hello.md重点关注的文章
images点开这个目录
- cover.webp
- drafts
themes
shokax-src
- markdown-blocks.styl新增新增样式
- legacy.css删除准备移除
- package.json依赖清单
| 写法 | 效果 |
|---|---|
- src 下面继续缩进 | 目录,默认展开 |
- src/ 下面继续缩进 | 目录,默认折叠 |
- empty/ 没有子项 | 空目录 |
- ++ new.js / - -- old.js | 新增 / 删除标记 |
- **main.js** | 强调文件名 |
- main.js # 入口文件 | 名称旁的说明,必须是「空格 + # + 空格」,C# 不会被误判 |
tree 命令输出的文本也能直接贴进 file-tree 代码块,支持 ├──、└──、│ 和 Windows 的 +---、\---、|。icon="simple" 使用统一颜色的图标,省略时按文件类型着色:
```file-tree title="构建后的文件" icon="simple"
public
├── css/
│ ├── app.css
│ └── post.css
├── js/
│ └── app.js
└── index.html
```public
css
- app.css
- post.css
js
- app.js
- index.html
# 参数卡片
field-group 是可选的外层分组,套在外面时要比内层多写一个冒号。@type 写类型、@required / @optional 标记是否必填、@default 写默认值,元信息后空一行再写说明:
::::field-group
:::field title
@type string
@required
文章标题,写一段简洁清楚的文字。
:::
:::field toc_style {type="string" optional default="default"}
目录样式,可选 `default` 或 `curve`,未设置时沿用主题配置。
:::
::::titlestring必填文章标题,写一段简洁清楚的文字。
toc_stylestring可选默认值default
目录样式,可选 default 或 curve,未设置时沿用主题配置。
第二张卡片演示了把参数写在开头花括号里的写法,两种写法可以混用。
# 图片与卡片
# 图片网格
把图片放进 :::grid,每张单独一行。点开任意一张都用文章的图片查看器看原图:
:::grid{columns="2" aspect="16/9"}


:::

| 参数 | 可用值 | 默认值 |
|---|---|---|
columns | 1 到 6 的整数 | 3 |
aspect | 正数比例,例如 16/9、1/1 | cover 为 16/10,contain 为原图比例 |
fit | cover 裁剪填满,contain 完整显示 | cover |
窄于 768px 时最多两列,窄于 480px 时一列。容器里混入了图片以外的文字时,整块按普通 Markdown 显示。contain 适合不能裁剪的截图,不写 aspect 时按原图比例显示,不会留白:
:::grid{columns="2" fit="contain"}


:::

# GitHub 仓库卡片
repo 填「所有者/仓库名」,不要粘贴完整网址:
::github{repo="zhangyxXyz/hexo-theme-shokaX"}- Stars
- —
- Forks
- —
- Issues
- —
卡片接近可视区域时才读取 GitHub 公开接口,补充简介、Stars、Forks、Issues、语言和许可证。同一仓库在本次浏览中缓存 30 分钟。请求失败时保留静态说明和链接,不会反复重试。
网络不稳定或不想访问接口时,写一段静态说明并加 fetch="false":
::github{repo="theme-shoka-x/hexo-theme-shokaX" description="本站主题的上游项目。" fetch="false"}仓库在 GitHub 设置里填了 Website 时,卡片会自动显示「项目主页」,没有就不显示。也可以用 homepage 手动指定,手写的地址优先:
::github{repo="zhangyxXyz/hexo-circle-of-friends" description="本站友链朋友圈的抓取与接口服务,部署在 Vercel。" homepage="https://hexo-circle-of-friends-git-main-zzzyxs-projects.vercel.app"}- Stars
- —
- Forks
- —
- Issues
- —
# 友链卡片
{% links %}
- site: StarryNights
owner: Seiun
url: /
desc: 记录代码,也收藏星光。
image: assets/avatar.jpg
color: "#e8608f"
{% endlinks %}记录代码,也收藏星光。
站内图片写站点根目录下的路径,开头不加 /。外部图片直接写完整地址,友链页用的都是完整地址。
列表很长时,可以把数据放进 source 下的 YAML 文件,用 {% linksfile friend-links/_data.yml %} 引入,友链页就是这么做的。
# 代码
# 代码块
代码高亮由 Shiki 在构建时完成,日间和夜间各一套配色。代码块会自动加上:
- 语言名称标题栏和行号。
- 复制、自动换行、全屏三个按钮。
- 超过 15 行时默认折叠,点击展开。
想强调某几行,在代码行末用注释标记,标记本身不会出现在最终页面里:
| 标记 | 效果 |
|---|---|
[!code highlight] | 高亮该行 |
[!code focus] | 聚焦该行,其余行变淡 |
[!code ++] / [!code --] | 新增行 / 删除行 |
[!code error] / [!code warning] | 错误行 / 警告行 |
注释符号跟随语言,JavaScript 写 // [!code ++],Python、YAML 写 # [!code ++]:
const renderer = 'aether'
const theme = 'shoka'
const theme = 'shokax'语言后面写 {1,3} 指定高亮行、写自定义标题,目前都 不生效,标题栏固定显示语言名。
# 代码树
把多个代码块放进 :::code-tree,每个代码块用 title="路径/文件名" 声明它是哪个文件,就会得到一个左侧是文件导航、右侧是代码的小型编辑器。路径里的 / 会自动归成文件夹:
:::code-tree{title="一个主题按钮" height="360px" entry="src/main.js"}
```html title="index.html"
<button class="hello">点我试试</button>
```
```js title="src/main.js"
const button = document.querySelector('.hello')
button.addEventListener('click', () => {
button.textContent = '你好,ShokaX!'
})
```
```css title="src/button.css"
.hello {
padding: 10px 18px;
border: 0;
border-radius: 12px;
color: white;
background: linear-gradient(135deg, #f9709e, #819ee8);
}
```
:::<button class="hello">点我试试</button>const button = document.querySelector('.hello')
button.addEventListener('click', () => {
button.textContent = '你好,ShokaX!'
}).hello {
padding: 10px 18px;
border: 0;
border-radius: 12px;
color: white;
background: linear-gradient(135deg, #f9709e, #819ee8);
}点击左侧文件切换代码,右上角可以复制当前文件或全屏阅读。手机上文件导航会放到代码上方。代码树只展示代码,不会执行里面的示例。title="路径" 只在代码树里有文件导航的含义,普通代码块不受影响。
| 参数 | 用途 | 默认值 |
|---|---|---|
title | 顶部名称 | 示例工程 |
height | 桌面端阅读区高度,支持 px、rem、em、vh | 420px |
entry | 默认打开的文件,建议写完整相对路径 | 第一个文件 |
icon | colored 彩色图标或 simple 单色图标 | colored |
也可以在某个代码块的首行末尾加 :active 指定默认文件。entry 和 :active 同时存在时以 entry 为准,没有匹配上就回到第一个文件:
:::code-tree{title="选择默认文件"}
```json title="package.json"
{ "name": "demo" }
```
```js title="main.js" :active
console.log('默认先显示这个文件')
```
:::{ "name": "demo" }console.log('默认先显示这个文件')示例比较多时,可以把准备公开的文件放进博客根目录的 examples/,再用一行指令导入,构建时读取并写进页面:
my-blog
examples
markdown-demo
- main.js
- message.js
styles
- button.css
source
- _posts
::code-tree{dir="/examples/markdown-demo" title="公开的本地示例" entry="main.js"}// 这是可以公开展示的示例,不包含网站真实配置。
import { greeting } from './message.js'
const button = document.querySelector('.hello')
button?.addEventListener('click', () => {
button.textContent = greeting('ShokaX')
})export function greeting(name) {
return `你好,${name}!`
}.hello {
padding: 10px 18px;
border: 0;
border-radius: 12px;
color: white;
background: linear-gradient(135deg, #f9709e, #819ee8);
}也可以写成 @[code-tree title="公开的本地示例" entry="main.js"](/examples/markdown-demo),效果相同。
/examples/ 指博客根目录下的这个文件夹,不是网站 URL。为避免泄露,只能导入它里面的目录,_config.yml、主题目录或博客外的路径都会被拒绝并在页面上提示。导入时会跳过隐藏文件、符号链接、常见的敏感文件名(密钥、证书、带 secret、token、password 的文件等)和不支持的文件类型,上限为 40 个文件、单文件 64 KB、合计 512 KB。文件名普通不代表内容安全,放进去之前请自己确认没有密码、密钥。
修改了被导入的文件后,文章不会自动重新生成,执行 hexo clean 后重新生成即可。examples/ 本身不会发布,只有被指令选中的文件内容会进入页面。
# 图表与公式
# Mermaid 图表
语言写 mermaid 的代码块会画成图,流程图、时序图、甘特图等 Mermaid 支持的图表 都能用。图表滚动到附近时才加载,切换明暗模式会跟着重画:
```mermaid title="写文章的流程"
flowchart LR
A[写文章] --> B{用到新语法?}
B -- 是 --> C[保存后实时预览]
B -- 否 --> D[正常发布]
C --> D
```Ctrl / ⌘ + 滚轮缩放 · 放大后可拖动平移放大后可拖动平移
flowchart LR
A[写文章] --> B{用到新语法?}
B -- 是 --> C[保存后实时预览]
B -- 否 --> D[正常发布]
C --> D时序图:
Ctrl / ⌘ + 滚轮缩放 · 放大后可拖动平移放大后可拖动平移
sequenceDiagram
participant 读者
participant 页面
participant GitHub
读者->>页面: 打开文章
页面->>GitHub: 读取仓库信息
GitHub-->>页面: Stars、Forks
页面-->>读者: 显示仓库卡片标题栏左侧会按语法自动显示图表类型(Flowchart、Sequence、Gantt……,和代码块的语言名一样不做翻译),在语言后面写 title="…" 还能加一个标题,如上面的流程图。右侧工具栏可以缩小、放大、恢复初始视角,还能切换源码和全屏查看。画布支持拖动。按住 Ctrl(Mac 上是 ⌘)再滚动滚轮可以以指针为中心缩放,普通滚轮照常滚动页面。点击画布后还可以用键盘操作:+、- 缩放,方向键平移,0 恢复初始视角。手机上,图表放大以后才能拖动,没放大时手指滑动仍然是滚动页面。
语法写错时,图表位置会提示出错并显示源码,不会让整页报错。
全站图表可以统一换成手绘风格,在 _config.shokax.yml 里设置:
mermaid:
look: handDrawn # classic 为普通样式(默认)
font_family: Excalifont, JasonHandwriting1 # 手绘字体,按顺序逐级回落,最后回落到正文字体流程图、状态图、类图和 ER 图用 Mermaid 自带的手绘效果。时序图、甘特图、饼图等 Mermaid 不支持手绘的图表,会先按普通样式画好,再交给 svg2roughjs 重描一遍线条和填充。同一张图每次刷新的笔触都相同。手绘脚本加载失败时,这类图表照常显示普通样式。
手绘风格下,图表文字换成手写字体:英文和数字用 Excalifont,中文用清松手寫體,简体和繁体都有对应字形,切换简繁后不会混进别的字体。两款字体和正文字体一样用 @font-face 声明,只有页面里出现手绘图表时才会下载。普通样式沿用正文字体。
# 数学公式
公式在构建时由 KaTeX 渲染。文章 Front-matter 加上 math: true,复制公式时会得到 LaTeX 源码。
行内公式 $E = mc^2$
$$
\sum_{i=1}^{n} i = \frac{n(n+1)}{2}
$$行内公式
具体公式写法见 Latex基本语法。
# 题目
给有序列表项加上 {.quiz} 就是一道题。选项列表末尾另起一行写 {.options},正确选项加 {.correct},引用块作为解析:
1. 本站使用哪个 Markdown 渲染器?{.quiz}
- hexo-renderer-marked
- hexo-renderer-aether{.correct}
- hexo-renderer-markdown-it
{.options}
> 解析:当前使用 `hexo-renderer-aether`。
2. 下列哪些属于提示块类型?{.quiz .multi}
- info{.correct}
- note
- warning{.correct}
{.options}
> 解析:没有 `note` 类型。
3. 代码块可以用 `{1,3}` 指定高亮行。{.quiz .false}
> 解析:不生效,改用 `[!code highlight]` 注释。本站使用哪个 Markdown 渲染器?
解析:当前使用
hexo-renderer-aether。下列哪些属于提示块类型?
解析:没有
note类型。代码块可以用
{1,3}指定高亮行。解析:不生效,改用
[!code highlight]注释。
点击选项判断对错,点击题干展开解析。题型类名还有 .true(判断题,正确)、.fill(填空)、.essay(问答)。
# Hexo 标签
Hexo 自带的标签都能用,常用的是站内文章链接:
{% post_link Shoka/shoka-post-history-timeline %}
{% post_link Shoka/shoka-post-history-timeline 自定义链接文字 %}Shoka主题: 文章更新历史记录时间轴参数是相对 source/_posts 的路径,不带 .md。
代码块里的 {% %} 会原样显示,不需要额外处理。行内代码或正文里要原样输出,用 raw 和 endraw 标签包起来。
# 设置点
# 站点配置
主题配置写在博客根目录的 _config.shokax.yml,只写需要覆盖的部分,其余沿用主题默认值。下面按用途列出常调的配置项。
# 外观
| 配置项 | 作用 | 本站取值 |
|---|---|---|
palette.primary / secondary | 站点主色和辅助色 | #E8608F / #D35A9E |
darkmode | 没有自动规则时是否默认深色 | false |
auto_dark.start / end | 按时段自动切换深色 | 21 点到 8 点 |
theme_transition | 明暗切换动画,sunrise 或 moon-stars | moon-stars |
font | 各区域字体与字号 | 自定义字体 |
loader | 首次进入和切页的加载动画 | 均开启 |
festival.enable | 节日与节气装饰 | 开启 |
footer.landscape | 页脚风景图,日夜各一张 | 开启 |
# 侧栏与列表页
| 配置项 | 作用 | 本站取值 |
|---|---|---|
sidebar.position | 侧栏位置 | right |
sidebar.toc_style | 目录样式,default 或 curve | curve |
widgets.random_posts / recent_comments | 侧栏随机文章、最近评论 | 开启 |
archive_view.mode | 归档页 tree 或 classic | tree,不允许切换 |
category_view.mode | 分类页 cards 或 classic | cards |
tagcloud.mode | 标签云 2d 或 3d | 2d |
homeConfig.cateCards | 首页分类卡片 | 6 个分类 |
# 文章
| 配置项 | 作用 | 本站取值 |
|---|---|---|
post.count | 字数与阅读时长 | 开启 |
isOutdated.days | 超过多少天提示内容可能过时 | 30 |
summary.enable | 构建时生成 AI 摘要 | 开启 |
related_reading.enable | 文末继续阅读推荐 | 开启 |
article_graph.enable | 文章引用关系图 | 开启 |
reward.enable | 文末赞赏 | 开启 |
creative_commons | 版权协议 | by-nc-sa |
auto_scroll | 回到页面时恢复上次阅读位置 | 开启 |
# 功能模块
| 配置项 | 作用 | 本站取值 |
|---|---|---|
modules.pjax | 无刷新切页,音乐不中断 | 开启 |
modules.tabs / modules.quiz | 标签页、题目交互 | 开启 |
waline | 评论系统 | 开启 |
pagefind.enable | 站内搜索 | 开启 |
visitor | 阅读次数与访问量 | 开启 |
live2d.enable | 看板娘 | 开启 |
fireworks.enable | 点击烟花 | 开启 |
reading_settings.enable | 显示与阅读面板 | 开启 |
pagefind 的索引不是 hexo generate 自动生成的,需要另外执行 pnpm run search:build。
# 文章 Front-matter
除了 title、date、tags、categories 这些常规字段,下面这些可以针对单篇文章调整:
| 字段 | 作用 |
|---|---|
sticky: true | 首页置顶 |
cover | 指定封面图 |
photos | 文首图集 |
link | 标题直接跳转外部链接 |
math: true | 公式复制为 LaTeX 源码 |
toc_style | 单篇使用 default 或 curve 目录 |
comment: false | 关闭评论 |
comment_layout | 评论区布局,slide 或 bottom |
reward: false | 关闭赞赏 |
copyright: false | 隐藏版权声明 |
nocopy: true | 禁止复制正文 |
audio | 本页歌单,false 表示不加载 |
pjax: false | 本页禁用无刷新切页 |
isOutdated: false | 关闭过时提示 |
ai_summary: false | 不生成 AI 摘要 |
related_reading: false | 不参与继续阅读推荐 |
article_graph: false | 隐藏引用关系图 |
password | 加密文章 |
changelogs | 更新历史 |
reprintlink | 转载来源 |
文章里写了就用文章的,没写就继承站点配置。
# 显示与阅读
页面右下角工具栏里的「显示与阅读」是给读者用的,调整结果只保存在当前浏览器,不影响站点配置。
| 选项 | 可选值 | 默认 |
|---|---|---|
| 主题主色、辅助颜色 | 色块取色,或输入 HEX / RGB | 跟随站点配置 |
| 正文字号 | 标准、稍大、更大 | 标准 |
| 正文行距 | 紧凑、标准、宽松 | 标准 |
| 明暗模式 | 主题默认、跟随系统、浅色、深色 | 主题默认 |
| 减少动态效果 | 跟随系统、开启 | 跟随系统 |
| 页首横幅 | 图片横幅、简洁主题色 | 图片横幅 |
| 背景纹理 | 无、星点、点阵、等高线、折纸、樱花 | 无 |
| 纹理浓度 | 5% ~ 25% | 12% |
| 首页排列 | 列表、双列 | 列表 |
字号和行距只作用于文章正文。双列只在宽屏生效,手机仍然是单列。
# 本站扩展点
下面这些是在主题之外补充或改造的功能。有单独文章的,直接点过去看实现。
# 文章相关
| 功能 | 用法 | 详细说明 |
|---|---|---|
| 曲线目录 | toc_style: curve | Hexo: 给 ShokaX 迁移一个 Fumadocs 风格的曲线目录 |
| 更新历史时间轴 | changelogs | Shoka主题: 文章更新历史记录时间轴 |
| 过时提示 | isOutdated | Shoka主题: 文章添加实效性提示 |
| 转载标记 | reprintlink | Shoka主题: 文章添加转载标记 |
| 文章加密 | password | Hexo: 文章加密 |
| 图片相对路径 | ,本地编辑器也能预览 | Shoka主题: 自定义过滤器重定向资源文件夹图片相对路径引用 |
| AI 摘要 | 站点 summary + 文章 ai_summary | — |
| 继续阅读与引用关系图 | related_reading、article_graph | — |
| 简繁转换 | 工具栏按钮,整页转换 | — |
changelogs 的格式,以本文为例,按时间从早到晚排列:
changelogs:
- summary: 2022-06-06 立项
list:
- 1. 建立使用手册,用于个人查找主题写法
- summary: 2026-11-05 补全使用手册
list:
- 1. 整理 Markdown 语法与渲染效果
- 2. 整理站点配置与文章 Front-matter
- 3. 汇总本站扩展点reprintlink 支持三种写法:只写来源名、只写链接,或者 来源名||链接。
# 站点与页面
| 功能 | 说明 |
|---|---|
| 显示与阅读面板 | 见上文「显示与阅读」 |
| 归档时间树、分类卡片 | 归档、分类、标签详情页的新视图 |
| 标签云数字角标 | Hexo: 标签云TagCloud标签文章数量数字角标 |
| 朋友圈 | 聚合友链博客的最新文章,见 朋友圈 |
| 资讯、统计、项目、书签 | 独立页面 |
| 音乐播放器 | nyx-player,支持频谱和歌词,切页不中断 |
| 看板娘 | 节日、节气提醒 |
| 节日装饰、页脚风景 | 按日期自动切换 |
| 评论 | Waline 定制客户端,带友链徽章和等级配色 |
# 构建与资源
| 功能 | 说明 |
|---|---|
| 资源本地化 | 第三方资源下载到本站,见 Shoka主题: 去jsDelivr依赖之资源本地化 |
| 主题构建 | pnpm run theme:build,从主题源码生成运行目录 |
| 本地预览 | pnpm run dev |
| 发布 | pnpm run publish,构建、压缩、生成搜索索引后部署 |
# 结语
写文章常用的就是 彩色文字、提示块、折叠和代码块 这几样,其他的忘了回来翻一翻就行。
手册会跟着站点一起更新,有新写法再补上~
文中批注
脚注
- ↩
即
hexo-renderer-aether,基于 markdown-it 和 Shiki。

有什么想法,欢迎留下评论。