Skip to content

插件发布流程

完成插件开发后,你可以将其发布到 Obsidian 社区插件市场,让更多用户使用。本文详细介绍发布流程。

发布前准备

代码检查清单

在发布前,确保完成以下检查:

必要文件

文件说明必须
manifest.json插件清单
main.js编译后的代码
styles.css样式文件(可选)
README.md说明文档
LICENSE开源许可证推荐
.gitignoreGit 忽略配置推荐

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-plugin
  • minAppVersion:设置最低支持的 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 仓库

  1. 登录 GitHub
  2. 创建新仓库
    • 仓库名建议与插件 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

  1. 进入仓库的 Releases 页面
  2. 点击「Create a new release」
  3. 填写信息:
    • Tag: 1.0.0
    • Title: v1.0.0
    • Description: 更新日志
  4. 上传文件:
    • main.js
    • manifest.json
    • styles.css(如有)
  5. 点击「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 官方插件列表

  1. 访问 obsidian-releases
  2. 点击「Fork」创建副本

添加插件信息

  1. 在你 Fork 的仓库中编辑 community-plugins.json
  2. 添加你的插件信息:
json
{
  "id": "my-plugin",
  "name": "My Plugin",
  "author": "Your Name",
  "description": "插件描述",
  "repo": "username/my-plugin"
}

提交 Pull Request

  1. 提交修改到你 Fork 的仓库
  2. 创建 Pull Request 到官方仓库
  3. 在 PR 描述中:
    • 简要介绍插件功能
    • 说明为什么适合加入社区插件
    • 提供测试说明

审核流程

  1. 维护者会检查你的插件
  2. 可能会提出修改建议
  3. 根据反馈进行修改
  4. 合并后,插件会出现在社区市场

审核标准

  • 功能有用且稳定
  • 代码质量良好
  • 有清晰的 README
  • 遵守社区准则
  • 不收集用户数据(或明确告知)

版本更新流程

更新版本号

遵循语义化版本(Semantic Versioning):

更新类型版本变化说明
Major1.0.0 → 2.0.0不兼容的 API 变更
Minor1.0.0 → 1.1.0新增功能,向后兼容
Patch1.0.0 → 1.0.1Bug 修复
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):社区讨论

安全更新

如果发现安全问题:

  1. 立即修复并发布新版本
  2. 在 Release Notes 中说明
  3. 如果严重,联系 Obsidian 团队
  4. 考虑添加安全策略文档

常见问题

插件审核需要多久?

通常 1-7 天,取决于提交数量和维护者时间。

审核未通过怎么办?

  1. 查看维护者的反馈
  2. 根据建议修改
  3. 更新 Pull Request
  4. 等待重新审核

如何下架插件?

  1. community-plugins.json 中移除
  2. 提交 Pull Request
  3. 说明下架原因

如何更新插件信息?

修改 community-plugins.json 中的信息,提交 Pull Request。

相关内容

最后更新:2026年2月22日编辑此页反馈问题