返回文章列表
技术随笔

Markdown 是我的第二母语

2 分钟

我几乎所有文字都用 Markdown 起草——文章、方案、给自己看的碎念,甚至购物清单。

原因很简单:它让我在写的时候不去想它长什么样。

#结构先于样式

在富文本编辑器里,你打完一行字就要决定字号、颜色、间距。这三个决定每一个都会打断思路。

Markdown 只让你回答一个问题:这句话是什么层级的?

  • 是标题?加 #
  • 是并列?加 -
  • 是引用?加 >
  • 是强调?加 **

回答完,继续写。样式是后来的事,而且往往不是你的事。

#我常用的极简子集

## 二级标题
段落文字,**加粗***斜体*`行内代码`> 引用一句话

- 无序列表
1. 有序列表

[链接](https://example.com)

就这些。语法越少,越不容易在写作时分心去查规则。

#自己写一个解析器

这个博客的 Markdown 渲染是我手写的,大约一百行。不是为了造轮子,是因为:

  1. 引入一个 50KB 的库,去解析我只用 8 种语法的文本,不划算
  2. 我需要控制输出的 HTML 结构(比如给 h2 自动加锚点、给 pre 加语言标签)
  3. 零依赖意味着这个文件十年后还能打开

思路也很简单:先把代码块挖出来存成占位符,再逐块处理段落级语法,最后统一处理行内语法,把代码块填回去。

挖坑—处理—回填。所有文本转换问题都可以这么做。

#一点私心

用纯文本写东西,还有一个好处:它不会过期

十年前的 .docx 可能已经排版错乱,但十年前的 .md 用记事本打开还是原样。文件格式的寿命,决定了你思考的寿命。

余烬电台

40 首 · 网易云源