页面内容与路由
2024/6/6大约 1 分钟
页面匹配
设置 pagePatterns 配置项来避免某个文件被 VuePress 处理,例如使用 ['**/*.md', '!**/README.md', '!.vuepress', '!node_modules'] 来排除所有的 README.md 文件。
被匹配到的每个 md 即为一个页面。
页面路由
默认情况下,页面的路由路径是根据你的 Markdown 文件的相对路径决定的。所有的 .md 都被路由成 .html
└─ docs (sourceDir)
├─ guide
│ ├─ getting-started.md
│ └─ README.md
├─ contributing.md
└─ README.mdvuepress dev docs| 相对路径 | 路由路径 |
|---|---|
/README.md | / |
/index.md | / |
/contributing.md | /contributing.html |
/guide/README.md | /guide/ |
/guide/getting-started.md | /guide/getting-started.html |
- 默认配置下,
README.md和index.md都会被转换成index.html,并且其对应的路由路径都是由斜杠结尾的。同时保留这两个文件,就可能会造成冲突。 - 一些符号如
:和+可能对vue-router有特殊含义,因此应该避免在文件名中使用它们。见:路由的匹配语法
Frontmatter
Markdown 文件可以包含一个 YAML Frontmatter 。Frontmatter 必须在 Markdown 文件的顶部,并且被包裹在一对三短划线中间。下面是一个基本的示例:
---
lang: zh-CN
title: 页面的标题
description: 页面的描述
---通过 Frontmatter 可以覆盖当前页面的 lang, title, description 等属性(即覆盖站点配置)。
- 可以把 Frontmatter 当作页面级作用域的配置。
支持的 Frontmatter 字段包括:
- VuePress 有内置的 Frontmatter
- 主题自己特殊的 Frontmatter
md 拓展
页面的主要内容是使用 Markdown 书写的。VuePress 首先会将 Markdown 转换为 HTML ,然后将 HTML 作为 Vue 单文件组件的 <template> 。
借助 markdown-it 和 Vue 模板语法的能力,基础的 Markdown 可以得到很多的扩展功能。
语法拓展
见:语法拓展