注释
有时我们会想在 Markdown 文档中保留一些文本,但又不想在输出网页中可见,甚至最好在网页源码中也没有。
缺陷方案
最简单的方案是使用 HTML 原生注释 <!-- HTML 注释 -->
,其缺点是其会在源码中保留。
如果你使用 Jekyll 那么可以:
1 | {% raw %}{% comment %} |
由于这种注释会在 Markdown 处理器执行之前被移除,所以在源码中也不可见。唯一的问题在于环境依赖。
通用方案
比较通用的方案是使用链接标签:
1 | [comment]: <> (This is a comment, it will not be included) |
或者可以指定一个更特殊的标识符:
1 | [//]: <> (This is a comment) |
为了更好的兼容性,应使用 #
代替空链接 <>
,因为 #
是一个合法的超链接:
1 | [//]: # (This may be the most platform independent comment) |
语法要点
- 链接标签前后的空白行可能是重要的
- 链接可用尖括号包裹(可选)
- “可选标题”(即用作注释文本部分)可用圆括号、单引号或双引号等包裹
参考资料
base64 图片
在 Markdown 中插入外源图片会导致内容分离,而如图床失效等原因,将导致内容丢失。
一个可选的解决方案是将图片文本化编码,即 base64。
在 Markdown 中有两种插入图片的方式,都支持插入 base64 编码的图片:
- 直接插入。语法为:
![image](base64)
。 - 插入标签并引用。引用语法:
![image][id]
;标签语法:[id]: base64
。
编码解码
有很多在线编码的工具站,可以在线转换。如果熟悉编程,也可以编写程序进行转换。
base64 图片编码有类似的统一前缀:
data:image/png;base64,
。
下面是 Python 代码:
1 | # 编码 |
问题
使用 base64 编码的图片,固然使得图文一体,但是也有一个明显的缺点:编码信息巨长。
这带来两个问题:
- 编辑文档时会有更多的滚动;
- 可能导致编辑器性能问题1。
1. 目前来看,Typora 存在较严重的性能问题,滚动易卡死,即便是仅插入一个 base64 编码的图片也是如此;Mark Text 性能尚可,但仍有轻微可察的卡顿。 ↩