Awesome Brain Manager - An Obsidian plugin
To check out docs, visit English Doc or 中文文档
Detailed changes for each release are documented in the CHANGELOG.
This project owes a debt of gratitude to obsidian-rollover-daily-todos, obsidian-admotion, obsidian-reminder, makemd, Blue-topaz-example and some other projects for their invaluable contributions, especially project Blue-topaz-example、obsidian-reminder、makemd bring me lots of inspiratio. I have utilized and customized some of their code in this project, and I strongly recommend these projects for their impressive.
一个解决 Obsidian 中常见问题的插件,现在使用 monorepo 结构进行管理。
- 构建工具:Turborepo
- 包管理器:pnpm
- UI 框架:Vue 3
- 构建系统:Vite
- 文档工具:VitePress
awesome-brain-manager/
├── apps/ # 应用程序
│ └── obsidian-plugin/ # Obsidian 插件应用
│
├── packages/ # 可共享的包
│ ├── ui/ # UI 组件库
│ ├── utils/ # 实用工具库
│ ├── theme/ # 主题相关
│ ├── docs/ # 文档
│ └── tsconfig/ # 共享 TypeScript 配置
│
└── turbo.json # Turborepo 配置
pnpm install# 开发所有工作区
pnpm dev
# 开发特定工作区
pnpm dev --filter=awesome-brain-manager
pnpm dev --filter=@repo/ui# 构建所有工作区
pnpm build
# 构建特定工作区
pnpm build --filter=awesome-brain-manager# 测试所有工作区
pnpm test
# 测试特定工作区
pnpm test --filter=@repo/utils# 启动文档开发服务器
pnpm docs:dev# 添加依赖到根目录
pnpm add -w [package]
# 添加依赖到特定工作区
pnpm add [package] --filter=awesome-brain-manager在 package.json 中使用 workspace:* 语法添加工作区依赖:
{
"dependencies": {
"@repo/ui": "workspace:*"
}
}# 1) 新功能/修复提交前,创建 changeset
pnpm changeset
# 2) 合并到 master 后,CI 会自动创建/更新版本 PR
# (由 .github/workflows/release.yml 驱动)
# 3) 版本 PR 合并后,CI 自动执行发布
# - 运行 pnpm changeset:version
# - 发布 npm 包(pnpm changeset:publish)发布前如果需要本地预演版本文件更新:
pnpm changeset:version可以使用以下命令创建新的工作区:
pnpm turbo gen workspace然后按照提示进行设置。
在 turbo.json 中设置任务的依赖关系,例如:
{
"tasks": {
"build": {
"dependsOn": ["^build"]
}
}
}这确保了在构建当前包之前,其依赖的所有包都已经完成构建。
