Это возможно только с пользовательской темой, которая специально добавляет поддержку такой функции. Однако я не знаю ни одной темы, предлагающей такую функцию.
Страница может иметь только один заголовок. Однако заголовок страницы может быть определен любым из четырех способов: документированный :
MkDocs попытается определить заголовок документа следующими способами, по порядку:
- Заголовок, определенный в параметре конфигурации nav для документа.
- Заголовок, определенный в ключе метаданных
title
документа. - Заголовок Markdown уровня 1 в первой строке тела документа.
- Имя файла документа.
Найдя заголовок страницы, MkDo c не продолжает проверять какие-либо дополнительные источники в приведенном выше списке.
Последнее предложение является ключом к созданию этой работы. Поскольку MkDocs находит title
, определенный в конфигурации nav
вашего конфигурационного файла mkdocs.yml
, он никогда не проверяет title
, определенный где-либо еще (в том числе в метаданных). Он просто использует заголовок nav
для страницы в качестве заголовка страницы везде (в атрибуте page.title
).
Однако метаданные для страницы все еще сохраняются в атрибут page.meta
. Следовательно, вы можете использовать page.title
в разделе nav
вашей пользовательской темы и page.meta.title
в любом месте вашей темы.
Чтобы определить метаданные для страницы, добавьте раздел YAML в начало файла уценки:
---
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
.
Если вы не хотите создавать новую тему с нуля, вы можете объединить a custom_dir и шаблонных блоков для переопределения только определенных c разделов выбранной вами темы.