技术随笔
Markdown 是我的第二母语
2 分钟
我几乎所有文字都用 Markdown 起草——文章、方案、给自己看的碎念,甚至购物清单。
原因很简单:它让我在写的时候不去想它长什么样。
#结构先于样式
在富文本编辑器里,你打完一行字就要决定字号、颜色、间距。这三个决定每一个都会打断思路。
Markdown 只让你回答一个问题:这句话是什么层级的?
- 是标题?加
# - 是并列?加
- - 是引用?加
> - 是强调?加
**
回答完,继续写。样式是后来的事,而且往往不是你的事。
#我常用的极简子集
## 二级标题
段落文字,**加粗**,*斜体*,`行内代码`。
> 引用一句话
- 无序列表
1. 有序列表
[链接](https://example.com)
就这些。语法越少,越不容易在写作时分心去查规则。
#自己写一个解析器
这个博客的 Markdown 渲染是我手写的,大约一百行。不是为了造轮子,是因为:
- 引入一个 50KB 的库,去解析我只用 8 种语法的文本,不划算
- 我需要控制输出的 HTML 结构(比如给
h2自动加锚点、给pre加语言标签) - 零依赖意味着这个文件十年后还能打开
思路也很简单:先把代码块挖出来存成占位符,再逐块处理段落级语法,最后统一处理行内语法,把代码块填回去。
挖坑—处理—回填。所有文本转换问题都可以这么做。
#一点私心
用纯文本写东西,还有一个好处:它不会过期。
十年前的 .docx 可能已经排版错乱,但十年前的 .md 用记事本打开还是原样。文件格式的寿命,决定了你思考的寿命。