跳转到内容

Markdown

Hollo 支持 Markdown 帖子,包括表格和~~删除线~~。 实例管理员可以通过 MARKDOWN_EXTENSIONS启用其他语法。 扩展适用于创建和明确编辑本地帖子的操作。 个人简介和资料字段继续使用原有的 Markdown 语法。

在 .env 中设置所需扩展,然后重启 Hollo:

终端窗口
MARKDOWN_EXTENSIONS=footnote,ruby,math

可用名称为footnote、deflist、sub、sup、mark、ruby、ins、 abbr、tasklist和math。未设置或为空时,所有扩展均关闭。 名称前后的空白和重复名称会被忽略;未知名称会导致启动失败。

更改设置不会改变已存的源文本或 HTML,也不会发送现有帖子的更新。 明确编辑帖子时,会按当前设置重新渲染。因此,关闭扩展后编辑旧帖子, 可能会直接显示其原始语法。

扩展 源文本 含义
footnote 正文[^1]和[^1]: 脚注 带编号的脚注
deflist 术语的下一行写: 定义 定义列表
sub H~2~O 下标
sup x^2^ 上标
mark ==高亮内容== 高亮片段
ruby {汉字:hànzì} 注音
ins ++新增内容++ 插入的内容
abbr *[HTML]: Hyper Text Markup Language 缩写定义
tasklist - [x] 已完成和- [ ] 待完成 静态任务状态
math $x^2$和$$x^2$$ 行内和独立显示的公式

启用对应扩展后,可以这样写:

一个论点[^1]。HTML 具有元素。
[^1]: 补充说明。
术语
: 定义
*[HTML]: Hyper Text Markup Language
- [x] 撰写
- [ ] 审阅

脚注包含可见的编号和指向原帖的绝对链接。 定义列表包含用于区分术语和定义的可见标点。 注音包含在标签被移除时使用的后备括号;Gukhanmun 会保留明确写出的注音, 不会再嵌套添加读音。

缩写区分大小写,并按单词边界匹配。HTML5、html和HTML은均不匹配HTML。 在普通文本中首次匹配时,会显示完整解释,如“HTML (Hyper Text Markup Language)”。 链接文字、URL、提及、话题标签、代码和公式不参与替换。 重复定义使用第一项;解释内容作为纯文本处理。

任务状态保留为可见的[x]或[ ]文本,而非可点击的复选框。 [X]也表示完成。标记之后需要空白或行尾。 通过编辑帖子更改状态。- [x]: note这样的行可能被视为 Markdown 链接定义, 而非任务。

要直接显示语法,请使用行内代码,或在分隔符前加反斜杠。 启用sup或sub后,表情符号和范围中的成对尖号或波浪号可能变为格式。 写成\^_\^或1\~2,3\~4即可保留原样。 上下标内的空格必须转义,例如x^a\ b^。 原有的~~删除线~~语法仍然可用。

启用footnote时,^[note]是行内脚注;启用sup时,^[note]^是上标。 接收软件可能将上下标变成普通文本,因此也应以普通文字说明重要指数, 例如“x 的 a+b 次方”。

行内$...$不能跨行。开始的$后和结束的$前不能有空白, 结束的$后不能紧跟数字。因此,$5和$20 and $30仍为普通的货币文本。 要显示美元符号,请写成\$或放在行内代码中。

独立显示的公式以行首的$$开始,允许缩进。 结束的$$之后,同一行只能有空白。也可以写成单行$$x^2$$; 不支持句子中间的独立显示公式。

行内公式是 $x^2$。
$$
\frac{a}{b}
$$

公式使用 MathML 和 TeX 注释,采用 FEP-dc88 所描述的方式。 无效表达式、不安全命令或达到渲染上限的公式,会显示为经过转义的原始文本。 各个表达式的宏状态相互独立,并限制展开次数和大小。

上限为每个表达式 8,192 个 UTF-16 代码单元、每帖 64 个表达式、 每个表达式输出 256 KiB,以及公式总输出 1 MiB。 当帖子源文本超过 65,536 个 UTF-16 代码单元时,仅关闭公式解析; 普通 Markdown、提及、话题标签和链接处理仍会继续。 此时,美元符号内的文本也遵循普通 Markdown 规则,不再作为受保护的公式。

接收服务器和客户端可能会移除格式。上下标、高亮、插入标记和缩写提示可能丢失。 重要的更正和定义应写在可见的正文中。 Mastodon 和 Misskey 对注音的支持取决于内容和接收版本。

Mastodon 可能将公式注释显示为带美元符号的 TeX 文本,这并不保证公式排版。 Misskey 可能将公式显示文本和 TeX 注释连接在一起。 不同服务器和客户端的显示可能不同。 当公式承载重要含义时,请附上普通语言的说明。

实际服务器间的验收测试覆盖了 Mastodon 4.7.3 和 Misskey 2026.10.0, 两者均收到了全部十种示例。Mastodon 应用了编辑;Misskey 2026.10.0 忽略了 Note 更新,保留原始内容。记录包含接收到的 HTML/MFM 及信息损失。 浏览器、客户端和无障碍验证尚未完成。