mirror of
https://github.com/embersparks/obsidian-github-stars-manager.git
synced 2026-07-22 06:44:31 +00:00
主要功能: - 支持多种格式导出 GitHub stars(JSON、CSV、Markdown、TXT) - 添加完整的主题系统,支持亮色/暗色模式 - 集成 emoji 支持,增强用户体验 - 优化 GitHub Actions 工作流配置 - 完善部署脚本和文档 技术改进: - 重构项目结构,提升代码可维护性 - 添加类型定义,增强类型安全 - 优化 UI 组件和用户交互 - 完善错误处理和边界情况 🤖 Generated with [Claude Code](https://claude.ai/code)
4.6 KiB
4.6 KiB
Obsidian 插件自动部署指南
本指南将帮助你设置自动部署功能,让每次编译成功后自动将插件文件复制到 Obsidian 插件目录并备份原文件。
🚀 快速开始
方法1:自动部署(推荐)
-
设置环境变量
运行以下任一脚本来设置环境变量:
Windows 批处理版本:
setup-env.batPowerShell 版本:
.\setup-env.ps1 -
构建并自动部署
设置完环境变量后,每次运行构建命令都会自动部署:
npm run build
方法2:手动部署
如果环境变量设置有问题,可以使用手动部署脚本:
deploy.bat
📁 目录结构
部署后,你的 Obsidian 插件目录结构将如下:
E:\cai的黑曜石\.obsidian\plugins\obsidian-github-stars-manager\
├── main.js # 主插件文件
├── styles.css # 样式文件
├── manifest.json # 插件清单
└── backup\ # 备份目录
├── main.js.2024-01-01_12-30-45.backup
├── styles.css.2024-01-01_12-30-45.backup
└── manifest.json.2024-01-01_12-30-45.backup
🔧 工作原理
自动部署流程
- 构建检查:只有在构建成功(无错误)时才会执行部署
- 环境变量检查:检查
OBSIDIAN_PLUGIN_DIR环境变量是否设置 - 目录创建:自动创建目标目录和备份目录(如果不存在)
- 文件备份:如果目标文件已存在,先创建带时间戳的备份
- 文件复制:将新编译的文件复制到目标目录
- 状态报告:显示部署结果和备份位置
备份命名规则
备份文件使用以下命名格式:
原文件名.YYYY-MM-DDTHH-MM-SS.backup
例如:main.js.2024-01-01T12-30-45.backup
🛠️ 环境变量设置
自动设置(推荐)
运行 setup-env.bat 或 setup-env.ps1 脚本,它们会:
- 使用默认路径:
E:\cai的黑曜石\.obsidian\plugins - 允许你自定义路径
- 自动设置用户环境变量
手动设置
如果需要手动设置环境变量:
Windows 命令行:
setx OBSIDIAN_PLUGIN_DIR "E:\cai的黑曜石\.obsidian\plugins"
PowerShell:
[Environment]::SetEnvironmentVariable("OBSIDIAN_PLUGIN_DIR", "E:\cai的黑曜石\.obsidian\plugins", "User")
📝 使用说明
开发工作流
-
初次设置:
# 设置环境变量 setup-env.bat # 重启 VS Code 或命令行 -
日常开发:
# 修改代码后,构建并自动部署 npm run build # 或者使用开发模式(自动监听文件变化) npm run dev -
在 Obsidian 中测试:
- 打开 Obsidian
- 进入设置 → 社区插件
- 重新加载插件或重启 Obsidian
故障排除
问题:环境变量未生效
- 解决:重启命令行、VS Code 或整个系统
问题:权限不足
- 解决:以管理员身份运行设置脚本
问题:路径包含特殊字符
- 解决:确保路径用引号包围,或使用手动部署脚本
问题:备份文件过多
- 解决:定期清理
backup目录中的旧备份文件
🎯 高级配置
自定义插件ID
如果你修改了插件ID,需要同时更新 esbuild.config.mjs 中的 pluginId 变量:
const pluginId = "your-custom-plugin-id"; // 必须与 manifest.json 中的 'id' 匹配
添加更多文件类型
如果需要复制其他文件,可以修改 esbuild.config.mjs 中的 copyPlugin:
// 例如复制 README.md
if (fs.existsSync("README.md")) {
backupAndCopy("README.md", path.join(targetDir, "README.md"), "README.md");
}
📋 文件说明
setup-env.bat- Windows 批处理版本的环境变量设置脚本setup-env.ps1- PowerShell 版本的环境变量设置脚本deploy.bat- 手动部署脚本(不依赖环境变量)esbuild.config.mjs- 包含自动部署逻辑的构建配置
🔄 更新说明
当你更新这些脚本或配置时,记得:
- 检查路径是否正确
- 测试备份功能是否正常
- 验证文件权限设置
- 更新相关文档
现在你可以享受无缝的开发体验了!每次 npm run build 都会自动部署到 Obsidian,同时保护你的现有文件。