Skip to content
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
148 changes: 65 additions & 83 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,78 @@
# Contributing guide
# Contributing Guide

Check warning on line 1 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L1

[Google.Headings] 'Contributing Guide' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Contributing Guide' should use sentence-style capitalization.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 1, "column": 3}}}, "severity": "WARNING"}

Welcome to Percona Link for MongoDB documentation!

We're glad that you would like to become a Percona community member and participate in keeping open source open.
We're glad that you would like to become a Percona community member and help keep open source open.

Check warning on line 5 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L5

[Google.We] Try to avoid using first-person plural like 'We'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'We'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 5, "column": 1}}}, "severity": "WARNING"}

Percona Link for MongoDB is a tool for replicating data from a source MongoDB cluster to a target MongoDB cluster. It supports cloning data, replicating changes, and managing collections and indexes.

This repository contains the source file for PLM documentation and this document explains how you can contribute to it.
This repository contains the source file for PLM documentation, and this document explains how you can contribute to it.

Check notice on line 9 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L9

[Google.Acronyms] Spell out 'PLM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'PLM', if it's unfamiliar to the audience.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 9, "column": 46}}}, "severity": "INFO"}

If you'd like to submit a PLM code patch, follow the [Contributing section in PLM's code repository](https://github.com/percona/percona-link-mongodb/blob/main/README.md#contributing).

## Contributing to documentation

We welcome contributions from all users and the community. By contributing, you agree to the [Percona Community code of conduct] (https://percona.community/contribute/coc/). Thank you for deciding to contribute and help us improve the Percona Server documentation.

Check warning on line 15 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L15

[Google.We] Try to avoid using first-person plural like 'We'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'We'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 15, "column": 1}}}, "severity": "WARNING"}

Check warning on line 15 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L15

[Google.We] Try to avoid using first-person plural like 'us'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'us'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 15, "column": 221}}}, "severity": "WARNING"}

You can contribute to the documentation in the following ways:

### Rate and comment on documentation pages

Each documentation page includes a Rate this page feature at the bottom that allows you to assign stars (1-5) and leave comments. This is a quick and easy way to provide feedback about the documentation.

Check notice on line 21 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L21

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 21, "column": 105}}}, "severity": "INFO"}

To rate a page:

1. Scroll to the bottom of any documentation page.

2. Use the star rating system to rate the page (1-5 stars).

Check notice on line 27 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L27

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 27, "column": 48}}}, "severity": "INFO"}

3. Leave a comment describing your feedback.

>[!Important]
If you want the documentation team to fix or improve something, **please leave detailed comments** explaining:
* What issue did you encounter or what improvement would you like to see
* Which section or topic needs clarification or correction
* Any specific examples or use cases that would help
* The version or environment you're using (if relevant)

Check notice on line 36 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L36

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 36, "column": 43}}}, "severity": "INFO"}
* Steps to reproduce any issues you found
**Detailed comments are essential** - they help us understand your needs and make the documentation better for everyone. Brief comments like "this is confusing" or "needs improvement" are helpful, but specific details about what's confusing or what needs improvement allow us to take action.

Check warning on line 38 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L38

[Google.We] Try to avoid using first-person plural like 'us'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'us'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 38, "column": 49}}}, "severity": "WARNING"}

Check warning on line 38 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L38

[Google.We] Try to avoid using first-person plural like 'us'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'us'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 38, "column": 274}}}, "severity": "WARNING"}

### Add a topic in the Percona Community Forum

Check warning on line 40 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L40

[Google.Headings] 'Add a topic in the Percona Community Forum' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Add a topic in the Percona Community Forum' should use sentence-style capitalization.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 40, "column": 5}}}, "severity": "WARNING"}
The [Percona Community Forum](https://forums.percona.com/) is a public discussion platform where you can ask questions, share feedback, or suggest improvements to the documentation. Use the forum to start a conversation about documentation issues, request clarifications, or discuss potential changes with the community and documentation team.

To add a topic, navigate to the [Percona Product Documentation category](https://forums.percona.com/c/percona-product-documentation/71) in the Percona Community Forum and select **New Topic**. Complete the form and select **Create Topic** to add the topic to the forum.


### Request a change with a Jira issue

Create a Jira ticket to report documentation issues or request changes. This method is useful for formal tracking or when you want the documentation team to handle the changes.

1. Open the [Percona Server Jira project](https://jira.percona.com/projects/PCSM/issues) in your browser.

2. Sign in (or create a Percona Jira account if you don't have one).

3. Click the **Create** button.

4. Fill in the required fields:

* **Summary**: Provide a brief description of the issue.

* **Description**: Provide more information about the issue. If needed, add a Steps To Reproduce section and information about your environment (version number, your operating system, etc.). Be detailed.

Check notice on line 60 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L60

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 60, "column": 146}}}, "severity": "INFO"}

Check notice on line 60 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L60

[Google.Passive] In general, use active voice instead of passive voice ('Be detailed').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('Be detailed').", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 60, "column": 193}}}, "severity": "INFO"}

* **Version**, **Environment**, and other relevant fields as needed.

