英文:
mkdocs: how to attach a downloadable file
问题
我正在尝试找到一种方法来在构建中“附加”file1.ext
,例如作为chapter1.md
中的链接。有关如何实现这一点的任何建议吗?详细信息:我希望在单击时能够下载该文件。
英文:
I have a mkdocs project that resembles the following:
project
├─mkdocs.yml
├─docs
│ ├─home.md
│ ├─chapter1.md
│
├─static
├─file.ext
├─image.png
I am trying to find a way to "attach" file1.ext
to the build, for instance as a link in chapter1.md
.
Any suggestions how to achieve that? Detail: I want the file to be downloadable on click.
答案1
得分: 1
在mkdocs
中,要通过markdown
使文件在点击时可下载,首先需要将以下内容添加到你的mkdocs.yml
文件中:
markdown_extensions:
- attr_list
然后在你的chapter1.md
中,你可以为链接添加download
属性,如下所示:
[file.ext](../static/file.ext){:download}
你甚至可以指定要下载的文件的新文件名:
[file.ext](../static/file.ext){:download="awesome-file"}
解释
MkDocs使用Python-Markdown将Markdown转换为HTML,它提供了灵活的扩展机制,使得可以在不必编辑实际源文件的情况下更改或扩展解析器的行为。
在mkdocs.yml
中的markdown_extensions
设置指定了MkDocs的Python-Markdown扩展。
添加attr_list
入口点启用了Python-Markdown属性列表扩展,它通过使用花括号{}
和类似CSS的语法来支持HTML样式的属性。
示例:
假设我们想要在新标签中打开一个链接,我们可以这样实现:
[Google](https://www.google.com){:target="_blank"}
英文:
In mkdocs
, to get the file to be downloadable on click using markdown
, first you need to add this to your mkdocs.yml
file :
markdown_extensions:
- attr_list
and then in your chapter1.md
you can add download
attribute to your link ... like so :
[file.ext](../static/file.ext){:download}
Heck you can even specifies the new filename for the downloaded file:
[file.ext](../static/file.ext){:download="awesome-file"}
Explanation
MkDocs converts Markdown to HTML using Python-Markdown which offers a flexible extension mechanism, which makes it possible to change and/or extend the behavior of the parser without having to edit the actual source files.
The markdown_extensions
in mkdocs.yml
setting specifies the Python-Markdown extensions for MkDocs.
adding attr_list
entry point enables the Python-Markdown attribute lists extension, which adds support for HTML-style attributes using curly brackets {}
and a CSS-like syntax.
example:
let's say we want to open a link in new tab, we can achieve this like so :
[Google](https://www.google.com){:target="_blank"}
答案2
得分: 0
以下是已翻译的内容:
Edit:
通过 @WaLid LamRaoui 检查答案
Original:
使用以下代码修复它:
// 在 chapter1.md 中
<a href="../static/file.ext" download>file.ext</a>
Markdown 样式似乎不起作用:
[file.ext](file::///../static/file.ext)
英文:
Edit:
Check the answer by @WaLid LamRaoui
Original:
Fixed it with:
// in chapter1.md
<a href="../static/file.ext" download>file.ext</a>
the mardownish like did not work:
[file.ext](file::///../static/file.ext)
答案3
得分: -1
在你的 chapter1.md 文件中,你应该链接到你的 file1.ext 文件,这个文件应该位于 static 文件夹中。
你可以这样链接它:
[链接到 file1](../static/file1.ext)
之后,你可以构建你的项目。
英文:
In your chapter1.md file you should link your file1.ext, this file should be located in the static folder.
You can link it like:
[Link to file1](../static/file1.ext)
After this you can build your project.
答案4
得分: -2
将文件放入静态目录中:
- 将文件.ext移动或复制到项目结构中的静态目录中。
更新您的Markdown文件(chapter1.md)以包括一个指向文件的链接:
在chapter1.md文件中,您可以添加一个指向要附加的文件的Markdown链接。例如:
下载文件
根据您的项目结构和文件在静态目录内的实际位置,调整文件路径../static/file.ext。
英文:
Place the file in the static directory:
- Move or copy the file.ext to the static directory in your project structure.
Project
├─mkdocs.yml
├─docs
| ├─home.md
| ├─chapter1.md
|
├─static
├─file.ext
├─image.png
2.Update your markdown file (chapter1.md) to include a link to the file:
In the chapter1.md file, you can add a Markdown link that points to the file you want to attach. For example:
[Download File](../static/file.ext)
3.Adjust the file path ../static/file.ext according to your project structure and the actual location of the file within the static directory
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论