Skip to content

Commit cb269cd

Browse files
authored
Update Contributing Document - 18 (#908)
This PR updates the contributing guid, improves the content formatting, removes unnecessary information and cleans the local setup installation steps
1 parent 0b5a59b commit cb269cd

1 file changed

Lines changed: 62 additions & 83 deletions

File tree

CONTRIBUTING.md

Lines changed: 62 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,171 +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 [Code contribution guide](https://github.com/percona/postgres/blob/PSP_REL_18_STABLE/.github/CONTRIBUTING.md).
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 (EOL)
33-
- 14
34-
- 15
35-
- 16
36-
- 17
37-
- 18
34+
The source .md files are in the ``postgresql-docs/docs`` directory.
3835

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

41-
### Edit documentation online via GitHub
38+
1. Select **Edit this file**.
4239

43-
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.
4442
45-
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.
4644

4745
3. Commit your changes.
4846

49-
- In the *Commit changes* section, describe your changes.
50-
- Select the **Create a new branch for this commit and start a pull request** option
51-
- 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
5250

53-
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.
54-
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.
5552

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

58-
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
5956

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

6259
1. Fork this repository
6360
2. Clone the repository on your machine:
6461

6562
```sh
66-
git clone git@github.com:percona/postgresql-docs.git
63+
git clone git@github.com:<my_name>/postgresql-docs.git
64+
cd postgresql-docs
6765
```
6866

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

7169
```sh
72-
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
7371
```
7472

7573
4. Pull the latest changes
7674

7775
```sh
78-
git fetch origin
79-
git merge origin/<branch>
76+
git fetch upstream
77+
git merge upstream/<branch>
8078
```
8179

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

84-
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`:
8583

8684
```sh
87-
git checkout -b <my_changes>
85+
git checkout -b <PG-123>-short-description upstream/<target-branch>
8886
```
8987

90-
6. Make changes
91-
7. Commit your changes
92-
8. Open a pull request to Percona
93-
94-
### Building the documentation
95-
96-
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:
97-
- [use Docker](#use-docker)
98-
- [install MkDocs and build locally](#install-mkdocs-and-build-locally)
99-
100-
Learn more about the documentation structure in the [Repository structure](#repository-stucture) section.
101-
102-
103-
#### Use Docker
104-
105-
1. [Get Docker](https://docs.docker.com/get-docker/)
106-
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:
10789

10890
```sh
109-
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>
11094
```
111-
If Docker can't find the image locally, it first downloads the image, and then runs it to build the documentation.
112-
113-
3. Go to the ``site`` directory and open the ``index.html`` file to see the documentation.
114-
4. To view your changes as you make them, run the following command:
11595

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

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

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

126-
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.
127104
128-
#### Install MkDocs and build locally
105+
To verify how your changes look, you can generate a static site locally:
129106

130107
1. Install [pip](https://pip.pypa.io/en/stable/installing/)
131108
2. Install [MkDocs](https://www.mkdocs.org/getting-started/#installation).
132109
3. Install all the required dependencies:
133110

134-
```
111+
```sh
135112
pip install -r requirements.txt
136113
```
137114

138-
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:
139116

140117
```sh
141118
mkdocs build
142119
```
143-
4. Go to the ``site`` directory and open the ``index.html`` file in your web browser to see the documentation.
144-
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:
145123

146124
```sh
147125
mkdocs serve
148126
```
149127

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

154132
```sh
155133
mkdocs build
156134
```
157135

158-
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.
159139

160-
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>.
161141

162142
## Repository structure
163143

164144
The repository includes the following directories and files:
165145

166146
- `mkdocs-base.yml` - the base configuration file. It includes general settings and documentation structure.
167-
- `mkdocs.yml` - configuration file. Contains the settings for building the docs on Percona website
168-
- `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
169148
- `docs`:
170149
- `*.md` - Source markdown files.
171150
- `_images` - Images, logos and favicons

0 commit comments

Comments
 (0)