网站导航结构
目录
第一级目录
一级目录是进入网站后做左侧的导航栏,如果使用移动设备打开网站,则导航会自动到右上角去。
一级目录下可以设置子目录,最多可以设置到第三级目录。
除非设置子目录,否则所有文章都会出现在一级目录。
页面排序
可以使用 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
---
子页面的子页面
子页面也可以拥有自己的子页面,只需配置下列参数:
- 在子页面(二级目录)markdown 上添加
has_children
参数 - 在子子页面(三级目录)markdown 上添加
parent
和grand_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}
上述例子将页面名(#
) 以及目录标题(##
)隐藏掉了。