Link

网站导航结构

目录

  1. 第一级目录
  2. 页面排序
  3. 页面排除Excluding pages
  4. 子页面
    1. 子页面
    2. 自动生成目录
    3. 子页面的子页面
  5. 页面内的目录

第一级目录

一级目录是进入网站后做左侧的导航栏,如果使用移动设备打开网站,则导航会自动到右上角去。

一级目录下可以设置子目录,最多可以设置到第三级目录。

除非设置子目录,否则所有文章都会出现在一级目录。


页面排序

可以使用 nav_order 来为页面排序,同时为了方便提交,也建议为每个 markdown 文件设置编号。

例如

---
layout: default
title: Customization
nav_order: 4
---

页面排除Excluding pages

某些时候你并不希望将一个页面显示在主页,例如 404 页,这时候可以通过 nav_exclude: true 参数来排除。

例如

---
layout: default
title: 404
nav_exclude: true
---

子页面

本博客支持子页面,可以在一级目录下再创建子页面,例如一级目录路径为 ./docs ,你可以配置 ./docs/ui-components 或者 ./docs/utilities这样的子路径,让网站结构更清晰。

+-- ..
|-- (Jekyll files)
|
|-- docs
|   |-- ui-components
|   |   |-- index.md  (parent page)
|   |   |-- buttons.md
|   |   |-- code.md
|   |   |-- labels.md
|   |   |-- tables.md
|   |   +-- typography.md
|   |
|   |-- utilities
|   |   |-- index.md      (parent page)
|   |   |-- color.md
|   |   |-- layout.md
|   |   |-- responsive-modifiers.md
|   |   +-- typography.md
|   |
|   |-- (other md files, pages with no children)
|   +-- ..
|
|-- (Jekyll files)
+-- ..

在父页面上,需要指定下列参数:

  • has_children: true (宣告此页面下有子页面)

例如

---
layout: default
title: UI Components
nav_order: 2
has_children: true
---

子页面

在子页面上,指定 parent: YAML 参数即可将此页面加入某个父页面下。

例如

---
layout: default
title: Buttons
parent: UI Components
nav_order: 2
---

自动生成目录

默认所有有子页面的页面都会自动生成一个目录,可以使用 has_toc: false 参数禁用此目录。

举例

---
layout: default
title: UI Components
nav_order: 2
has_children: true
has_toc: false
---

子页面的子页面

子页面也可以拥有自己的子页面,只需配置下列参数:

  1. 在子页面(二级目录)markdown 上添加 has_children 参数
  2. 在子子页面(三级目录)markdown 上添加 parentgrand_parent 参数指定其父路径和爷爷路径。

举例

---
layout: default
title: Buttons
parent: UI Components
nav_order: 2
has_children: true
---
---
layout: default
title: Buttons Child Page
parent: Buttons
grand_parent: UI Components
nav_order: 1
---

配置好上述内容后,导航结构便会变为这样:

+-- ..
|
|-- UI Components
|   |-- ..
|   |
|   |-- Buttons
|   |   |-- Button Child Page
|   |
|   |-- ..
|
+-- ..

页面内的目录

可以在页面的<ol> 后添加 {:toc} 可以自动生成目录,如果某些标题不想生成目录,只需要在其下方添加 {: .no_toc }

例如

# Navigation Structure
{: .no_toc }

## Table of contents
{: .no_toc .text-delta }

1. TOC
{:toc}

上述例子将页面名(#) 以及目录标题(##)隐藏掉了。