Skip to content

内置元数据插件

元数据插件解决了为文件夹中所有页面设置元数据(前置信息)的问题,即项目的一个子部分,这在确保某个页面子集具有特定标签、使用自定义模板或归属于某个作者时特别有用。

目标

工作原理

该插件扫描docs目录中的.meta.yml文件,并递归地将这些文件的内容与同一文件夹及所有子文件夹中包含的所有页面的元数据(前置信息)合并。例如,如果您想为多个页面添加标签Example,可以使用:

.meta.yml
tags:
  - Example

现在,给定以下目录结构,如果您将文件存储在名为example的文件夹中,则该文件夹中的所有页面都会收到该标签,而文件夹外的所有页面则不受影响:

.
├─ docs/
  ├─ ...
  ├─ example/
    ├─ .meta.yml
    ├─ a.md
    ├─ ...
    └─ z.md
  └─ ...
└─ mkdocs.yml

在合并元数据时,列表和字典会递归合并,这意味着您可以向列表中添加值,并在字典的任意层级中添加或设置特定属性。

何时使用

虽然该插件本身在添加和合并元数据方面没有提供太多功能,但它是Material for MkDocs提供的许多其他内置插件的完美伴侣。元数据插件与其他内置插件的最强大组合之一包括:

  •   内置社交插件


    元数据插件可用于[更改社交卡片的布局]或为页面子集[更改特定布局选项],如[背景]或[颜色]。

    .meta.yml
    social:
      cards_layout: default/variant
    
  •   内置博客插件


    元数据插件允许自动将博客文章与特定[作者]和[类别]关联,确保博客文章始终正确标注。

    .meta.yml
    authors:
      - squidfunk
    
  •   内置标签插件


    元数据插件使得确保项目的子部分被标注为[特定标签]成为可能,以便在添加页面时不会被遗忘。

    .meta.yml
    tags:
      - Example
    
  •   内置搜索插件


    元数据插件使得[提升]搜索结果中特定部分或[完全排除]它们被索引变得简单,从而提供对搜索的更细粒度控制。

    .meta.yml
    search:
      exclude: true
    

配置

9.6.0 meta – built-in

与所有[内置插件]一样,使用元数据插件非常简单。只需将以下行添加到mkdocs.yml中,即可开始为多个页面同时应用元数据:

plugins:
  - meta

元数据插件包含在Material for MkDocs中,无需单独安装。

一般设置

以下设置可用:


enabled

9.6.0 true

使用此设置在[构建项目]时启用或禁用插件。通常不需要指定此设置,但如果您想禁用插件,可以使用:

plugins:
  - meta:
      enabled: false

元文件

以下设置适用于元文件:


meta_file

9.6.0 .meta.yml

使用此设置更改插件在扫描docs目录时查找的元文件名称。通常不需要更改此设置,但如果您想更改它,可以使用:

plugins:
  - meta:
      meta_file: .meta.yml

提供的路径是从docs目录递归解析的。