MkDocs 中的全局变量

Bon*_*cía 8 html markdown mkdocs

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

阅读这个问题,似乎可以通过extramkdocs.yml文件中包含一个配置来完成,例如:

extra:
    version: 1.0
Run Code Online (Sandbox Code Playgroud)

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

---> My version: {{ config.extra.version }}
Run Code Online (Sandbox Code Playgroud)

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

在此处输入图片说明

  • 难道我做错了什么?
  • 有可能使这项工作吗?

n2y*_*ygk 8

给出的答案已经过时,因为这可以使用上面提到的markdownextradata 等插件来完成,除非您只是引用{{ version }}


Way*_*lan 4

不,目前这是不可能的。

你说你“在页面中使用该变量”。我假设您指的是“Markdown”页面。目前模板变量在 Markdown 页面中不可用。模板引擎甚至不针对 Markdown 运行。Markdown 解析器的输出是传递给模板的变量之一。有关其工作原理的更详细说明,请参阅我对如何在 Markdown 文件中包含 Flask/jinja2 代码?

具体到 MkDocs,有一个未解决的问题 ( #304 ) 讨论添加一个功能来支持 Markdown 页面中的一些有限模板,但它计划在 1.0 后发布,因此目前不是首要任务。