/

媒体存储

媒体存储(media storage) 是一项特性,可确保当你导出 Quarkdown 项目时,所有需要的文件都存在于输出目录中。

它的工作方式如下:

  1. 追踪通过图片引用图片节点在 Quarkdown 文档中被引用的外部文件(媒体
  2. 将每个媒体文件复制到输出目录内的 media 目录中
  3. 更新图片节点,使其源路径指向新创建的文件

源:

![Image](../my-img.png)

结果:

<img src="media/my-img@HASH.png" alt="Image" />

媒体存储默认启用。你可以通过 --no-media-storage 标志将其关闭。

为什么需要它

以 HTML 为例:来自远程 URL 的图片可以轻松加载,而本地图片(例如 ../my-img.png)则要求图片文件恰好位于服务器上的相同位置。

设想你正在编写一个 Quarkdown 文档,输入 ![Image](my-img.png),且 my-img.png 与你的 Quarkdown 源文件位于同一目录。你会期望它能正常工作,但一旦编译项目并打开 HTML 产物,你就会发现浏览器找不到该文件,原因很简单——它并不在那里。

得益于媒体存储系统,所有媒体文件都会随你的输出一起被携带。

选项

存储系统可以处理本地与远程文件。决定哪些类型允许进入存储的规则由当前生效的渲染器设定。

覆盖这些规则是受支持的,尽管目前无法通过 CLI 实现。

选择退出

某些图片不应被复制到媒体目录中,例如那些已经以已知路径存在于输出中的 HTML 静态资源