Skip to content

2024-03-13

概览

项目仓库借助于 pnpm 工作空间 来实现 Monorepo ,存放了多个互相关联的独立 Package 。

  • 主题于 theme 目录中进行开发维护。
  • 插件于 plugins 目录中进行开发维护。
  • 文档于 docs 目录中进行开发维护。

plugins 目录中:

  • plugin-search: 为主题提供 全文模糊搜索 功能
  • plugin-md-power: 提供 markdown 增强功能
  • plugin-fonts: 提供特殊字符字体支持

开发配置

开发要求:

克隆代码仓库,并安装依赖:

pnpm install

在首次启动开发服务前,先构建源代码:

pnpm build

主要工具

脚本

pnpm build

build 命令使用 tsc 将源代码编译成 lib 目录下的 .js 文件。 同时复制 不需要编译的资源到对应的lib 目录下。

你在克隆代码仓库后,需要先执行该命令来确保项目代码可以顺利运行,因为编译后的输出目录被 .gitignore 排除在仓库以外了。

pnpm dev

dev 命令会在本地开启两个服务,一个是运行 主题 theme 目录的 tsup:watch & copy:watch, 一个是运行 示例 docs 目录的 vuepress 开发服务。

plugins 目录下的所有插件,默认都没有 dev 命令,因此,你对 plugins 下的改动,可能需要执行 pnpm build 命令 进行重新构建,部分对 plugins/**/node 目录下的改动,需要重新执行 pnpm dev 才能生效。

pnpm lint

lint 命令使用 ESLint 来检查所有源文件。

lint 给出了错误时,你可以手动修改源码以修复 eslint 的报错。 也可以执行 pnpm lint:fix 来自动修复。

pnpm test

test 命令使用 Vitest 来运行所有测试。

IDE 支持

推荐使用 vs code 进行开发。本仓库配置了开发本主题时,推荐的 vs code 扩展, 当你导入本仓库时,vs code 可能会推荐你安装一些扩展。

文档贡献

感谢您对 vuepress-theme-plume 文档的贡献!以下是文档贡献的规范和流程。

文档风格规范

  • 人称代词:统一使用"您"作为说明性文字的称谓,避免使用"你"。
  • 文件命名:所有 Markdown 文件使用 kebab-case 命名(如 audio-reader.md,而非 audioReader.md)。
  • 概述段落:每个文档的 ## 标题之后应有简短的概述段落,说明该文档的内容和用途。
  • 代码示例:代码块应标注语言类型,配置示例应包含完整的导入语句和上下文。
  • 链接引用:使用相对路径引用其他文档,确保链接有效性。

文档提交流程

  1. Fork 仓库并创建新的分支
  2. docs/ 目录下修改或新建文档
  3. 如新建文档,需在 docs/.vuepress/collections/zh/ 下对应的侧边栏配置文件中添加条目
  4. 运行 pnpm lint 检查代码质量
  5. 运行 pnpm dev 预览文档效果
  6. 提交 Pull Request,描述文档变更内容

文档目录结构

docs/
├── guide/           # 使用指南
│   ├── quick-start/ # 快速开始
│   ├── markdown/    # Markdown 扩展
│   ├── features/    # 功能特性
│   └── custom/      # 自定义配置
├── config/          # 配置参考
│   ├── plugins/     # 插件配置
│   └── ...
└── .vuepress/       # VuePress 配置
    └── collections/ # 集合和侧边栏配置