Markdown 代码块未闭合排查
634 字
3 分钟
Markdown 代码块未闭合排查
Markdown 代码块未闭合排查
Markdown 代码块少一个反引号,后面的整篇文章都可能变成代码样式。构建不一定失败,但页面阅读体验会明显坏掉。
技术博客里代码块很多,所以发布前检查代码围栏非常必要。
代码块基本写法
```pythonprint("hello")```开头和结尾都要是三个反引号。开头可以带语言名,结尾不要带。
如何定位未闭合
如果页面某一段之后全部变成等宽字体,通常就是前面某个代码块没有关闭。先从异常位置往上找最近的 ```。
rg -n "```" src/content/posts批量检查思路
可以写脚本统计每篇 Markdown 中反引号围栏数量。数量为奇数时,大概率存在未闭合代码块。
from pathlib import Path
for p in Path("src/content/posts").rglob("*.md"): count = p.read_text(encoding="utf-8").count("```") if count % 2: print("odd fences", p, count)容易混淆的情况
-
代码块内部展示 Markdown 代码块,需要换用四个反引号包裹。
-
中文输入法把反引号打成其他符号。
-
复制代码时只复制了开头,没有复制结尾。
实战复盘
把《Markdown 代码块未闭合排查》写成可复用排查记录时,我会保留四类证据:原始现象、执行命令、关键输出、修复后的验证结果。少了其中任何一类,下次遇到类似问题都容易重新猜一遍。
排查类文章不要只写最终命令,还要写为什么先查这里。比如端口问题先看监听进程,Nginx 问题先分清 404 和 403,Python 环境问题先确认解释器路径。
如果修复动作有风险,例如杀进程、删文件、改服务配置,就应该写清回退方式。能恢复,才敢在服务器上操作。
最小验收样例
验收《Markdown 代码块未闭合排查》时,我会保留一条修复前命令和一条修复后命令。前者证明问题存在,后者证明问题已经消失,而不是只凭浏览器或终端感觉判断。
如果这篇文章涉及服务器操作,还要记录当前路径、用户、服务名和关键配置文件。排查记录越能还原现场,下次遇到同类问题越不需要重新摸索。
小结
Markdown 代码块错误通常很小,但影响很大。发布前做一次围栏数量检查,可以避免整页格式错乱。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章智能推荐
1
Jupyter kernel 缺失排查
问题解决记录 Jupyter 找不到虚拟环境 kernel 时的安装、注册和检查方法。
2
服务端口占用排查
问题解决整理服务端口被占用时的定位、释放和改端口处理方法。
3
SSH 连接超时排查
问题解决整理 SSH 连接超时时从网络、端口、安全组和 sshd 服务排查的顺序。
4
Nginx 404 与 403 排查
问题解决从站点根目录、权限、location 匹配和错误日志四个方向区分 Nginx 404 与 403。
5
Windows 路径空格问题排查
问题解决整理 Windows 路径中空格导致命令失败时的引号、转义和工作目录处理方法。
随机文章随机推荐













