# vuepress-bar **Repository Path**: rmxd/vuepress-bar ## Basic Information - **Project Name**: vuepress-bar - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-03 - **Last Updated**: 2022-01-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vuepress-plugin-autobar VuePress sidebar and navbar generator based on file and directory structure. Focus your documents, not sidebar or navbar. ## 1. Synopsis ### Install ```bash # npm install -D vuepress-plugin-autobar # Waitting author accepted the PR. npm install -D boboidream/vuepress-bar ``` ### Usage Add `vuepress-plugin-autobar` in your site or theme config file. See [official docs on using a plugin](https://vuepress.vuejs.org/plugin/using-a-plugin.html) ```js // .vuepress/config.js // or // .vuepress/theme/index.js module.exports = { plugins: ['autobar'] } ``` ## 2. Features - **Creates navbar & sidebar:** Add `navbar` prefix to your directories such as `nav.guide` or `nav.01.guide` - **Custom sort:** Prefix directories with numbers, or add `order` meta to files such as `01.guide` - **Multiple Sidebars** - **No configuration** - Adds README.md to the first available group like VuePress web site. (May be disabled by options) - Possible to pass parameters in directory names. (See advanced example below.) ## 3. Examples ### With Navbar ``` |- docs/ |- .vuepress |- nav.01.guide/   |- README.md |- nav.02.api/   |- classes/ |- member.md ``` ```js { 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' ] } ] } } ``` - Readme is moved into first group: `'/nav.02.api/': [ { title: 'Classes', children: [ '', 'classes/member' ] } ]` instead of `'/nav.02.api/': [ '', { title: 'Classes', children: [ 'classes/member' ] } ]` ### Without Navbar ``` |- docs/ |- .vuepress |- 01.guide/   |- README.md |- 02.api/   |- classes/ |- member.md ``` ```js { nav: [], sidebar: [ { title: "Guide", children: ["01.guide/"] }, { title: "Api", children: [{ title: "Classes", children: ["02.api/classes/member"] }] } ] }; ``` ## 4. Advanced ### Conventions It is possible to pass sidebar parameters in directory names. You may pass following parameters after double dash `--` separated by comma: - `nc` sets `collapsable` to `false`. - `dX` sets `sidebarDepth` to `X`. ``` |- docs/ |- 01.guide--nc,d2/   |- README.md ``` ```js { nav: [], sidebar: [ { title: "Guide", collapsable: false, sidebarDepth: 1, children: ["01.guide--nc,d2/"] }, ] }; ``` **Notes** - VuePress requires `README.md` as default file in a `navbar` link. Forgetting `README.md` would skip that creation of that navbar item. ### Advanced Options ```js // .vuepress/config.js // or // .vuepress/theme/index.js const autobar_options = { rootDir: 'xxx', stripNumbers = true, maxLevel = 2, navPrefix = "nav", skipEmptySidebar = true, skipEmptyNavbar = true, multipleSideBar = true, setHomepage = 'hide' | 'toGroup' | 'top' }; module.exports = { plugins: [ [ 'autobar', autobar_options ] ] } ``` **tips** If you want to use simple links, maybe you will like [vuepress-plugin-rpurl](https://github.com/boboidream/vuepress-plugin-rpurl). ### API | Param | Type | Default | Description | | ---------------- | ------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | | rootDir | String | `${ctx.sourceDir}` | Root directory where the documents are located. | | 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. | | setHomepage | String | `hide` | `hide`: Hide homepage link in sidebar.
`toGroup`: Adds README.md into first group of sidebar.
`top`: Show homepage link at top of sidebar | | pinyinNav | Boolean | `false` | Do not translate chinese nav to pinyin. | > Tips: pinyinNav: true,Should use with [vuepress-plugin-permalink-pinyin](https://github.com/viko16/vuepress-plugin-permalink-pinyin).