[!Example]+ 属性
- 版本 v0.0.1-alpha+20240830
发布到 GIthub 上
分享到集市的前提是有 Github 账号,并且打算把自己的代码开源共享到 Github 上。 Github 是全球最大的程序员交流平台!里面有各路大神在这里分享自己的代码、工具、教程和生活!不仅可以学习怎么写代码、还可以学习怎么做饭——甚至是活到老!
访问 Github:https://github.com/
如果无法访问,请出门检索如何访问 Github,如果这个各位看客没有办法成功登录 Github——那么可以去看一切其他更有意义的帖子了。
登录和创建 Github 账号
注册入口在这里,其实个人感觉难度不大,按照步骤一步一步来就可以,我就不啰嗦了。
关于双重身份验证:
会在使用密码登录时,再让你输入一个口令,这个口令是之前保存的一个密钥: 我个人是用的
Authenticator Extension
插件,可以在Chrome
插件中下载。建议开启并做好密钥的备份。
创建仓库
创建入口
创建时的描述
成功后的界面
大概长下面这样为了演示,我创建了一个空仓库 名字就是 empty
(一般应该让主题和仓库的名称一样)
Git 基础知识
Git 概念和常用操作
Git 是版本控制工具,方便你和别人或者本地和服务器进行代码同步、历史溯源的工具。概念有很多,可以先只了解的简单:
- 仓库(repository): 一个软件或者项目就是一个仓库,这里存放和这个代码相关的所有源代码、历史提交记录和其他信息。如果仓库存放到服务器就是远程仓库、如果仓库在本地电脑上就是本地仓库。两者在地位上是相等的, 多人协作时,大家一般通过约定好的一个远程仓库进行数据的同步。 Github 本质上就是一个托管的“远程仓库”。在本地一般是指工作区下面的
.git
文件夹的内容。 - 工作区:软件代码所在的文件夹就是工作区,你可以在该文件下添加和修改文件和代码
- 暂存区:在
.git/index
目录中,可以理解为”已添加(git add) 的仓库但是尚未提交(git commit) 的内容“,你可以理解为暂时存储的内容。 - 添加 Git add: 把工作区的内容添加到暂存区
- 提交 Git commit: 把暂存区的内容提交到版本库
- 上传 git push: 把本地仓库推送到远程仓库
- 下载 git pull:从远程仓库拉取代码到本地仓库.
还有分支(branch)、合并冲突(git merge)、变基(git reabase)这些概念,我觉得作为初学者,尤其是只有自己一个人开发的时候还用不到,先熟悉上面的基本使用,再考虑进阶学习 git 的其他内容。
Git 安装
Windows 下载 Git for windows :比较简单,一步一步按提示操作即可。不缀述,其他操作系统自行百度。
添加仓库并推送
设置密钥
设置密钥是为了我们可以在不等了 Github 账号的情况下,完成和 Github 服务器同步代码,而且,只有这样我们才有权限修改同步代码。
-
在桌面空白处,鼠标右击,在菜单中选择 “Open Git Bash here”,进入 Git base 界面
-
然后在弹出的命令行中输入
cd ~/.ssh
-
如果是从来没有设置过,输入
ssh-keygen.exe
根据提示创建密钥,创建成功后,输入ls
,找到 pub 结尾的文件名。(如果已经创建创建就不用ssh-keygen.exe
)
-
继续输入
cat id_ed25519.pub
(具体根据自己实际情况输入文件名) -
把输出的内容复制保存等会用
-
打开 Github 添加密钥
-
添加完大概长这样
-
重新进入你创建的仓库,复制你的仓库链接
-
关联仓库
-
进入主题目录
-
在空白鼠标右击,在菜单中选择 “Open Git Bash here”,进入 Git base 界面
-
在 Git Base 中输入下面的命令,注意 “git@github.com:idea-zone/empty.git” 替换成你的仓库地址。(下面命令仅针对新的仓库,老仓库的话……都是老司机了,我不献丑了)
git init git add . git commit -m "初次提交" git remote add origin git@github.com:idea-zone/empty.git # 注意替换成你自己的仓库地址 git branch -M main git push -u origin main
-
在浏览器刷新仓库,你可以看见你的代码已经同步到服务器上了
推送代码
以后想同步代码就可以使用
git add .
git commit -m "你备注本次提交的内容"
git pull
git push
Github Action 基础知识
Github Action 可以理解成自动执行脚本。方便我们在提交代码后,让服务器也就是 Github 执行一些操作。
原因:新版主题推送要求
新版要求用需要创建 Releases
,并在 Releases
的 Assets
中包含 package.zip
压缩包。但是……默认情况下,不会有这个,所以需要通过 Action 实现。
Action 参数设置
我用脚本的创建规则是:在每次发布 Releases 的时候,需要手动添加一个新的 tags,这样在成功发布 Releases 的时候就会自动把仓库的代码打包并且重命名为 package.zip 上传到资源中。【其实可以改成当 develop 分支合并到 master 分支时自动完成,不过我一个人敲代码,这样也挺好的……╮(╯-╰)╭ 我懒得改了】
-
切换到 Action 标签页,并设置自己的 workflow
-
复制粘贴下面的代码(有英文注释,大家配合翻译看吧,因为也是从网上东抄西抄的)
name: Create package.zip 3 on: push: tags: - "*" jobs: build: runs-on: ubuntu-latest steps: # Create release - name: Create release uses: google-github-actions/release-please-action@v3 id: release with: release-type: node package-name: release-please-action ## branch to open pull release PR against (detected by default) default-branch: main ## Should breaking changes before 1.0.0 produce minor bumps? Default false bump-minor-pre-major: true ## Should feat changes before 1.0.0 produce patch bumps instead of minor bumps? Default false bump-patch-for-minor-pre-major: true ## If set, create releases that are pre-major or pre-release version marked as pre-release on GitHub. Defaults false prerelease: true ## header used within the release PR body, defaults to using :robot: I have created a release *beep* *boop* pull-request-header: ':robot: A new release will be created' ## A JSON formatted String containing to override the outputted changelog sections changelog-types: '[{"type":"feat","section":"Features","hidden":false},{"type":"fix","section":"Bug Fixes","hidden":false},{"type":"refactor","section":"Code Refactoring","hidden":false},{"type":"chore","section":"Miscellaneous","hidden":false},{"type":"perf","section":"Performance Improvements","hidden":false}]' # Checkout - uses: actions/checkout@master - name: Archive Release uses: thedoctor0/zip-release@0.7.1 with: type: 'zip' filename: 'package.zip' exclusions: '*.git* /*node_modules/* .editorconfig' - name: Upload Release uses: ncipollo/release-action@v1 with: allowUpdates: true prerelease: false artifactErrorsFailBuild: true removeArtifacts: false replacesArtifacts: false artifacts: "package.zip" token: ${{ secrets.GITHUB_TOKEN }}
-
切换到 Settings 页面给 Action 开放权限
-
重新切换回 Code 标签页,创建 Releases
-
首先创建一个 tag,为了方便 tag 最好就是当前主题的版本号
-
输入相关信息,然后点击发布按钮(发布内容就是个安慰,因为会被覆盖掉,你还不如写好你每次的 git commit 的内容呢)
-
当前状态是这样
-
因为还没成功
-
如果失败是这样
-
成功的话是这样
-
切换到 Relasese 里面可以到现在的资源是三个了
-
后续怎么创建 Relasese 的时候记得改 theme.json 中的版本,并且创建和版本号一样的 tag 即可。
第一次添加到集市
-
进入 siyuan 的集市仓库: https://github.com/siyuan-note/bazaar,并且选择 theme.json 文件
-
点击编辑
-
添加上主题信息(因为是演示,所以最后我实际上没有添加和提交)
-
创建提交
-
然后提交 pull request 等待官方合并即可。
-
一般会延迟 1~2 个小时左右.就可以在集市中看到你上传的主题了。(PS:如果上传集市,请务必用自己的名字,而且建议是真的修改了代码,两个一模一样只是名字不一样的主题……(′д` )…彡…彡)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于