MkDocs 中的全局变量

Global variables in MkDocs

我有一个用 MkDocs 制作的文档项目。我想在配置文件 (mkdocs.yml) 中定义全局变量,以便在降价页面 (*.md) 中使用。

阅读此 issue,似乎可以通过在 mkdocs.yml 文件中包含一个 extra 配置来完成,例如:

extra:
    version: 1.0

...然后,在页面中使用该变量,例如如下:

---> My version: {{ config.extra.version }}

我试过了,但不幸的是它在我的示例中不起作用(没有变量替换):

不,目前无法做到。

你说你"use that variable in page"。我假设您指的是 "Markdown" 页面。目前模板变量在 Markdown 页面中不可用。模板引擎甚至 运行 都不反对 Markdown。 Markdown 解析器的输出是传递给模板的变量之一。有关其工作原理的更详细说明,请参阅我对 的回答。

特定于 MkDocs,有一个未解决的问题 (#304) 讨论添加功能以支持 Markdown 页面中的一些有限模板,但它计划在 post-1.0,因此它目前不是头等大事。

作为更新,可以完全按照您的描述将变量从 extra 插槽插入 mkocs.yml

要实现此功能,您需要安装 markdownextradata 插件。

给定的答案已过时,因为这可以使用上面提到的 macros or markdownextradata 之类的插件来完成,除非您只引用 {{ version }}.