Marked 2中Markdown图片缩放语法失效的原因及相关疑问
我最近一直在用Marked 2预览Mac上的Markdown文档,里面嵌了大量截图。一直以来我都在吐槽:为啥Markdown原生不支持图片缩放功能啊?有时候小图直接被拉满整个页面宽度,看着特别别扭。
之前Marked 2有个小技巧,就是在图片标记里加=100x这类参数就能缩放图片,比如:
- 指定宽高:
 - 只指定宽度:
 - 只指定高度:

但这个方法只在Marked 2里生效,GitHub这类平台根本不认。更糟的是,现在连Marked 2里这个功能都失效了——我以前用这个语法写的旧文档,现在图片显示不出来,直接把整个标记文本给显示出来了。
有没有大佬知道这是咋回事?是不是Marked 2的某个设置被我不小心改了?另外我也好奇,为啥Markdown原生就不能搞个通用的图片缩放功能呢?
可能的失效原因及解决办法
Marked 2版本更新移除了该语法
Marked 2后续版本可能调整了自定义语法规则,把这种非标准的缩放参数给移除了。你可以去Marked 2的偏好设置里找找「Extensions」或者「Custom Syntax」相关的选项,看看有没有开启类似「Extended Image Attributes」这类的开关,如果有的话重新打开试试。语法格式细节变化
也有可能是语法的写法要求变了,比如以前允许空格,现在需要去掉=前面的空格?试试改成这种不带空格的格式,看看能不能恢复生效。文件路径或图片本身的问题
虽然可能性不大,但也可以检查一下旧文档里的图片路径有没有变化,图片文件是否还在原来的位置,有没有损坏——毕竟如果路径错了,不管语法对不对都显示不出来。
关于Markdown原生不支持通用缩放的原因
Markdown的设计初衷就是极简、易读、跨平台兼容,原生语法只保留最基础的内容标记功能,像图片缩放这种属于样式层面的需求,本来就不在原生规范的覆盖范围内。不同平台(比如GitHub、Marked 2)会基于原生语法扩展自己的样式规则,但这些扩展大多不通用,因为每个平台的渲染引擎和需求都不一样。
如果需要跨平台兼容的图片缩放,一般得用内嵌HTML的方式,比如:
<img src="./pic/pic1_50.png" width="100" height="20" />
这种写法虽然繁琐,但几乎所有Markdown渲染器都支持,因为它们都会解析内嵌的HTML。
备注:内容来源于stack exchange,提问作者Coding Monkey

