mkdocs:如何附加可下载文件

dep*_*ovo 2 python markdown mkdocs mkdocs-material

我有一个类似于以下内容的 mkdocs 项目:

\n
project\n\xe2\x94\x9c\xe2\x94\x80mkdocs.yml\n\xe2\x94\x9c\xe2\x94\x80docs\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80home.md\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80chapter1.md\n\xe2\x94\x82\n\xe2\x94\x9c\xe2\x94\x80static\n  \xe2\x94\x9c\xe2\x94\x80file.ext\n  \xe2\x94\x9c\xe2\x94\x80image.png\n
Run Code Online (Sandbox Code Playgroud)\n

我正在尝试找到一种“附加”file1.ext到构建的方法,例如作为chapter1.md.

\n

有什么建议如何实现这一目标吗?详细信息:我希望单击即可下载该文件。

\n

WaL*_*oui 5

在 中mkdocs,要使文件可在单击时下载markdown,首先您需要将其添加到您的mkdocs.yml文件中:

markdown_extensions:
  - attr_list
Run Code Online (Sandbox Code Playgroud)

然后在您的链接中chapter1.md添加download属性...就像这样:

[file.ext](../static/file.ext){:download}
Run Code Online (Sandbox Code Playgroud)

哎呀,你甚至可以命名下载的文件:

[file.ext](../static/file.ext){:download="awesome-file"}
Run Code Online (Sandbox Code Playgroud)

解释

MkDocs 使用Python-Markdown将 Markdown 转换为 HTML Python-Markdown提供了灵活的扩展机制,可以更改和/或扩展解析器的行为,而无需编辑实际的源文件。

inmarkdown_extensions设置mkdocs.yml指定 MkDocs 的 Python-Markdown 扩展。添加attr_list入口点可启用Python-Markdown 属性列表扩展,该扩展增加了对使用大括号的 HTML 样式属性的支持{}扩展,该扩展使用大括号和类似 CSS 的语法

例子:

假设我们想在新选项卡中打开一个链接,我们可以这样实现:

[Google](https://www.google.com){:target="_blank"}
Run Code Online (Sandbox Code Playgroud)