Skip to content

Commit 7ec4be5

Browse files
committed
PG-2137 - Update Contributing guide (17)
Backport of #908.
1 parent 92ce55c commit 7ec4be5

1 file changed

Lines changed: 63 additions & 83 deletions

File tree

CONTRIBUTING.md

Lines changed: 63 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,170 +1,150 @@
1-
# Contributing Guide
1+
# Documentation contributing guide
22

3-
Thank you for deciding to contribute and help us improve Percona Distribution for PostgreSQL documentation!
3+
This guide explains how to contribute to the Percona Distribution for PostgreSQL documentation.
44

5-
We welcome contributors from all users and community. By contributing, you agree to the [Percona Community code of conduct](https://github.com/percona/community/blob/main/content/contribute/coc.md).
5+
We welcome contributors from all users and the community. By contributing, you agree to the [Percona Community code of conduct](https://github.com/percona/community/blob/main/content/contribute/coc.md).
66

7-
You can contribute to documentation in the following ways:
7+
If you want to contribute code, see the [PostgreSQL Developer Guide](https://www.postgresql.org/developer/).
88

9-
1. **Request a doc change through a Jira issue**. If you’ve spotted a doc issue (a typo, broken links, inaccurate instructions, etc.) but don’t have time nor desire to fix it yourself - let us know about it.
9+
You can contribute to documentation in the following ways:
1010

11-
- Click the **Submit DOC bug** link on the sidebar. This opens the [Jira issue tracker](https://jira.percona.com/projects/PG/issues) for the doc project.
12-
- Sign in (create a Jira account if you don’t have one) and click **Create** to create an issue.
13-
- Describe the issue you have detected in the Summary, Description, Steps To Reproduce, Affects Version fields.
11+
1. Request documentation changes through Jira:
1412

15-
2. **[Contribute to documentation yourself](#contribute-to-documentation-yourself)**. Click the <img src="_resource/.icons/edit_page.png" style="width: 1em; height: 1em;"> **Edit this page** icon that leads you to the source file of the page on GitHub. There you make changes, create a pull request that we review and add to the doc project. For details how to do it, read on.
13+
- Open the [Jira issue tracker](https://jira.percona.com/projects/PG/issues) for the project.
14+
- Sign in (create a Jira account if you don’t have one).
15+
- Click **Create** to create an issue.
16+
- (Optional but recommended) Search if the issue you want to report is already reported.
17+
- Select **PostgreSQL PG** in the Project dropdown and the work type.
18+
- Describe the issue in the Summary and Description fields. Optionally, you can also fill in the Steps To Reproduce and Affects Version fields.
1619

20+
2. [Contribute to documentation on GitHub](#contribute-directly-on-github).
1721

18-
## Contribute to documentation yourself
22+
To contribute to the documentation, basic familiarity with the following tools is useful:
1923

20-
To contribute to the documentation, you should be familiar with the following technologies:
21-
- [Markdown](https://www.markdownguide.org/basic-syntax/) markup language. It is used to write the documentation.
24+
- [Markdown](https://www.markdownguide.org/basic-syntax/). The documentation is written in Markdown.
2225
- [MkDocs](https://www.mkdocs.org/getting-started/) documentation generator. We use it to convert source ``.md`` files to html and PDF documents.
2326
- [git](https://git-scm.com/) and [GitHub](https://guides.github.com/activities/hello-world/)
24-
- [Docker](https://docs.docker.com/get-docker/). It allows you to run MkDocs in a virtual environment instead of installing it and its dependencies on your machine.
2527

26-
There are several active versions of the documentation. Each version derives from the major version of PostgreSQL, included in the distribution.
28+
## Contribute directly on GitHub
29+
30+
There are several active versions of the documentation. Each version derives from the major version of PostgreSQL, included in the distribution.
2731

28-
Each version has a branch in the repository named accordingly:
32+
Each documentation branch is named after the PostgreSQL major version (for example: `11`(EOL), `12`(EOL), `13`(EOL), `14`, `15`, `16`, `17`, `18`).
2933

30-
- 11 (EOL)
31-
- 12 (EOL)
32-
- 13
33-
- 14
34-
- 15
35-
- 16
36-
- 17
34+
The source .md files are in the ``postgresql-docs/docs`` directory.
3735

38-
The source .md files are in the ``docs`` directory.
36+
To start contributing:
3937

40-
### Edit documentation online via GitHub
38+
1. Select **Edit this file**.
4139

42-
1. Click the <img src="_resource/.icons/edit_page.png" style="width: 1em; height: 1em;"> **Edit this page** icon next to the page title. The Markdown file of the page opens in GitHub editor in your browser. If you haven’t worked with the repository before, GitHub creates a [fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) of it for you.
40+
> **NOTE**
41+
> If you haven’t worked with the repository before, GitHub creates a [fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) of it for you.
4342
44-
2. Edit the page. You can check your changes on the **Preview** tab.
43+
2. Add your changes. You can see how your edit looks in the **Preview** tab.
4544

4645
3. Commit your changes.
4746

48-
- In the *Commit changes* section, describe your changes.
49-
- Select the **Create a new branch for this commit and start a pull request** option
50-
- Click **Propose changes**.
47+
- Describe the changes you have made
48+
- Select the **Create a new branch for this commit** and name your branch
49+
- Click **Propose changes** to create the pull request
5150

52-
4. GitHub creates a branch and a commit for your changes. It loads a new page on which you can open a pull request to Percona. The page shows the base branch - the one you offer your changes for, your commit message and a diff - a visual representation of your changes against the original page. This allows you to make a last-minute review. When you are ready, click the **Create pull request** button.
53-
5. Someone from our team reviews the pull request and if everything is correct, merges it into the documentation. Then it gets published on the site.
51+
4. GitHub creates a branch and a commit for your changes. It loads a new page on which you can open a pull request to Percona. The page shows the base branch - the one you offer your changes for, your commit message and a diff - a visual representation of your changes against the original page. This allows you to make last-minute changes. When you are ready, click the **Create pull request** button.
5452

55-
### Edit documentation locally
53+
5. Your changes will be reviewed and merged into the documentation.
5654

57-
This option is for users who prefer to work from their computer and / or have the full control over the documentation process.
55+
### Edit documentation locally
5856

59-
The steps are the following:
57+
If you want to work on your computer locally, follow these steps:
6058

6159
1. Fork this repository
6260
2. Clone the repository on your machine:
6361

6462
```sh
65-
git clone git@github.com:percona/postgresql-docs.git
63+
git clone git@github.com:<my_name>/postgresql-docs.git
64+
cd postgresql-docs
6665
```
6766

68-
3. Change the directory to ``postgresql-docs`` and add your local repository:
67+
3. Add the upstream (Percona) repository as a remote:
6968

7069
```sh
71-
git remote add <your-repo-name> git@github.com:<your_name>/postgresql-docs.git
70+
git remote add upstream git@github.com:percona/postgresql-docs.git
7271
```
7372

74-
4. Pull the latest changes
73+
4. Pull the latest changes
7574

7675
```sh
77-
git fetch origin
78-
git merge origin/<branch>
76+
git fetch upstream
77+
git merge upstream/<branch>
7978
```
8079

81-
Make sure that your local branch and the branch you merge changes from are the same. So if you are on the ``17`` branch, merge changes from ``origin/17``.
80+
Make sure you merge changes from the same documentation branch you are working on. For example, if you are on branch ``17``, merge from ``upstream/17``.
8281

83-
5. Create a separate branch for your changes
82+
5. Create a separate branch for your changes. If you work on a Jira issue, please follow this pattern for a branch name: `<PG-123>-short-description`:
8483

8584
```sh
86-
git checkout -b <my_changes>
85+
git checkout -b <PG-123>-short-description upstream/<target-branch>
8786
```
8887

89-
6. Make changes
90-
7. Commit your changes
91-
8. Open a pull request to Percona
92-
93-
### Building the documentation
94-
95-
To verify how your changes look, generate the static site with the documentation. This process is called *building*. You can do it in these ways:
96-
- [use Docker](#use-docker)
97-
- [install MkDocs and build locally](#install-mkdocs-and-build-locally)
98-
99-
Learn more about the documentation structure in the [Repository structure](#repository-stucture) section.
100-
101-
102-
#### Use Docker
103-
104-
1. [Get Docker](https://docs.docker.com/get-docker/)
105-
2. We use [this Docker image](https://github.com/Percona-Lab/percona-doc-docker) to build documentation. Run the following command:
88+
6. Make a commit mentioning the Jira issue in the commit message if any:
10689

10790
```sh
108-
docker run --rm -v $(pwd):/docs perconalab/pmm-doc-md mkdocs build
91+
git add .
92+
git commit -m "PG-123-<my_fixes>"
93+
git push -u origin <my_branch_name>
10994
```
110-
If Docker can't find the image locally, it first downloads the image, and then runs it to build the documentation.
111-
112-
3. Go to the ``site`` directory and open the ``index.html`` file to see the documentation.
113-
4. To view your changes as you make them, run the following command:
11495

115-
``` sh
116-
docker run --rm -p 8000:8000 -v $(pwd):/docs perconalab/pmm-doc-md mkdocs serve -a 0.0.0.0:8000
117-
```
96+
7. Open a pull request to Percona
11897

119-
5. To create a PDF version of the documentation, run the following command:
98+
### Building the documentation using MkDocs
12099

121-
```sh
122-
docker run --rm -v $(pwd):/docs -e ENABLE_PDF_EXPORT=1 perconalab/pmm-doc-md mkdocs build -f mkdocs-pdf.yml
123-
```
100+
To verify how your changes look, generate the static site with the documentation. This process is called *building*.
124101

125-
The PDF document is in the ``site/pdf`` folder.
102+
> **NOTE**
103+
> Learn more about the documentation structure in the [Repository structure](#repository-structure) section.
126104
127-
#### Install MkDocs and build locally
105+
To verify how your changes look, you can generate a static site locally:
128106

129107
1. Install [pip](https://pip.pypa.io/en/stable/installing/)
130108
2. Install [MkDocs](https://www.mkdocs.org/getting-started/#installation).
131109
3. Install all the required dependencies:
132110

133-
```
111+
```sh
134112
pip install -r requirements.txt
135113
```
136114

137-
3. While in the root directory of the doc project, run the following command to build the documentation:
115+
4. While in the root directory of the documentation project, run the following command to build the documentation:
138116

139117
```sh
140118
mkdocs build
141119
```
142-
4. Go to the ``site`` directory and open the ``index.html`` file in your web browser to see the documentation.
143-
5. To automatically rebuild the documentation and reload the browser as you make changes, run the following command:
120+
121+
5. Go to the ``site`` directory and open the ``index.html`` file in your web browser to see the documentation.
122+
6. To automatically rebuild the documentation and reload the browser as you make changes, run the following command:
144123

145124
```sh
146125
mkdocs serve
147126
```
148127

149-
6. To build the PDF documentation, do the following:
128+
7. To build the PDF documentation, do the following:
150129
- Install [mkdocs-print-site-plugin](https://timvink.github.io/mkdocs-print-site-plugin/index.html)
151130
- Run the following command
152131

153132
```sh
154133
mkdocs build
155134
```
156135

157-
This creates a single HTML page for the whole doc project. You can find the page at `site/print_page.html`.
136+
This creates a single HTML page for the whole doc project. You can find the page at `site/print_page.html`.
137+
138+
8. Open the `site/print_page.html` in your browser and save as PDF. Depending on the browser, you may need to select the Export to PDF, Print - Save as PDF or just Save and select PDF as the output format.
158139

159-
7. Open the `site/print_page.html` in your browser and save as PDF. Depending on the browser, you may need to select the Export to PDF, Print - Save as PDF or just Save and select PDF as the output format.
140+
You can also view the site at <http://127.0.0.1:8000>.
160141

161142
## Repository structure
162143

163144
The repository includes the following directories and files:
164145

165146
- `mkdocs-base.yml` - the base configuration file. It includes general settings and documentation structure.
166-
- `mkdocs.yml` - configuration file. Contains the settings for building the docs on Percona website
167-
- `mkdocs-pdf.yml` - configuration file. Contains the settings for building the PDF docs.
147+
- `mkdocs.yml` - configuration file. Contains the settings for building the documentation on Percona website
168148
- `docs`:
169149
- `*.md` - Source markdown files.
170150
- `_images` - Images, logos and favicons

0 commit comments

Comments
 (0)