8

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

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

extra:
    version: 1.0

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

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

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

在此处输入图像描述

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

3 回答 3

3

不,目前这是不可能的。

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

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

于 2017-02-10T14:07:51.607 回答
2

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

要完成这项工作,您需要安装markdownextradata插件。

于 2018-07-02T15:18:35.643 回答
2

给定的答案已经过时了,因为这可以通过上面提到的markdownextradata之类的插件来完成,除非您只是参考{{ version }}.

于 2020-11-13T16:01:59.767 回答