/
媒体存储(media storage) 是一项特性,可确保当你导出 Quarkdown 项目时,所有需要的文件都存在于输出目录中。
它的工作方式如下:
media 目录中源:
结果:
<img src="media/my-img@HASH.png" alt="Image" />
媒体存储默认启用。你可以通过 --no-media-storage 标志将其关闭。
以 HTML 为例:来自远程 URL 的图片可以轻松加载,而本地图片(例如 ../my-img.png)则要求图片文件恰好位于服务器上的相同位置。
设想你正在编写一个 Quarkdown 文档,输入 ,且 my-img.png 与你的 Quarkdown 源文件位于同一目录。你会期望它能正常工作,但一旦编译项目并打开 HTML 产物,你就会发现浏览器找不到该文件,原因很简单——它并不在那里。
得益于媒体存储系统,所有媒体文件都会随你的输出一起被携带。
存储系统可以处理本地与远程文件。决定哪些类型允许进入存储的规则由当前生效的渲染器设定。
覆盖这些规则是受支持的,尽管目前无法通过 CLI 实现。
某些图片不应被复制到媒体目录中,例如那些已经以已知路径存在于输出中的 HTML 静态资源 。
以 @ 直通前缀开头的路径会自动被排除在媒体存储之外,因为它们旨在引用已经存在于输出中的文件。
.image 原语函数接受一个 mediastorage 参数,让你可以针对单个图片禁用媒体存储:
.image {logo.png} label:{Logo} mediastorage:{no}