5. Click **Create** to submit the ticket.

>[!Tip]
**Shortcut to the issue creation screen**
To go directly to the Create Issue form, use this URL: [https://jira.percona.com/secure/CreateIssue!default.jspa?pid=10100](https://jira.percona.com/secure/CreateIssue!default.jspa?pid=10100)

## Edit the documentation yourself

Percona Backup for MongoDB documentation is written in [Markdown] language, so you can
[edit it online via GitHub](#edit-documentation-online-via-github). If you wish to have more control over the doc process, jump to how to [edit documentation locally](#edit-documentation-locally).

Before you start, learn what [git], [MkDocs] and [Docker] are and what [Markdown] is and how to write it. For your convenience, there's also a cheat sheet to help you with the syntax.
Before you start, learn what [git], [MkDocs], and [Docker] are and what [Markdown] is and how to write it. For your convenience, a cheat sheet is also available to assist you with the syntax.

The doc files are in the `docs` directory.

Expand All @@ -36,7 +93,7 @@

### Edit documentation locally

This option is for users who prefer to work from their computer and / or have the full control over the documentation process.
This option is for users who prefer to work from their computer and/or have full control over the documentation process.

The steps are the following:

Expand Down Expand Up @@ -66,64 +123,15 @@
git checkout -b <my_branch>
```

6. Make changes. See the [Repository structure](#repository-structure) to for details what files this repo contains and their purpose.
7. Check your changes. Some editors (Sublime Text, VSCode and others) have the Markdown preview which you can use to check how the page is rendered. Alternatively, you can [build the documentation](#building-the-documentation) to know exactly how the documentation looks on the web site.
6. Make changes.
7. Check your changes. Some editors (Sublime Text, VSCode, and others) have the Markdown preview, which you can use to check how the page is rendered. Alternatively, you can [build the documentation](#building-the-documentation) to know exactly how the documentation looks on the website.

Check notice on line 127 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L127

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 127, "column": 37}}}, "severity": "INFO"}

Check notice on line 127 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L127

[Google.Passive] In general, use active voice instead of passive voice ('is rendered').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is rendered').", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 127, "column": 139}}}, "severity": "INFO"}
8. Commit your changes. The [commit message guidelines](https://gist.github.com/robertpainsi/b632364184e70900af4ab688decf6f53) will help you with writing great commit messages

9. Open a pull request to Percona

### Building the documentation

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:

- [Use Docker](#use-docker)
- [Install MkDocs and build locally](#install-sphinx-and-build-locally)

#### Use Docker

1. [Get Docker](https://docs.docker.com/get-docker/)
2. We use [our Docker image](https://hub.docker.com/repository/docker/perconalab/pmm-doc-md) to build documentation. Run the following command:

```sh
docker run --rm -v $(pwd):/docs perconalab/pmm-doc-md mkdocs build
```
If Docker can't find the image locally, it first downloads the image, and then runs it to build the documentation.

3. Go to the ``site`` directory and open the ``index.html`` file to see the documentation.

If you want to see the changes as you edit the docs, use this command instead:

```sh
docker run --rm -v $(pwd):/docs -p 8000:8000 perconalab/pmm-doc-md mkdocs serve --dev-addr=0.0.0.0:8000
```

Wait until you see `INFO - Start detecting changes`, then enter `0.0.0.0:8000` in the browser's address bar. The documentation automatically reloads after you save the changes in source files.

#### Install MkDocs and build locally

1. Install [Python].

2. Install MkDocs and required extensions:

```sh
pip install -r requirements.txt
```

3. Build the site:

```sh
mkdocs build
```

4. Open `site/index.html`

Or, to run the built-in web server:

```sh
mkdocs serve
```

#### PDF
### Building the PDF documentation

Check warning on line 134 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] CONTRIBUTING.md#L134

[Google.Headings] 'Building the PDF documentation' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Building the PDF documentation' should use sentence-style capitalization.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 134, "column": 5}}}, "severity": "WARNING"}

To create the PDF version of the documentation, use the following command:

Expand All @@ -146,29 +154,3 @@

Once your pull request is merged, you are an official Percona Community Contributor. Welcome to the community!

## Repository structure

The repository includes the following directories and files:

- `mkdocs-base.yml` - the base configuration file. It includes general settings and documentation structure.
- `mkdocs.yml` - configuration file. Contains the settings for building the docs with Material theme.
- `mkdocs-pdf.yml` - configuration file. Contains the settings for building the PDF docs.
- `docs`:
- `*.md` - Source markdown files.
- `_images` - Images, logos and favicons
- `css` - Styles
- `js` - Javascript files
- `_resource`:
- `templates`:
- ``styles.scss`` - Styling for PDF documents
- `theme`:
- `main.html` - The layout template for hosting the documentation on Percona website
- overrides - The folder with the Material theme template customization for builds
- `site` - This is where the output HTML files are put after the build


[MkDocs]: https://www.mkdocs.org/
[Markdown]: https://daringfireball.net/projects/markdown/
[Git]: https://git-scm.com
[Python]: https://www.python.org/downloads/
[Docker]: https://docs.docker.com/get-docker/