Markdown 语法

Markdown 脚注怎么加?
[^1] 语法,以及为什么可能不渲染

你想在 Markdown 里加个脚注,一个正文里的小标记,链到底部的一条注。语法是两部分:一个引用放标记的地方,一个定义放真正的注文。这里讲怎么写、脚注里能放什么,以及为什么它们有时会显示成原始的 [^1] 文本。

脚注语法

一个脚注有两半。引用放在正文里,你想要小标记的地方:

Markdown 是一种纯文本格式[^1],很好读。

定义放在别处,通常在文件底部:

[^1]: 它由 John Gruber 在 2004 年创造。

渲染器把 [^1] 变成一个带编号的小链接,并把这条注收集到文末。两半靠方括号里的标签绑在一起,所以引用里的 1 要和定义里的 1 对上。

标签,以及脚注里能放什么

  • 标签可以是词,不只是数字:[^note][^ref1] 都行。它只是个标识;看到的标记仍按顺序编号。
  • 定义里可以放 Markdown:粗体、链接和别的格式在注里都行。
  • 能跨好几行:把续行缩进到定义下面,让它们留在同一条脚注里。

脚注为什么可能不渲染

脚注是扩展,属于 GitHub 风格 Markdown 和别的几种风味、不属于核心 CommonMark 规范。所以脚注显示成原始 [^1] 通常两个原因:

  • 工具不支持脚注。一个严格只认 CommonMark 的渲染器会把 [^1] 留成纯文本。这和 Markdown 不渲染 是同一类问题。
  • 少了一半。引用 [^1] 没有配套的 [^1]: 定义,或者定义没有配套的引用,就没有搭档可链。

它们在 NoteLoom 里怎么渲染

NoteLoom 在编辑和阅读两个视图里都渲染脚注。标记是可点击的,所以你能从引用跳到注、再跳回来。在一篇有好几个脚注的长笔记里,这把一堆标记变成了真能来回导航的东西。

而且因为全是纯文本,[^1] 引用和定义就留在你的 .md 文件里,即使在一个不渲染它们的工具里也可读、可移植。

FAQ

Markdown 里怎么加脚注?
在想放标记的地方放一个引用,比如 [^1],再在别处(通常在文件底部)放一个定义:[^1]: 脚注文字。渲染器把引用变成一个带链接的小数字,并把这些注收集到文档末尾。
脚注是标准 Markdown 吗?
不是,是扩展。GitHub 风格 Markdown 和好几种别的风味支持它,但一个严格只认 CommonMark 的渲染器会把 [^1] 显示成纯文本,因为脚注不在核心规范里。
脚注标签能用词、不只是数字吗?
能。[^note] 或 [^ref1] 这样的标签都行,不必是数字;标签只是把引用和它的定义绑起来的标识。你在渲染后的正文里看到的标记,仍是按出现顺序编号的。
为什么我的脚注显示成 [^1] 文本?
要么工具不支持脚注,要么少了一半。引用 [^1] 需要一个配套的定义 [^1]:,定义也需要一个配套的引用。有一边没搭档,它就不会链接、可能显示成字面文本。
脚注里能放链接或格式吗?
能。定义里可以放粗体、链接和别的 Markdown,如果把续行缩进到定义下面,它还能跨多行。不限于纯文本。
NoteLoom 渲染脚注吗?
渲染,编辑和阅读两个视图都渲染。标记可点击,所以你能从引用跳到注、再跳回来,一篇有好几个脚注的长笔记就好移动多了。

看你的脚注渲染并跳转

用 Chrome / Edge / Arc 打开 NoteLoom,打开一个带脚注的 .md 文件,看标记渲染出来、点一下就跳到每条注、直接存回文件。不用装、不用账号。

打开 NoteLoom 试试