MkDocs中的全局变量

时间:2017-02-10 13:47:45

标签: html markdown mkdocs

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

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

extra:
    version: 1.0

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

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

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

enter image description here

  • 我做错了吗?
  • 是否有可能使这项工作?

3 个答案:

答案 0 :(得分:2)

不,目前无法做到这一点。

你说你“在页面中使用该变量”。我假设你的意思是“Markdown”页面。目前,Markdown页面中没有模板变量。模板引擎甚至没有针对Markdown运行。 Markdown解析器的输出是传递给模板的变量之一。有关其工作原理的更详细说明,请参阅我对How do you include flask/jinja2 code inside a markdown file?的回答。

特定于MkDocs,有一个未解决的问题(#304)讨论添加一项功能以支持Markdown页面中的一些有限的模板,但是它安排在1.0之后,因此它不是最优先考虑的问题。时间。

答案 1 :(得分:1)

给定的答案已经过时,因为可以使用上述macrosmarkdownextradata之类的插件来完成,除非您仅引用{{ version }}

答案 2 :(得分:0)

作为更新,可以完全按照您的描述从extra的{​​{1}}插槽中插入变量。

要执行此操作,您需要安装markdownextradata插件。