贡献方法
Warning
建设中
软件
Note
对于新人的第一次贡献(提交 pr)来说,实际上一个浏览器就足够了(好吧你可能还需要一个能够访问 GitHub 的良好网络环境),但是对于正式的的贡献来说,网页端是并不优雅的(可以类比云游戏和本地游戏),在本地你可以获得一个更加舒适、快捷的编辑体验。同时,下面一些软件也是以后学习、科研等等中非常实用、常用的工具,大概率以后你还会再与它们相见。
因此,建议新人先通读下面的步骤,然后尝试在浏览器上提交你的第一个 pr,之后你可以探索如何在本地进行测试与贡献。
你可能需要以下软件,除 git 外不是必须的,但它们很有用,可以简化下面的步骤,减少学习成本,尤其是 git 命令们。
- Git - 本文以全默认安装为例,这时 git 使用的编辑器是 vim
- Visual Studio Code - 强大的文本/代码编辑器
- Python - 不用多说了吧
- *GitHub Desktop - 不那么常用,但偶尔 git 处理 GitHub 的 repo 时会抽风,这时用 GitHub Desktop 大概率能解决问题。
步骤
TL;DR
为 LeSnow-Ye/wx-wiki 提交 pr。
具体步骤
贡献本项目需要简单的 git 知识,但这并不难,跟随以下步骤操作即可。也可以阅读 Git 部分以了解更多。
如果你是第一次进行贡献,则需要对 LeSnow-Ye/wx-wiki 进行 fork:
- 创建 GitHub 账号,假设你叫作 xxx
- 点击 LeSnow-Ye/wx-wiki 上的 fork 按钮,你会得到一个名为
xxx/wx-wiki
的 repo - 在本地
git clone https://github.com/xxx/wx-wiki.git
如果不是第一次进行贡献,可能需要对上游仓库 LeSnow-Ye/wx-wiki 进行同步:
-
添加 LeSnow-Ye/wx-wiki 作为远程仓库:
-
拉取上游仓库的更改:
-
合并上游仓库的更改:
merge
与rebase
的区别参见 Git。 -
推送更新到你的 fork:
由于同步是在本地运行的,你可能还需要 push 回远程仓库
xxx/wx-wiki
完成上述过程后,你可以开始正式地编写内容:
- 编辑 /docs/*/*.md
- 编辑 mkdocs.yml 中的 nav 部分
- [可选] 使用
mkdocs serve
在本地调试,参考 本地测试 - 编辑完成之后,使用
git add .
来将所有的文件暂存,以准备 commit (提交) - 使用
git commit
命令提交这些更改(这两步可以合并为git commit -a
) -
在图示窗口对提交的内容进行简要描述
这是 vim 编辑器(又一个大坑),简要来说,按
i
进入编辑模式 (--INSERT--
),之后可以正常输入你的描述,输入ESC
以回到命令模式,之后依次按:wq
并回车以保存并退出。 -
使用
git push
命令将你的本地分支推送到你的 GitHub Forkxxx/wx-wiki
- 访问 https://github.com/xxx/wx-wiki,点击 “New Pull Request” 按钮,创建一个 PR (Pull Request)
- 等待 PR 被合并到主分支,之后将可以在 https://wx.lesnow.top 上看到更改
事实上一些软件可以减少甚至完全取缔手动输入 git 命令,以及跳过新手极其不友好的 vim 环节,比如 Visual Studio Code 或者 GitHub Desktop:
VSCode 中的步骤 6 如下图,在 COMMIT_EDITMSG
中输入描述,保存(Ctrl + S)后关闭窗口即可。
Git
Git 是一个分布式版本控制系统,它允许多人协同开发并跟踪文件的更改。
Warning
TODO
如何编辑
网站核心的内容是 Markdown 文件,拓展名 .md
,它们是具体内容的载体,采用 Markdown 语法。你可以使用 VSCode 来编辑、预览 Markdown 文件。
网站的目录结构基本上是文件结构的映射。例如,/docs/intro/contribute.md
所对应的网页是 https://wx.lesnow.top/intro/contribute,但由于网站由中文呈现,你还需要额外编辑 /mkdocs.yml
文件以确定页面标题,参照已有内容编辑即可。
本地测试
由于在 merge 前,你并不知道你的 md 文件的最终在网页上的呈现效果,你可以在本地搭建一个测试环境:
- 在根目录运行命令
pip install -r requirements.txt
以安装所需的包(需要 Python 以及 pip,默认安装 Python 会同时安装 pip。只需要运行一次) - 运行
mkdocs serve
(VSCode 中可以按Ctrl + Shift + ~
打开终端) - 在浏览器访问 http://127.0.0.1:8000/ 以观察渲染效果
参考 Creating your site - Material for MkDocs