gpt4 book ai didi

markdown - mkdocs 导航标题与页面标题不同

转载 作者:行者123 更新时间:2023-12-04 04:17:46 25 4
gpt4 key购买 nike

我的 mkdocs.yml文件有 nav缩短以适合左侧导航中每行仅 1 行的标题,我想要 .md Markdown 页面标题是未缩写的全长标题。

例如,虽然我的 mkdocs.yml文件包含:

nav:
- BD, ML, DS: Big_Data,_Machine_Learning,_Data_Science.md
- AI, VI: Artificial_Intelligence,_Video_Intelligence.md

我想要 .md页面标题为:
Big Data, Machine Learning, and Data Science

...而不是复制/使用 mkdocs.yml导航标题:
BD, ML, DS

当我将 Markdown 页面标题添加到我的 # Big Data... 的第一行( .md )时文件,我得到了我想要的页面标题和继承的 mkdocs.yml nav标题:
BD, ML, DS
7 min (1,939 words)
Big Data, Machine Learning, and Data Science

似乎答案在 mkdocs.yml文件指定一个不同的/第二个“页面显示”名称,但许多谷歌搜索没有结果。

您还尝试过或听说过哪些其他方法?谢谢!

最佳答案

这仅适用于专门添加对此类功能的支持的自定义主题。但是,我不知道提供此类功能的任何主题。

一个页面只能有一个标题。但是,页面标题可以通过以下四种方式之一定义为 documented :

MkDocs will attempt to determine the title of a document in the following ways, in order:

  1. A title defined in the nav configuration setting for a document.
  2. A title defined in the title meta-data key of a document.
  3. A level 1 Markdown header on the first line of the document body.
  4. The filename of a document.

Upon finding a title for a page, MkDoc does not continue checking any additional sources in the above list.



最后一句话是完成这项工作的关键。由于 MkDocs 正在寻找一个 titlenav 中定义您的 mkdocs.yml 的配置配置文件,它从不检查 title在其他任何地方定义(包括在元数据中)。它只是使用 nav页面标题作为页面标题无处不在(在 page.title 属性中)。

但是,页面的元数据仍然保存在 page.meta 下。属性。因此,您可以使用 page.titlenav您的自定义主题部分和 page.meta.title主题中的任何其他地方。

要为页面定义元数据,请将 YAML 部分添加到 Markdown 文件的开头:
---
title: Big Data, Machine Learning, and Data Science
---

The first line of your Markdown.

当然,像以前一样在配置文件中定义标题:
nav:
- 'BD, ML, DS': 'Big_Data,_Machine_Learning,_Data_Science.md'

然后在你的主题中你可以使用 page.title你想要的地方 BD, ML, DS出现和 page.meta.title你想要的地方 Big Data, Machine Learning, and Data Science出现。

如果您不想从头开始创建一个全新的主题,您可以 combine custom_dirtemplate blocks仅覆盖您选择的主题的特定部分。

关于markdown - mkdocs 导航标题与页面标题不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60215601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com