awesome-brain-manager
A plugin that tries to solve all the trivial problems most people usually encountered in obsidian. 旨在解决大多数人在Obsidian中遇到…
git clone https://github.com/JuckZ/awesome-brain-manager.gitJuckZ/awesome-brain-managerAwesome Brain Manager
Awesome Brain Manager - An Obsidian plugin
📝 Documentation
To check out docs, visit English Doc or 中文文档
📅 Changelog
Detailed changes for each release are documented in the CHANGELOG.
💖 Thanks
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.
Awesome Brain Manager Monorepo
一个解决 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:*"
}
}
发布流程(Changesets)
# 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
常见问题
1. 如何创建新的包或应用?
可以使用以下命令创建新的工作区:
pnpm turbo gen workspace
然后按照提示进行设置。
2. 如何确保依赖关系正确?
在 turbo.json 中设置任务的依赖关系,例如:
{
"tasks": {
"build": {
"dependsOn": ["^build"]
}
}
}
这确保了在构建当前包之前,其依赖的所有包都已经完成构建。
more like this
language-translator
An Obsidian plugin to translate selected text in the desired language
Obsidian-WebClipper-Template-Generator
Automates the creation of JSON template files for Obsidian WebClipper.
