Home

Awesome

vite-plugin-vitepress-auto-sidebar

The vite plugin that automatically generates sidebar data by scanning directories, based on vitepress

Npm Download License

✨ Feature

🚀 Automatically create the sidebar data and injected into config.ThemeConfig.sidebar

🤖 Listen globally for *.md files to automatically update sidebar data when they are added or deleted

🕯️ Usage

install vite-plugin-vitepress-auto-sidebar

# recommend using pnpm packageManager
pnpm i vite-plugin-vitepress-auto-sidebar
# or yarn
yarn add vite-plugin-vitepress-auto-sidebar
# or npm
npm install vite-plugin-vitepress-auto-sidebar

add plugin in .vitepress/config.ts

import AutoSidebar from 'vite-plugin-vitepress-auto-sidebar';

export default defineConfig({
  vite: {
    plugins: [
      // add plugin
      AutoSidebar({
        // You can also set options to adjust sidebar data
        // see option document below
      })
    ]
  },
})

Warning, you must clear the sidebar objects in the config.ts or it may not work properly

pnpm run dev

 [auto-sidebar] injected sidebar data successfully

If you see the above message, it means the plugin is working properly, otherwise there may be a problem

🛠️ Options

namedescriptiontypedefault
ignoreListignore specified folderstring[]true
pathcreate scan path for the sidebarstring/docs
ignoreIndexItemignore the page sidebar with only index.mdbooleanfalse
collapsedBy adding collapsed option to the sidebar group, it shows a toggle button to hide/show each section,For specific usage, please refer to VitePressbooleanfalse
deletePrefixdeletes the md file prefixstring
sideBarResolvedreceive complete sidebar objects for custom modifications(data: DefaultTheme.SidebarMulti) => DefaultTheme.SidebarMulti
sideBarItemsResolvedreceive complete sidebar subItem objects for custom modifications(data: DefaultTheme.SidebarItem[]) => DefaultTheme.SidebarItem[]
beforeCreateSideBarItemsobtain a list of file names scanned before generating sidebar subitems. If you want to sort sidebar data, it is recommended to use it(data: string[]) => string[]
titleFromFileread title from md filebooleanfalse
titleFromFileByYamlread title from yaml configbooleanfalse

License

MIT License © 2023 QC2168