前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于目录为VitePress生成侧边栏

基于目录为VitePress生成侧边栏

作者头像
luciozhang
发布2023-04-22 16:26:25
1.4K0
发布2023-04-22 16:26:25
举报
文章被收录于专栏:前端lucio

今天封装了一个用于自动生成VitePress 侧边栏的npm包,分享一下,求求帮忙Star

github

vitepress-plugin-autobar

这应该是目前最简洁好用的生成VitePress 侧边栏的工具了。

VitePress

VitePress 是基于 Vite构建的文档网站框架,是 VuePress 的升级版本。

Vue3的文档就是用VitePress搭建的。

安装

代码语言:javascript
复制
npm install -D vitepress-plugin-autobar

使用

代码语言:javascript
复制
import { getSideBar } from 'vitepress-plugin-autobar'

module.exports = {
  // ...
  themeConfig: {
    // ...
    sidebar: getSideBar("./docs"),
  },
};

How it work?

如果你的目录是下面这样的。

代码语言:javascript
复制
.
├─ docs
│  ├─ .vitepress
│  │  └─ config.js
│  ├─ 01.Introduction
│  │  └─ START.md
│  ├─ 02.Utils
│  │  └─ dateUtil.md
│  │  └─ storeUtil.md
│  └─ index.md

调用 getSideBar 会生成下面这样的侧边栏数据。

文件的编号会被用于排序,并被自动去除。

代码语言:javascript
复制
[
    {
        "text":"Introduction",
        "items":[
            {
                "text":"START",
                "link":"01.Introduction/START"
            }
        ]
    },
    {
        "text":"Utils",
        "items":[
            {
                "text":"dateUtil",
                "link":"02.Utils/dateUtil"
            },
            {
                "text":"storeUtil",
                "link":"02.Utils/storeUtil"
            }
        ]
    },
    {
        "text":"Index",
        "items":[
            {
                "text":"Index",
                "link":"index"
            }
        ]
    }
]

VitePress的侧边栏配置

下一步计划

如果未来VitePress支持插件,将通过插件的形式,提供自动生成侧边栏的支持。

如果你有其他需求,欢迎提issus,合理的一定会实现。

实现过程

实现过程比较简单,这里只简单贴一下流程就可以了。

  • 新建npm包
  • 添加TypeScript支持
  • 添加ESLint(Quality
  • 代码实现:简单的遍历目录,按vitepress的配置结构生成sidebar数据。
  • 添加rollup打包配置
  • 添加Jest测试(Quality
  • 补充文档(Quality
  • npm包发布

后面带Quality的流程,都是影响npm质量评分的项目,不要偷懒不做。

参考资料

vuepress-plugin-autobar

制作一个同时支持 ESM, CJS, Browser 的 Package

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • VitePress
  • 安装
  • 使用
  • How it work?
  • 下一步计划
  • 实现过程
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档