代码
写技术文档必然要贴代码,而 Markdown 的代码语法只有两种标记:一对反引号和三个反引号。可真正动笔时处处是细节——内容本身带反引号该怎么办,代码块要缩进几列才对,语言标识写错了又是什么后果。
这一章要先建立一个认知上的分工:Markdown 只负责把内容标记成「这是代码」,至于它长什么样,是渲染器和主题的事。 等宽字体、配色、行号、复制按钮,全都来自 Markdown 之外。想清楚这条边界,很多困惑会一次性消散——「为什么我的代码没有颜色」从来不是 Markdown 写错了,而是渲染器没认出语言标识。
第二个要建立的认知,是围栏与缩进这两套写法的分工。缩进式代码块古老而受限,它无法携带语言标识,还容易和列表的缩进打架;围栏代码块虽然多敲两个字符,却能指定语言、能安全地容纳反引号。所以现代文档里的默认答案几乎总是围栏,而围栏真正的难点在于它自身的边界:起止数量必须一致,内容里出现三个反引号时就得把外层围栏再加长。
第三个认知关乎分寸:行内代码和代码块之间没有一条硬规则,但有明显的倾向——短到能塞进一句话里的用行内代码,成块的用代码块。这个尺度感比语法本身更需要练习。
把这三点合起来看,这一章真正训练的是两种能力。一是判断力:看到一个片段就能决定它该以什么形态出现,而不是每次都凭手感。二是诊断力:渲染结果不对时,知道该去看围栏数量、缩进列数还是语言标识,而不是反复试错。这两种能力比记住语法表有用得多,因为真实文档里的代码形态永远比教科书更杂。
一个贯穿整章的判断标准: 凡是读者可能复制、搜索或者逐行比对的代码,都应该用代码块,而不是截图,也不是行内代码。高亮和行号都是渲染器的赠品,文本才是实打实能用的东西。
