VitePress 极简主题:文章列表配置
文章列表由 usePosts 函数生成,用于获取博客的所有文章并生成文章列表,可以传入一个对象进行自定义配置,控制文章源目录、每页文章数等。
配置项
| 参数名 | 默认值 | 备注 |
|---|---|---|
| folder | ['posts'] | 文章源目录配置,支持字符串数组简写或对象数组(详见下表) |
| pageSize | 10 | 全局默认每页文章数 |
| index | true | 是否将首个列表设置为主页(设为 false 则从 /page-1 开始,根目录让位给自定义主页) |
| excerpt | 0 | 自动摘要,值为摘要字数 |
| permalink | 'posts' | 全局默认永久链接前缀,填入 '' 空字符串可以关闭永久链接 |
folder 对象配置项
当 folder 数组中使用对象形式时,可对每个文章目录进行精细化配置:
| 参数名 | 默认值 | 备注 |
|---|---|---|
| input | (必填) | 文章源文件夹路径(如 'posts'、'essays') |
| name | input | 该目录的展示名称,用于多目录分页 Title 等(如 '散文') |
| output | 第一项为 ''(根目录),后续项为 input | 分页列表文件的输出路径 |
| permalink | input | 该目录文章的永久链接前缀 |
| index | 第一项继承全局 index(默认 true),后续项为 true | 是否生成 index.md 作为该目录的列表首页 |
| pageSize | 继承全局 pageSize | 该文件夹专属的每页文章数 |
示例代码
- posts:文章列表
- hiddenPosts:隐藏文章列表
- excludePosts:排除文章列表
- rewrites:路由重写对象
ts
const { posts, hiddenPosts, excludePosts, rewrites } = await usePosts({
pageSize: 10,
folder: [
{ input: 'posts', index: false },
{ input: 'essays', name: '散文' }
],
excerpt: 150
});


