mirror of
https://github.com/ZSCNetSupportDept/website.git
synced 2025-12-26 21:11:12 +08:00
@@ -1,2 +1,131 @@
|
||||
# 撰写内容
|
||||
如何向wiki,开发组文档和文章板块添加内容
|
||||
本篇文章将会指导你如何从零开始为Wiki添砖Java
|
||||
|
||||
:::info[注意]
|
||||
|
||||
你需要基本的CLI操作能力来提交更改
|
||||
对于Windows用户,请观看[这个](https://www.bilibili.com/video/BV1ZUrLYSECD)视频学习cmd使用,**不推荐零基础学习PowerShell**。
|
||||
对于Linux用户,~~你怎么可能不会~~
|
||||
|
||||
:::
|
||||
|
||||
:::info[注意]
|
||||
|
||||
你需要一个Github账号和git环境才能进行Git操作
|
||||
请参考[Runoob教程](https://www.runoob.com/git/git-install-setup.html)来配置git。
|
||||
对于Github注册时可能遇到的网络问题,请向组内成员寻求帮助
|
||||
|
||||
:::
|
||||
|
||||
:::info[注意]
|
||||
|
||||
你需要配置Node.JS环境进行Docusaurus的本地预览
|
||||
请参考[Runoob教程](https://www.runoob.com/nodejs/nodejs-install-setup.html)来配置Node.JS
|
||||
|
||||
:::
|
||||
|
||||
## 0.编写文章
|
||||
Wiki采用的Docusaurus框架使用Markdown格式进行文章的编写,Markdown是一个强大简洁的轻量级标记语言,易读性强。关于Markdown语法可以在[这里](https://markdown.com.cn/cheat-sheet.html)进行学习。
|
||||
需要注意的是,对于MD初学者,会遇到编译器换行与编辑器不一致的情况。请在需要换行的文章末尾添加两个空格再回车,即可解决。
|
||||
|
||||
Docusaurus兼容绝大部分的Markdown语法,同时也提供其特有的特性来提升阅读体验,在这里介绍一下告示框。
|
||||
告示框中的内容由前后各三个冒号包裹起来,然后紧跟着一个表示其类型的文本标签。
|
||||
|
||||
标签有五种,分别为note/tip/info/warning/danger,在标签后可跟随一个自定义的标题。
|
||||
例如
|
||||
```
|
||||
:::note[Custom title with MD `STYNAX`]
|
||||
|
||||
Test Note
|
||||
|
||||
:::
|
||||
```
|
||||
会渲染出如下的告示框
|
||||
|
||||
:::note[Custom title with MD `STYNAX`]
|
||||
|
||||
Test Note
|
||||
|
||||
:::
|
||||
|
||||
值得注意的是,你可以直接在Markdown文件内使用HTML标签,例如`<kbd></kbd>`,它可以以更优雅的方式渲染出键盘按键,将其重点突出。例如:
|
||||
`<kbd>win</kbd>`将会被渲染为:<kbd>win</kbd>
|
||||
|
||||
对于更多的语法特性,请移步至[Docusaurus文档](https://www.docusaurus.cn/docs/markdown-features) (非官方)进行了解
|
||||
|
||||
编写Markdown文件需要合适的编辑器,你可以选择自己喜欢的编辑器进行编写,例如[VS Code](https://code.visualstudio.com/),Notepad++,Emacs等,笔者推荐VS Code。
|
||||
|
||||
**不要使用Windows自带的记事本和Word!不要使用Windows自带的记事本和Word!不要使用Windows自带的记事本和Word!写出来的东西再像Markdown也不行!**
|
||||
|
||||
## 1. 获取仓库
|
||||
一般来说,你编写的内容无法直接提交(Push)至主仓库,所以你需要获取一个主仓库的副本,并在这个副本中操作文件,最后再提交至主仓库。获取仓库副本的操作称为Fork。
|
||||
|
||||
Wiki的主仓库链接位于[这里](https://github.com/ZSCNetSupportDept/website)
|
||||
|
||||
登录你的账户,进入主仓库的Github页面,点击右上角的Fork
|
||||

|
||||
|
||||
点击下一步,页面会跳转至属于你的仓库副本,页面链接应该长这样:
|
||||
`https://github.com/Your-User-Name/website`
|
||||
|
||||
复制这个链接打开命令行,确定当前的工作路径,输入:
|
||||
`git clone https://github.com/Your-User-Name/website`
|
||||
|
||||
正常来说,程序会以`Unpacking objects: 100% (x/x), done.`退出,在当前目录下新建一个`website`目录,里面存放着项目文件
|
||||
|
||||
进入目录,从项目根目录下开始看起:
|
||||
- `docs`:存放wiki和开发组文档的内容
|
||||
- `blog`:存放文章的内容
|
||||
- `static`:存放静态文件(e.g.图片)的内容
|
||||
|
||||
打开或者新建一个.md文件,你就可以开始愉快的编写了。
|
||||
|
||||
## 2.检查、提交至远程
|
||||
|
||||
|
||||
保存你编写的文件后,你需要在本地进行预览。
|
||||
|
||||
如果你是第一次编写,请在项目根目录中打开命令行,输入:
|
||||
|
||||
```
|
||||
npm config set registry https://registry.npmmirror.com/
|
||||
npm install
|
||||
```
|
||||
|
||||
这会设置一个国内镜像源,并安装项目所需的依赖
|
||||
|
||||
随后运行`npm start`编译静态文件,并启动本地服务器。你可以在[localhost:3000](https://localhost:3000)观看到预览效果,他也会实时同步你对文件的修改并显示出来。
|
||||
|
||||
确定文章没有问题后,请按下面的步骤进行提交
|
||||
|
||||
`git add .`
|
||||
|
||||
这个操作会将你更改过的所有文件添加至暂存区,准备推送
|
||||
|
||||
`git commit -m "Info here"`
|
||||
|
||||
这个操作会将暂存区的更改提交到本地仓库,并添加提交信息
|
||||
|
||||
在推送本地更改之前,最好从远程仓库拉取最新的更改,以避免冲突:
|
||||
|
||||
`git pull origin main`
|
||||
|
||||
将本地的提交推送到远程仓库
|
||||
|
||||
`git push origin new-feature`
|
||||
|
||||
当然,如果你用的是VS Code,也可以在侧栏的版本管理处直接提交
|
||||
|
||||
## 3.合并到主仓库
|
||||
|
||||
打开你Fork之后的仓库,点击上方的`Pull Request`
|
||||
|
||||

|
||||
|
||||
继续点击`Create pull request`,即可将你的更改提交至主仓库,仓库管理员会核查后将其合并。
|
||||
|
||||

|
||||
|
||||
## FF.常见问题
|
||||
|
||||
我不知道,有问题再补吧
|
||||
BIN
static/img/wiki/GH-Fork.png
Normal file
BIN
static/img/wiki/GH-Fork.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 158 KiB |
BIN
static/img/wiki/GH-PR-1.png
Normal file
BIN
static/img/wiki/GH-PR-1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 110 KiB |
BIN
static/img/wiki/GH-PR.png
Normal file
BIN
static/img/wiki/GH-PR.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 107 KiB |
Reference in New Issue
Block a user