按照上帝造人的进度 day 7就应该打包release了,本篇参考(使用 GitHub Actions 发布您的插件 | Obsidian 插件开发文档)系列教程,并且在参考教程没有明确的地方做一些增补。
首先,按照下述教程创建.github/workflows/release.yml文件:
使用 GitHub Actions 发布您的插件 | Obsidian 插件开发文档
在这个.yml文件中,需要修改的2个地方是:
- PLUGIN_NAME: your-plugin-id 这一行换成自己的插件id
- 另外,为了避免后续GitHub Actions中报错:Resource not accessible by integration,可以在runs-on后面一行多加上一个permission:
jobs: build: runs-on: ubuntu-latest permissions: contents: write pull-requests: write repository-projects: write
这个解法参考了(git - "Resource not accessible by integration" on github post /repos/{owner}/{repo}/actions/runners/registration-token API - Stack Overflow)这样后续的Actions-Release就没有问题了
之后(中间这个文档我暂时没有用上:提交指南 | Obsidian 插件开发文档),直接到下一个:
这个文档从step2开始就不怎么清晰,我尝试复述step2下的内容:
- 在GitHub上,从 obsidian release:https://github.com/obsidianmd/obsidian-releases,创建一个你自己的fork分支
- 在本地终端,先cd到你想要存放obsidian release的路径,copy刚刚你fork出来分支的git,长这样:git clone https://github.com/【your-username】/obsidian-releases.git
- 继续在终端,配置:
cd obsidian-releases
git remote -v
git remote add upstream https://github.com/obsidianmd/obsidian-releases.git
* 注意这里最后一个upstream是obsidian官方的那个git(不是你fork出来的),这样配置正确后就会得到教程(Fork a repository - GitHub Docs)里说的类似这样的结果:
$ git remote -v
> origin https://github.com/YOUR-USERNAME/YOUR-FORK.git (fetch)
> origin https://github.com/YOUR-USERNAME/YOUR-FORK.git (push)
> upstream https://github.com/ORIGINAL-OWNER/ORIGINAL-REPOSITORY.git (fetch)
> upstream https://github.com/ORIGINAL-OWNER/ORIGINAL-REPOSITORY.git (push)
- 然后在本地文件的community-plugins.json中新增一个条目,关于你的plugin的描述(这里教程写的已经蛮清楚了)
- 然后这是你的【本地】的修改,需要先同步给【你fork下来的分支,即origin】,再通过pull request提交给【obsidian官方,即upstream】。因为这时候remote有两个东西,所以push的时候要指定为origin:
git add .
git commit -m "your description"
git push origin HEAD
- 然后,回到GitHub你fork出来的那个分支,按照Creating a pull request - GitHub Docs 的指示完成。
- 最后,如果遇到修改意见,如果是bot自动检测的就会很快,有问题就修改完重复这个步骤;之后就等 Obsidian 团队审核。
----------------------------------
顺便放上
plugins开发规范:https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines
以及版本命名规则:语义化版本 2.0.0 | Semantic Versioning
----------------------------------