Nextra 中文文档
组织文件

组织文件

Nextra 首先从 pages 目录中收集所有你的 Markdown 文件和配置, 然后生成整个站点的“页面地图信息”,用于渲染以下内容,例如 navigation bar_ 和 sidebar


Nextra主题文档示例

示例:Nextra文档主题自动从Markdown文件中生成侧边栏和导航栏。

默认行为

默认情况下,将映射所有包含 .md.mdx 文件名以及目录结构,按字母顺序排序。 然后,Nextra 将使用 title (opens in a new tab) 包从文件名中获取格式化的页面名称。

例如,如果你有以下结构:

    • contact.md
    • index.mdx
      • legal.md
      • index.mdx
  • 已解析的页面地图将是(请注意,所有名称都按字母顺序排序):

    [
      {
        "name": "About",
        "children": [{ "name": "Index" }, { "name": "Legal" }]
      },
      { "name": "Contact" },
      { "name": "Index" }
    ]

    全局页面地图将由 Nextra 打包到每个页面中。然后,配置的主题将使用该页面地图渲染实际的用户界面。

    _meta.json

    通常,自定义每个页面的标题非常常见,而不仅仅依赖于文件名。 将页面命名为 "Index" 缺乏清晰度。最好分配一个有意义的标题,准确代表内容,例如 "Home"。

    这就是 _meta.json 的作用所在。你可以在每个目录中拥有一个 _meta.json 文件,它将用于覆盖每个页面的默认配置:

    • _meta.json
    • contact.md
    • index.mdx
      • _meta.json
      • legal.md
      • index.mdx
  • 你可以把它放在你的 pages/_meta.json 文件中:

    pages/_meta.json
    {
      "index": "My Homepage",
      "contact": "Contact Us",
      "about": "About Us"
    }

    它告诉 Nextra 每个页面的顺序和正确的标题。或者,你也可以使用 title 进行设置,并在其中添加其他配置:

    pages/_meta.json
    {
      "index": "My Homepage",
      "contact": "Contact Us",
      "about": {
        "title": "About Us",
        "...其他配置...": "..."
      }
    }

    额外的配置被传递给 主题 作为额外的信息。查看相应页面获取更多信息: