Mkdocs 消除文件中的复制粘贴
Mkdocs eliminate copy paste in files
我能否以某种方式将文件包含到 mkdocs 中的文件中?
我不想一次又一次地复制粘贴相同的部分。
谢谢
将一个文档包含在另一个文档中不是 Markdown 功能,目前 MkDocs 仅对 Markdown 文档进行 Markdown 处理。因此,目前无法使用 MkDocs 执行此操作。
有趣的是,似乎甚至没有人提出过这样的功能请求。有一个待定的功能可以使各种变量可用于在 Markdown 页面中显示(参见问题 #304),但没有提到包括其他文档。也就是说,根据所选择的解决方案,有可能 if/when 问题得到解决,它还提供包含其他页面的能力。
无论哪种方式,if/when 添加了一个插件 API(请参阅问题 #206)您应该能够进行任何您自己的预占有,其中包括 运行在解析 Markdown 之前,通过模板系统支持 "including" 页面的 Markdown 文本。事实上,我希望如果您要提出功能请求,答案将是将其提交给插件。
@doktoric 是正确的:澄清一下,MkDocs 中有一个包含外部文件的解决方案,其中涉及使用 markdown-include extension.
语法如下:
{!filename.md!}
实现这个的过程是:
- 根据说明安装扩展程序(
pip install markdown-include
)
- 修改
mkdocs.yml
文件,为您的网站 sees explanations 及以下注册此扩展程序。
- 开始在 markdown 文件中使用语法扩展。
在mkdocs.yml
文件中:
markdown_extensions:
include
更新(2020 年 9 月)
现阶段我建议的解决方案是 mkdocs-macros plugin (which I wrote). The plugin implements a jinja2 template engine, which means that the {% include ... %}
statement is available out of the box:
## Paragraph
{% include 'snippet.md' %}
只需安装插件,在 mkdocs.yml
中声明即可。
我能否以某种方式将文件包含到 mkdocs 中的文件中? 我不想一次又一次地复制粘贴相同的部分。 谢谢
将一个文档包含在另一个文档中不是 Markdown 功能,目前 MkDocs 仅对 Markdown 文档进行 Markdown 处理。因此,目前无法使用 MkDocs 执行此操作。
有趣的是,似乎甚至没有人提出过这样的功能请求。有一个待定的功能可以使各种变量可用于在 Markdown 页面中显示(参见问题 #304),但没有提到包括其他文档。也就是说,根据所选择的解决方案,有可能 if/when 问题得到解决,它还提供包含其他页面的能力。
无论哪种方式,if/when 添加了一个插件 API(请参阅问题 #206)您应该能够进行任何您自己的预占有,其中包括 运行在解析 Markdown 之前,通过模板系统支持 "including" 页面的 Markdown 文本。事实上,我希望如果您要提出功能请求,答案将是将其提交给插件。
@doktoric 是正确的:澄清一下,MkDocs 中有一个包含外部文件的解决方案,其中涉及使用 markdown-include extension.
语法如下:
{!filename.md!}
实现这个的过程是:
- 根据说明安装扩展程序(
pip install markdown-include
) - 修改
mkdocs.yml
文件,为您的网站 sees explanations 及以下注册此扩展程序。 - 开始在 markdown 文件中使用语法扩展。
在mkdocs.yml
文件中:
markdown_extensions:
include
更新(2020 年 9 月)
现阶段我建议的解决方案是 mkdocs-macros plugin (which I wrote). The plugin implements a jinja2 template engine, which means that the {% include ... %}
statement is available out of the box:
## Paragraph
{% include 'snippet.md' %}
只需安装插件,在 mkdocs.yml
中声明即可。