vitepress-outline-plus 
Custom outline composable and components for VitePress that gather both Markdown and raw HTML headings, keep the active marker in sync on desktop/mobile, and share a consistent visual style.
Local development 
bash
pnpm --filter vitepress-outline-plus dev  # type-check in watch mode
pnpm --filter vitepress-outline-plus build # emit .d.ts files to dist/Usage 
ts
// .vitepress/config.ts
import { defineConfig } from 'vitepress'
import { outlinePlus } from 'vitepress-outline-plus'
export default defineConfig({
  vite: {
    plugins: [
      outlinePlus()
    ]
  }
})Exports 
useOutline,useActiveAnchorCustomAsideOutline,CustomOutlineItem,CustomLocalNavOutlineDropdownoutlinePlus
All exports live under src/ so you can extend or copy them into your own theme if needed.