/

HTML 静态资源

静态资源让你可以将任意文件随编译后的 HTML 输出一起发布,且无需任何后续处理。

将文件放在项目根目录下一个名为 public/ 的目录中,与主源文件相邻。编译时,Quarkdown 会将其全部内容复制到输出目录的根目录,并保留原有的目录结构。

静态资源的常见示例包括:用于搜索引擎抓取规则的 robots.txt、用于 GitHub Pages 自定义域名的 CNAME,以及各类二进制文件。

示例 1

Given this project structure:

  • main.qd
  • public
    • robots.txt
    • CNAME
    • static
      • resume.pdf

After compiling, the output looks like:

  • My document
    • index.html
    • theme
    • script
    • robots.txt
    • CNAME
    • static
      • resume.pdf

引用静态资源

public/ 复制过来的资源,可以使用相对于输出根目录的路径来引用。例如,public/logo.png 中的图片可以在文档中这样使用:

![Logo](@/logo.png)

为什么用 @

@ 前缀被称为媒体直通(media passthrough),它会解析到输出根目录。以此前缀开头的路径会阻止媒体存储系统对其进行处理,因为该资源在源文件中并不存在于那个位置,否则会产生警告。

此外,在使用子文档 时,@ 前缀能确保无论子文档输出到何处,路径都能被正确解析。

命名冲突

避免在 public/ 中放置与 Quarkdown 生成的资源同名的文件(例如 index.htmltheme/script/)。如果发生冲突,最终输出中保留哪个版本是未定义的。