插件发布流程
完成插件开发后,你可以将其发布到 Obsidian 社区插件市场,让更多用户使用。本文详细介绍发布流程。
发布前准备
代码检查清单
在发布前,确保完成以下检查:
必要文件
| 文件 | 说明 | 必须 |
|---|---|---|
manifest.json | 插件清单 | ✅ |
main.js | 编译后的代码 | ✅ |
styles.css | 样式文件(可选) | ❌ |
README.md | 说明文档 | ✅ |
LICENSE | 开源许可证 | 推荐 |
.gitignore | Git 忽略配置 | 推荐 |
manifest.json 检查
json
{
"id": "my-plugin",
"name": "My Plugin",
"version": "1.0.0",
"minAppVersion": "0.15.0",
"description": "插件功能描述",
"author": "你的名字",
"authorUrl": "https://your-website.com",
"isDesktopOnly": false
}检查要点:
id:使用小写字母和连字符,如my-pluginminAppVersion:设置最低支持的 Obsidian 版本isDesktopOnly:如果插件需要 Node.js API,设为true
README.md 模板
markdown
# 插件名称
简短描述插件的功能。
## 功能特点
- 功能 1
- 功能 2
- 功能 3
## 安装
### 从社区插件市场安装
1. 打开设置 → 第三方插件
2. 关闭安全模式
3. 点击「浏览」搜索「插件名」
4. 安装并启用
### 手动安装
1. 下载 `main.js`、`styles.css`、`manifest.json`
2. 创建文件夹 `.obsidian/plugins/插件名/`
3. 将文件复制到该文件夹
4. 重启 Obsidian 并启用插件
## 使用方法
详细说明如何使用插件。
## 设置
说明插件的配置选项。
## 已知问题
列出已知的问题和限制。
## 更新日志
### 1.0.0
- 初始版本
## 贡献
欢迎提交 Issue 和 Pull Request。
## 许可证
MIT License代码质量检查
bash
# TypeScript 类型检查
npm run check
# ESLint 检查
npm run lint
# 构建测试
npm run build
# 确保没有错误安全检查
- 不要在代码中硬编码敏感信息
- 不要使用
eval()执行用户输入 - 验证所有用户输入
- 使用 HTTPS 进行网络请求
GitHub 仓库配置
创建 GitHub 仓库
- 登录 GitHub
- 创建新仓库
- 仓库名建议与插件 ID 一致
- 添加 README
- 选择开源许可证
推送代码
bash
# 初始化 Git
git init
# 添加文件
git add .
# 提交
git commit -m "Initial commit"
# 添加远程仓库
git remote add origin https://github.com/username/my-plugin.git
# 推送
git branch -M main
git push -u origin main创建 Release
发布需要通过 GitHub Release 分发文件:
方法一:手动创建 Release
- 进入仓库的 Releases 页面
- 点击「Create a new release」
- 填写信息:
- Tag:
1.0.0 - Title:
v1.0.0 - Description: 更新日志
- Tag:
- 上传文件:
main.jsmanifest.jsonstyles.css(如有)
- 点击「Publish release」
方法二:使用 GitHub Actions 自动发布
创建 .github/workflows/release.yml:
yaml
name: Release
on:
push:
tags:
- '*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: |
main.js
manifest.json
styles.css
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}发布流程:
bash
# 更新版本号
npm version patch # 或 minor / major
# 推送标签
git push --follow-tags提交到社区插件库
Fork 官方插件列表
- 访问 obsidian-releases
- 点击「Fork」创建副本
添加插件信息
- 在你 Fork 的仓库中编辑
community-plugins.json - 添加你的插件信息:
json
{
"id": "my-plugin",
"name": "My Plugin",
"author": "Your Name",
"description": "插件描述",
"repo": "username/my-plugin"
}提交 Pull Request
- 提交修改到你 Fork 的仓库
- 创建 Pull Request 到官方仓库
- 在 PR 描述中:
- 简要介绍插件功能
- 说明为什么适合加入社区插件
- 提供测试说明
审核流程
- 维护者会检查你的插件
- 可能会提出修改建议
- 根据反馈进行修改
- 合并后,插件会出现在社区市场
审核标准
- 功能有用且稳定
- 代码质量良好
- 有清晰的 README
- 遵守社区准则
- 不收集用户数据(或明确告知)
版本更新流程
更新版本号
遵循语义化版本(Semantic Versioning):
| 更新类型 | 版本变化 | 说明 |
|---|---|---|
| Major | 1.0.0 → 2.0.0 | 不兼容的 API 变更 |
| Minor | 1.0.0 → 1.1.0 | 新增功能,向后兼容 |
| Patch | 1.0.0 → 1.0.1 | Bug 修复 |
bash
# 更新版本号
npm version patch # Bug 修复
npm version minor # 新功能
npm version major # 重大变更更新 manifest.json
json
{
"version": "1.1.0"
}创建新 Release
bash
# 创建标签
git tag 1.1.0
# 推送标签
git push origin 1.1.0
# 或使用 GitHub Actions 自动发布
git push --follow-tags更新日志格式
markdown
## 1.1.0 (2024-01-15)
### 新增
- 新增功能 A
- 新增功能 B
### 修复
- 修复问题 X
- 修复问题 Y
### 变更
- 优化性能
- 更新依赖
### 已知问题
- 问题 Z 尚未解决最佳实践
发布前测试
yaml
测试清单:
桌面端:
- Windows: 测试通过
- macOS: 测试通过
- Linux: 测试通过
移动端:
- iOS: 测试通过(如支持)
- Android: 测试通过(如支持)
功能测试:
- 安装: 从市场安装正常
- 启用: 启用后功能正常
- 设置: 配置保存正确
- 卸载: 卸载后清理干净持续集成
添加 GitHub Actions 进行自动测试:
yaml
# .github/workflows/test.yml
name: Test
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Build
run: npm run build用户反馈渠道
在 README 中提供反馈渠道:
markdown
## 反馈与支持
- [GitHub Issues](https://github.com/username/plugin/issues):报告 Bug 或请求功能
- [GitHub Discussions](https://github.com/username/plugin/discussions):讨论和问答
- [Obsidian Forum](https://forum.obsidian.md):社区讨论安全更新
如果发现安全问题:
- 立即修复并发布新版本
- 在 Release Notes 中说明
- 如果严重,联系 Obsidian 团队
- 考虑添加安全策略文档
常见问题
插件审核需要多久?
通常 1-7 天,取决于提交数量和维护者时间。
审核未通过怎么办?
- 查看维护者的反馈
- 根据建议修改
- 更新 Pull Request
- 等待重新审核
如何下架插件?
- 从
community-plugins.json中移除 - 提交 Pull Request
- 说明下架原因
如何更新插件信息?
修改 community-plugins.json 中的信息,提交 Pull Request。