npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

vas-dir-indexalias

v1.7.4

Published

Forked from QC2168

Downloads

43

Readme

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

Parameters

| name | description | type | default | | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ------- | | ignoreList | ignore specified folder | string[] | true | | path | create scan path for the sidebar | string | /docs | | scanRootMdFiles | scan the md file in path | boolean | true | | ignoreIndexItem | ignore the page sidebar with only index.md | boolean | false | | collapsed | By adding collapsed option to the sidebar group, it shows a toggle button to hide/show each section,For specific usage, please refer to VitePress | boolean | false | | deletePrefix | deletes the md file prefix | string | | | titleFromFile | read title from md file | boolean | false | | titleFromFileByYaml | read title from yaml config | boolean | false | | indexAliasFromFile | read sidebar-stack alias name from index.md | boolean | false | | indexFileUseTitleName | let index.md use its title as name in sidebar or not. | boolean | false |

Tips: about indexAliasFromFile

This tries to get value of alias from frontmatter of index.md. If not presented, uses first h1 headline as alias. If also not presented, skip alias.

A valid frontmatter for alias should like:

---
#...other attributes
alias: Example
---
Tips: about indexFileUseTitleName

If true, will override ignoreIndexItem as false.

Hooks

You can change the injected sidebar object using the hooks parameter

| name | description | type | default | | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ------- | | sideBarResolved | receive complete sidebar objects for custom modifications | (data: DefaultTheme.SidebarMulti) => DefaultTheme.SidebarMulti | | | sideBarItemsResolved | receive complete sidebar subItem objects for custom modifications | (data: DefaultTheme.SidebarItem[]) => DefaultTheme.SidebarItem[] | | | beforeCreateSideBarItems | obtain 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[] | |

License

MIT License © 2023 QC2168