|
1 | 1 | Contributing Guidelines |
2 | 2 | ======================= |
| 3 | +.. contributors:: |
| 4 | +Marek Suchanek |
| 5 | +John Shepherdson |
3 | 6 |
|
4 | | -*To be specified* |
| 7 | +Thank you for considering contributing to the OSTrails documentation! We welcome contributions from everyone, regardless of your level of experience. This document outlines the process for contributing to the documentation. |
| 8 | + |
| 9 | +## Ways of Contributing |
| 10 | + |
| 11 | +- **Reporting Issues**: If you find a bug in the documentation, please open an issue on the GitHub repository. |
| 12 | +- **Suggesting Enhancements**: If you have an idea for improving the documentation, please open an issue on the GitHub repository. |
| 13 | +- **Improving the Documentation**: If you would like to improve the documentation, please follow the process outlined below. |
| 14 | + |
| 15 | +## Issue Reporting |
| 16 | + |
| 17 | +If you find a bug in the documentation, please [open an issue](https://github.com/ostrails/docs/issues/new/choose) in the GitHub repository. When reporting an issue, please follow the requested information for given issue templates. |
| 18 | + |
| 19 | +## Documentation |
| 20 | + |
| 21 | +The documentation is hosted on Read-the-Docs and using standard Sphinx documentation. The documentation is written in reStructuredText (`.rst`) format. It can be compiled locally using Sphinx and viewed in a web browser. |
| 22 | + |
| 23 | +### Writing Style |
| 24 | + |
| 25 | +When contributing to the documentation, please follow the following writing style: |
| 26 | + |
| 27 | +- Use British English. |
| 28 | +- Use the active voice. |
| 29 | +- Use the present tense. |
| 30 | +- Use the imperative mood for commands. |
| 31 | + |
| 32 | +For more information on ReStructuredText syntax, please refer to the [official documentation](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html). In this documentation, we use `=` underline for headings, `-` underline for subheadings, and `^` underline for subsubheadings. |
| 33 | + |
| 34 | +We also use the following extensions: |
| 35 | + |
| 36 | +- `sphinxcontrib.bibtex` for managing bibliographies (see [docs](https://sphinxcontrib-bibtex.readthedocs.io/en/latest/)) |
| 37 | +- `sphinxcontrib.openapi` for rendering OpenAPI specifications (see [docs](https://sphinxcontrib-openapi.readthedocs.io/)) |
| 38 | + |
| 39 | +All bibliographical references should be added to the [`references.bib`](docs/references.bib) file in the `docs` directory. A record need to contain all required fields according to the [BibTeX format](https://www.bibtex.com/e/entry-types/). |
| 40 | + |
| 41 | +The code style is captured using [EditorConfig](https://editorconfig.org/), see [.editorconfig](.editorconfig) file. Please ensure that your editor supports EditorConfig. It is also checked using CI together with the absence of warnings. |
| 42 | + |
| 43 | +### Building the Documentation |
| 44 | + |
| 45 | +First, install the required dependencies (preferably in a virtual environment): |
| 46 | + |
| 47 | +```bash |
| 48 | +python -m venv venv |
| 49 | +source venv/bin/activate |
| 50 | +
|
| 51 | +pip install -r requirements.txt |
| 52 | +``` |
| 53 | + |
| 54 | +Then, you can build the documentation using the following command: |
| 55 | + |
| 56 | +```bash |
| 57 | +cd docs |
| 58 | +make html |
| 59 | +``` |
| 60 | + |
| 61 | +Once built, you can view the documentation by opening the `index.html` file in the `_build/html` directory in a web browser. |
| 62 | + |
| 63 | +## Way of Working |
| 64 | + |
| 65 | +The following part describes the way of working when contributing to the documentation. Always also comply to the [Code of Conduct](./CODE_OF_CONDUCT.md) when contributing. |
| 66 | + |
| 67 | +### Commit Messages |
| 68 | + |
| 69 | +Please follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification when writing commit messages. This will help us to automatically generate the changelog. |
| 70 | + |
| 71 | +For instance, the following commit message: |
| 72 | + |
| 73 | +``` |
| 74 | +feat: add new extension to the documentation |
| 75 | +docs: update framework general description |
| 76 | +deps: update dependencies |
| 77 | +fix: correct typos |
| 78 | +``` |
| 79 | + |
| 80 | +### Branching and Pull Requests |
| 81 | + |
| 82 | +When contributing to the documentation, please follow these steps: |
| 83 | + |
| 84 | +1. Fork the repository (if not in the OSTrails organisation). |
| 85 | +2. Create a new branch for your changes (base = `update-restructure`). |
| 86 | +3. Make your changes and commit them. |
| 87 | +4. Push your changes. |
| 88 | +5. Open a pull request to the `update-restructure` branch of the main repository. |
| 89 | + |
| 90 | +### Crediting Contributors |
| 91 | + |
| 92 | +We will credit all contributors in the documentation. If you would like to be credited, please add your name and related information to the [`CONTRIBUTORS.yml`](./CONTRIBUTORS.yml) file. |
| 93 | + |
| 94 | +Then, you can add your name to the list of contributors for a specific page: |
| 95 | + |
| 96 | +```rst |
| 97 | +Page Title |
| 98 | +========== |
| 99 | +
|
| 100 | +.. contributors:: |
| 101 | + Jane Smith |
| 102 | +``` |
0 commit comments