PolarDBforPostgreSQL/docs/zh/contributing/contributing-polardb-docs.md

113 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 贡献文档
PolarDB for PostgreSQL 的文档使用 [VuePress 2](https://v2.vuepress.vuejs.org/zh/) 进行管理,以 Markdown 为中心进行写作。
## 浏览文档
本文档在线托管于 [GitHub Pages](https://ApsaraDB.github.io/PolarDB-for-PostgreSQL/zh/) 服务上。
## 本地文档开发
若您发现文档中存在内容或格式错误,或者您希望能够贡献新文档,那么您需要在本地安装并配置文档开发环境。本项目的文档是一个 Node.js 工程,以 [Yarn](https://www.yarnpkg.cn/) 作为软件包管理器。[Node.js®](https://nodejs.org/zh-cn/) 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境。
### Node 环境准备
您需要在本地准备 Node.js 环境。可以选择在 Node.js 官网 [下载](https://nodejs.org/zh-cn/download/) 页面下载安装包手动安装,也可以使用下面的命令自动安装。
通过 `curl` 安装 Node 版本管理器 `nvm`
```bash:no-line-numbers
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
command -v nvm
```
如果上一步显示 `command not found`,那么请关闭当前终端,然后重新打开。
如果 `nvm` 已经被成功安装,执行以下命令安装 Node 的 LTS 版本:
```bash:no-line-numbers
nvm install --lts
```
Node.js 安装完毕后,使用如下命令检查安装是否成功:
```bash:no-line-numbers
node -v
npm -v
```
使用 `npm` 全局安装软件包管理器 `yarn`
```bash:no-line-numbers
npm install -g yarn
yarn -v
```
### 文档依赖安装
在 PolarDB for PostgreSQL 工程的根目录下运行以下命令,`yarn` 将会根据 `package.json` 安装所有依赖:
```bash:no-line-numbers
yarn
```
### 运行文档开发服务器
在 PolarDB for PostgreSQL 工程的根目录下运行以下命令:
```bash:no-line-numbers
yarn docs:dev
```
文档开发服务器将运行于 `http://localhost:8080/PolarDB-for-PostgreSQL/`,打开浏览器即可访问。对 Markdown 文件作出修改后,可以在网页上实时查看变化。
## 文档目录组织
PolarDB for PostgreSQL 的文档资源位于工程根目录的 `docs/` 目录下。其目录被组织为:
```
└── docs
├── .vuepress
│ ├── configs
│ ├── public
│ └── styles
├── README.md
├── architecture
├── contributing
├── guide
├── imgs
├── roadmap
└── zh
├── README.md
├── architecture
├── contributing
├── guide
├── imgs
└── roadmap
```
可以看到,`docs/zh/` 目录下是其父级目录除 `.vuepress/` 以外的翻版。`docs/` 目录中全部为英语文档,`docs/zh/` 目录下全部是相对应的简体中文文档。
`.vuepress/` 目录下包含文档工程的全局配置信息:
- `config.js`:文档配置
- `configs/`:文档配置模块(导航栏 / 侧边栏、英文 / 中文等配置)
- `public/`:公共静态资源
- `styles/`:文档主题默认样式覆盖
文档的配置方式请参考 VuePress 2 官方文档的 [配置指南](https://v2.vuepress.vuejs.org/zh/guide/configuration.html)。
## 文档开发规范
1. 新的文档写好后,需要在文档配置中配置路由使其在导航栏和侧边栏中显示(可参考其他已有文档)
2. 修正一种语言的文档时,也需要顺带修正其他语言的相同文档
3. 修改文档后,使用 [Prettier](https://prettier.io/) 工具对 Markdown 文档进行格式化:
- Prettier 支持的编辑器集成:
- [Prettier-VSCode](https://github.com/prettier/prettier-vscode)
- [Vim-Prettier](https://github.com/prettier/vim-prettier)
- 或直接在源码根目录运行:`npx prettier --write docs/`
## 文档在线部署
本文档借助 [GitHub Actions](https://github.com/features/actions) 提供 CI 服务。向主分支推送代码时,将触发对 `docs/` 目录下文档资源的构建,并将构建结果推送到 [gh-pages](https://github.com/ApsaraDB/PolarDB-for-PostgreSQL/tree/gh-pages) 分支上。[GitHub Pages](https://pages.github.com/) 服务会自动将该分支上的文档静态资源部署到 Web 服务器上形成文档网站。