# 贡献文档 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 服务器上形成文档网站。