VuePress sidebar and navbar generator based on file and directory structure. Focus your documents, not sidebar or navbar.
Just point getConfig function to docs directory:
.vuepress/config.js
const getConfig = require("vuepress-bar");
module.exports = {
themeConfig: {
...getConfig(`${__dirName}/..`)
}
};.vuepress/config.js
const getConfig = require("vuepress-bar");
const barConfig = getConfig(`${__dirName}/..`)
module.exports = {
themeConfig: {
nav: [{ text: 'External', link: 'https://google.com' }, ...barConfig.nav]
sidebar: barConfig.sidebar,
}
};- Creates navbar & sidebar: Add
navbarprefix to your directories such asnav.guideornav.01.guide - Custom sort: Prefix directories with numbers, or add
ordermeta to files such as01.guide - Multiple Sidebars
- No configuration
|- docs/
|- .vuepress
|- nav.01.guide/
|- README.md
|- nav.02.api/
|- classes/
|- member.md
{
nav: [
{ text: 'Guide', link: '/nav.01.guide/' },
{ text: 'Api', link: '/nav.02.api/' }
],
sidebar: {
'/nav.01.guide/': [ '' ],
'/nav.02.api/': [ '', { title: 'Classes', children: [ 'classes/member' ] } ]
}
}|- docs/
|- .vuepress
|- 01.guide/
|- README.md
|- 02.api/
|- classes/
|- member.md
{
nav: [],
sidebar: [
{ title: "Guide", children: ["01.guide/"] },
{
title: "Api",
children: [{ title: "Classes", children: ["02.api/classes/member"] }]
}
]
};- VuePress requires
README.mdas default file in anavbarlink. ForgettingREADME.mdwould skip that creation of that navbar item.
| Param | Type | Default | Description |
|---|---|---|---|
| stripNumbers | Boolean | true |
Remove number prefixes from directory names where it helps sorting. |
| maxLevel | Number | 2 |
Maximum level of recursion for subdirectory traversing. |
| navPrefix | String | nav |
Prefix for directories for navbar and mulitple sidebars. |
| skipEmptySidebar | Boolean | true |
Do not add item to sidebar if directory is empty. |
| skipEmptyNavbar | Boolean | true |
Do not add item to navbar if directory is empty. |
| multipleSideBar | Boolean | true |
Creates multiple sidebars if there are navbar items. |