Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
92c010a
Add documentation for email drafts
dongilbert Nov 18, 2024
fc00170
Adjust val
dongilbert Nov 18, 2024
79eb55a
Merge branch '5.x' into email-drafts
dongilbert Nov 19, 2024
1ca69ac
Updated user documentation for the Readonly behaviour
shinde-rahul Jan 1, 2025
ec26ed1
Updated user wordings
shinde-rahul Jan 1, 2025
112abe1
Apply suggestions from code review
shinde-rahul Jan 1, 2025
7ca1c2a
Fix vale errors, formatting errors, etc.
RCheesley Mar 12, 2025
14b615d
Vale fix
RCheesley Mar 12, 2025
9376c36
Fix headings
RCheesley Mar 12, 2025
0be699f
Merge pull request #345 from mautic/email-drafts
RCheesley Mar 12, 2025
00d846c
Added: WordPress plugin documentation
DogByteMarketing Apr 29, 2025
36f9f47
Move the wordpress folder into the plugins section
RCheesley Jun 5, 2025
68adc37
Update the menu structure
RCheesley Jun 5, 2025
3b1d288
Fix headings, consolidate devs into one section
RCheesley Jun 5, 2025
0cc00e6
clarify messenger:consume params
O-Mutt Apr 30, 2025
dbc5da9
Update cron_jobs.rst
O-Mutt Apr 30, 2025
b298205
Update cron_jobs.rst
O-Mutt Apr 30, 2025
016f46d
Update cron_jobs.rst
O-Mutt Apr 30, 2025
821badb
Update cron_jobs.rst
O-Mutt Apr 30, 2025
ee3b020
Update docs/configuration/cron_jobs.rst
O-Mutt Apr 30, 2025
844cc7f
Update docs/configuration/cron_jobs.rst
O-Mutt May 5, 2025
4f56b73
Add support for GitHub Codespaces
matbcvo May 22, 2025
fe0c2a3
Remove the Gitpod link since it's being EOL'd, place both badges on t…
matbcvo May 22, 2025
48ca398
Vale fixes
RCheesley Jun 5, 2025
355fc56
Vale fixes
RCheesley Jun 5, 2025
c82850b
Vale fixes
RCheesley Jun 5, 2025
6e19f1c
Vale fixes
RCheesley Jun 5, 2025
58b07cf
Add to accept list
RCheesley Jun 5, 2025
285e1ca
Vale fix
RCheesley Jun 5, 2025
2cb2803
Vale fixes
RCheesley Jun 5, 2025
8b73f92
Active voice fix
RCheesley Jun 5, 2025
c8569e1
Vale fix
RCheesley Jun 5, 2025
8d2485b
Vale fix
RCheesley Jun 5, 2025
90de025
Vale fixes
RCheesley Jun 5, 2025
1391ad4
Vale fixes
RCheesley Jun 5, 2025
24629b9
Merge pull request #357 from DogByteMarketing/wordpress
RCheesley Jun 5, 2025
0b33276
Update structure
RCheesley Jun 5, 2025
8040f00
Update ToC
RCheesley Jun 5, 2025
31e3d53
Merge pull request #397 from RCheesley/refactor-wordpress
RCheesley Jun 5, 2025
cc7c21d
Update readme
cibero42 Jun 6, 2025
2dd0004
Merge pull request #398 from mautic/fix-readme
RCheesley Jun 10, 2025
19347e1
fix: remove doctrine schema update command
adiati98 Jun 10, 2025
e820ad3
fix: remove doctrine schema update command
adiati98 Jun 10, 2025
a508f01
Merge branch '6.0' into form-field-add-readonly-behaviour
RCheesley Jun 16, 2025
a49b82f
Merge pull request #347 from shinde-rahul/form-field-add-readonly-beh…
RCheesley Jun 16, 2025
b977719
Merge branch '5.2' into fix/issue_399_5.2
RCheesley Jun 16, 2025
f9fcc60
Merge pull request #401 from adiati98/fix/issue_399_5.2
RCheesley Jun 16, 2025
48c3a07
Merge branch '6.0' into fix/issue_399_6.0
RCheesley Jun 16, 2025
431047d
Merge pull request #402 from adiati98/fix/issue_399_6.0
RCheesley Jun 16, 2025
0a8bd31
Fix issue preventing loading https://github.com/mautic/mautic-communi…
RCheesley Jul 3, 2025
335ffcd
Merge pull request #405 from mautic/Fix-container-path-missing
RCheesley Jul 3, 2025
4c702d3
chore: add codeowners file
adiati98 Jul 17, 2025
d3668bc
Add sphinx and build capabilities
shinde-rahul Jul 27, 2025
39a4b18
Updated docker file for ddev.
shinde-rahul Jul 27, 2025
e668170
Updated readme with ddev changes
shinde-rahul Jul 27, 2025
880d4ac
Update README.md
shinde-rahul Jul 27, 2025
2f277da
Added new command to build documentation
shinde-rahul Jul 28, 2025
6b2b78d
Update .ddev/commands/web/build-docs
shinde-rahul Jul 28, 2025
8c85565
fix: update local dev setup section
adiati98 Jul 28, 2025
07608a1
fix: restructure sections for better flow
adiati98 Jul 28, 2025
0cb80ed
fix: address vale errors
adiati98 Jul 28, 2025
25e328e
Merge pull request #414 from shinde-rahul/ddev-sphinx
RCheesley Sep 3, 2025
141fa98
Merge branch '5.2' into chore/add-codeowners
RCheesley Sep 3, 2025
aaf8342
Merge pull request #411 from adiati98/chore/add-codeowners
RCheesley Sep 3, 2025
121e9ad
Create LICENSE.txt
adiati98 Sep 3, 2025
80d7efa
Merge pull request #418 from adiati98/chore/add-apache-license
RCheesley Sep 3, 2025
3fa9043
Merge remote-tracking branch 'origin/5.2' into backmerge-5.2-into-6.0
matbcvo Sep 9, 2025
792fd1d
Merge pull request #423 from mautic/backmerge-5.2-into-6.0
RCheesley Sep 11, 2025
afa7604
Merge remote-tracking branch 'origin/6.0' into backmerge-6.0-into-7.0
matbcvo Sep 11, 2025
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
32 changes: 32 additions & 0 deletions .ddev/commands/web/build-docs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/usr/bin/env bash

## Description: Build User documentation using the Sphinx HTML builder.
## Usage: build-docs
## Example: ddev build-docs

# Ensure we fail on error
set -e

# Initialize terminal colors/styles
bold=$(tput bold)
green=$(tput setaf 2)
reset=$(tput sgr0)
underline=$(tput smul)

echo "${bold}${green}🔧 Building user documentation...${reset}"

# Ensure we're in the right directory
cd /var/www/html/docs
echo

# Run the build
make html

# Success message
echo
echo "${green}✅ Documentation build completed successfully!${reset}"
echo "${green}📁 The HTML pages are in: ${bold}/var/www/html/docs/build/html${reset}"

# Friendly access hint
echo "${green}🌐 View the documentation at: ${bold}${underline}https://${DDEV_HOSTNAME}${reset}"
echo
8 changes: 8 additions & 0 deletions .ddev/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
type: generic
docroot: "docs/build/html"
working_dir:
web: /var/www/html/docs
omit_containers: [db]
hooks:
post-start:
- exec: "make html"
16 changes: 16 additions & 0 deletions .ddev/web-build/Dockerfile.sphinx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Update package list and install Python 3 tools: pip and venv
RUN apt-get update && apt-get install -y python3-pip python3-venv

# Define the virtual environment location and create it
ENV VENV_DIR=/opt/mautic-docs-venv
RUN python3 -m venv $VENV_DIR

# Copy Python dependencies into the container and install them in the virtualenv
COPY requirements.txt /tmp/requirements.txt
RUN . $VENV_DIR/bin/activate && pip install --upgrade pip && pip install -r /tmp/requirements.txt

# Ensure the virtualenv's bin directory is added to PATH so that its tools (like sphinx-build) are accessible in all contexts
ENV PATH="$PATH:/opt/mautic-docs-venv/bin"

# Persist the updated PATH for interactive shells (e.g., when using `ddev ssh`)
RUN echo 'export PATH="$PATH:$VENV_DIR/bin"' > /etc/profile.d/venv-path.sh
12 changes: 12 additions & 0 deletions .ddev/web-build/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# File: docs/requirements.txt

# Defining the exact version will make sure things don't break
sphinx==8.0.2
sphinx_rtd_theme==3.0.0
readthedocs-sphinx-search==0.3.2
rstcheck==6.2.4
myst-parser==4.0.0
linkify-it-py==2.0.3
esbonio==0.16.5
attrs==24.2.0

21 changes: 21 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"image": "python:3.11-bookworm",
"features": {
"ghcr.io/devcontainers/features/common-utils:2": {}
},
"customizations": {
"vscode": {
"settings": {
"python.defaultInterpreterPath": "/usr/local/bin/python"
},
"extensions": [
"ms-python.python",
"swyddfa.esbonio",
"lextudio.restructuredtext",
"eamodio.gitlens",
"trond-snekvik.simple-rst"
]
}
},
"postCreateCommand": "chmod +x .devcontainer/setup-project.sh && .devcontainer/setup-project.sh"
}
16 changes: 16 additions & 0 deletions .devcontainer/setup-project.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash
set -ex

VALE_VERSION=3.7.1

# Install required packages
pip install -r docs/requirements.txt

# Required for Vale
pip install rst2html rstcheck

# Install Vale
mkdir -p /tmp/vale
curl -sSL https://github.com/errata-ai/vale/releases/download/v${VALE_VERSION}/vale_${VALE_VERSION}_Linux_64-bit.tar.gz | tar -xz -C /tmp/vale
sudo install -o root -g root -m 0755 /tmp/vale/vale /usr/local/bin/vale
rm -rf /tmp/vale
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# For code owners docs, see: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

# Global owners

* @mautic/education-team-leaders
2 changes: 2 additions & 0 deletions .github/styles/config/vocabularies/Mautic/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@ Schimpf
SCP
SendGrid
SES
Shortcodes
Shortcode
shortcode
shortcodes
SMS
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@
# Created by https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks
# Edit at https://www.toptal.com/developers/gitignore?templates=python,jupyternotebooks

### PHPStorm ###
.idea

### Mac OS ###
.DS_Store

### JupyterNotebooks ###
# gitignore template for Jupyter Notebooks
# website: http://jupyter.org/
Expand Down
13 changes: 13 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Copyright 2014 Mautic

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
128 changes: 87 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,93 +1,139 @@
[![Documentation Status][RTD badge URL]][RTD URL]
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-13-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
[![Documentation Status][RTD badge URL]][RTD URL] [![All Contributors](https://img.shields.io/github/all-contributors/mautic/user-documentation?color=ee8449&style=flat-square)](#contributors)

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/mautic/user-documentation)
# Mautic user documentation

Check warning on line 3 in README.md

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Mautic.FeatureList] Is this referring to a Mautic feature? If so, use 'User' instead of 'user'. Raw Output: {"message": "[Mautic.FeatureList] Is this referring to a Mautic feature? If so, use 'User' instead of 'user'.", "location": {"path": "README.md", "range": {"start": {"line": 3, "column": 10}}}, "severity": "INFO"}

# Mautic user documentation (new)

This repository hosts the new end-user documentation for Mautic on the [Read the Docs platform][ReadTheDocs]. Whenever a PR is merged, changes are deployed immediately to https://mautic-documentation.readthedocs.io/

If you're looking for our current end-user documentation, please go to https://docs.mautic.org/ or the [GitHub repository][End user docs].
This repository hosts the end-user documentation for Mautic on the [Read the Docs platform][ReadTheDocs]. Whenever a PR is merged, changes are deployed immediately to https://docs.mautic.org/.

Check warning on line 5 in README.md

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Passive] In general, use active voice instead of passive voice ('are deployed'). Raw Output: {"message": "[Google.Passive] In general, use active voice instead of passive voice ('are deployed').", "location": {"path": "README.md", "range": {"start": {"line": 5, "column": 140}}}, "severity": "INFO"}

Check warning on line 5 in README.md

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Passive] In general, use active voice instead of passive voice ('is merged'). Raw Output: {"message": "[Google.Passive] In general, use active voice instead of passive voice ('is merged').", "location": {"path": "README.md", "range": {"start": {"line": 5, "column": 121}}}, "severity": "INFO"}

Check warning on line 5 in README.md

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Mautic.FeatureList] Is this referring to a Mautic feature? If so, use 'User' instead of 'user'. Raw Output: {"message": "[Mautic.FeatureList] Is this referring to a Mautic feature? If so, use 'User' instead of 'user'.", "location": {"path": "README.md", "range": {"start": {"line": 5, "column": 31}}}, "severity": "INFO"}

## Migration of end-user docs to Read the Docs

We aim to move all aspects of the end-user documentation to Read the Docs.

For more background, our end goal, and to let us know if you want to help, please join the Education Team channel (#t-education) on Slack (get an invite at https://mautic.org/slack). Thanks in advance!

## Making a PR
## Local development setup

To make a small change to the base language files for the documentation, use the 'edit file' button on the documentation and commit your changes. This creates a new Pull Request.
There are two ways to set up your local environment:

To make more complex changes, follow the steps below:
### 1. With DDEV (recommended)

Check warning on line 17 in README.md

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Parens] Use parentheses judiciously. Raw Output: {"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "README.md", "range": {"start": {"line": 17, "column": 18}}}, "severity": "INFO"}

Check warning on line 17 in README.md

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.HeadingPunctuation] Don't put a period at the end of a heading. Raw Output: {"message": "[Google.HeadingPunctuation] Don't put a period at the end of a heading.", "location": {"path": "README.md", "range": {"start": {"line": 17, "column": 5}}}, "severity": "WARNING"}

1. Install a code editor. [Visual Studio Code](https://code.visualstudio.com) is recommended as it automatically installs all the extensions you need.
2. Install [Github CLI](https://cli.github.com/) which simplifies Git commands.
3. Create a working folder on your local computer.
4. Open a terminal and navigate to that folder using the command `cd <path/to/folder>`.
5. Fork the `mautic/user-documentation` repository on GitHub by clicking on the fork button at the top right.
6. Once forked, if you know your way around Git and you are are writing documentation for something which is specific to the latest version of Mautic, you should branch from `main`.
Mautic uses [DDEV](https://ddev.com) to simplify local development and testing of documentation updates.

If you are writing documentation for a feature which is coming in a future release - e.g. 5.0 - then branch off the relevant branch for that release, which should generally speaking match the branch used in the main mautic/mautic repository - e.g. `5.x`.
7. Type `gh repo clone [your-forked-repo-name]/user-documentation` to clone your forked repository to your local computer.
8. Open the folder `user-documentation` that is created in your editor.
9. At the bottom left of your screen, you will see the default branch called 'main' is showing as your active branch. Click this, and a box will appear at the top of the page allowing you to 'create a new branch'. Type a name which relates to the work you plan to do.
10. Make your desired changes by editing the files, which you can locate on the left pane.
11. Use the Source Control icon on the menu on the left to view changed files. Click the plus icon next to them to 'stage' them for committing. This lets you save and describe changes in chunks, making it easier to reverse specific changes in the future.
12. If editing text, ensure to run necessary commands to update files for translations on Transifex and include those updates in your PR.
13. Commit all your changes, then click the 'Publish Branch' button. This action might prompt you to create a fork of the repository if not done earlier.
14. Under the Source Control icon, navigate to the 'Branches' section. Find your branch, hover over the 'Create pull request' icon, and click it.
15. This action will direct you to the GitHub web interface where you can add an appropriate title and description for your proposed changes.
16. If reviewers request changes, switch back to the branch (as explained in step 9). Implement the necessary changes and follow steps 11-14 again. After updating, commit and push your changes, then notify the reviewer to check the updated content.
Go to the [Get Started](https://ddev.com/get-started/) page for instructions to install DDEV on your local machine.

Check warning on line 21 in README.md

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Mautic.FeatureList] Is this referring to a Mautic feature? If so, use 'Landing Page' instead of 'page'. Raw Output: {"message": "[Mautic.FeatureList] Is this referring to a Mautic feature? If so, use 'Landing Page' instead of 'page'.", "location": {"path": "README.md", "range": {"start": {"line": 21, "column": 56}}}, "severity": "INFO"}

### Generating translations files
---

Currently, we manually create the translation files necessary for Transifex to inform translators that there are changes to the content.
> [!NOTE]
> **For Windows users**: You can install and run DDEV on [traditional Windows](https://ddev.readthedocs.io/en/stable/#system-requirements-traditional-windows). However, it's recommended that you use [Windows Subsystem for Linux 2 (WSL2)](https://learn.microsoft.com/en-us/windows/wsl/about) for faster and better performance.

Check warning on line 26 in README.md

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Parens] Use parentheses judiciously. Raw Output: {"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "README.md", "range": {"start": {"line": 26, "column": 231}}}, "severity": "INFO"}

Check warning on line 26 in README.md

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Colons] ': Y' should be in lowercase. Raw Output: {"message": "[Google.Colons] ': Y' should be in lowercase.", "location": {"path": "README.md", "range": {"start": {"line": 26, "column": 24}}}, "severity": "WARNING"}

Check warning on line 26 in README.md

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Mautic.FeatureList] Is this referring to a Mautic feature? If so, use 'Users' instead of 'users'. Raw Output: {"message": "[Mautic.FeatureList] Is this referring to a Mautic feature? If so, use 'Users' instead of 'users'.", "location": {"path": "README.md", "range": {"start": {"line": 26, "column": 17}}}, "severity": "INFO"}
>
> If you're new to WSL, follow the instructions on the [DDEV blog](https://ddev.com/blog/watch-new-windows-installer/) to install and set up WSL and DDEV.

To do this, run the following at the command line after following the steps below to build the documentation locally.
---

1. Run the command in the /docs folder `sphinx-build -b gettext . docs_translations`
2. Commit the files created with your pull request
After you've installed DDEV, follow these steps:

1. [Fork and clone](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) this repository to your local machine.
2. Navigate into the project directory by running:

```bash
cd user-documentation
```
3. Start the DDEV environment with this command:

## Build documentation locally
```bash
ddev start
```
4. After making changes to documentation files, you need to build the updated docs by running:

```bash
ddev build-docs
```
5. Run the below command to view your changes live on your browser:

```bash
ddev launch
```

This automatically opens your browser and navigates to `https://user-documentation.ddev.site/`.

**Note:** You must ensure that your changes work as expected. Every time you make changes, run `ddev build-docs` and refresh the page in your browser to see the changes.

> [!TIP]
> If you don't see the configuration take effect, run `ddev restart` to restart the project.

### 2. With Sphinx (Python application)

- [RST Syntax Cheatsheet][RST Cheatsheet]
- [Sphinx Demo][Sphinx Demo]
- [Sphinx Syntax][Sphinx Template]

The following provides instructions for how to build docs locally for visualization without pushing to the remote:

1. Install Python 3 for your OS if not already installed
1. Install [Python 3](https://www.python.org/downloads/) for your OS if not already installed
2. Install Sphinx `pip install sphinx`
3. Install sphinx-rtd-theme `pip install sphinx-rtd-theme`
4. Install MyST Parser `pip install myst_parser`
5. CD into the docs directory `cd [path to this repo]/docs`
6. Run `make html`
7. This will generate HTML in docs/build/html. Setup a web server with the web root as docs/build/html or open docs/build/html/index.html in a browser.

This will generate HTML in `docs/build/html`. Setup a web server with the web root as `docs/build/html` or open `docs/build/html/index.html` in a browser.

### Vale
#### Vale

Before pushing, run Vale and address suggestions and errors as applicable.
1. Install [`vale`][Vale]
2. `vale .`

### PhpStorm/PyCharm File Watcher
#### PhpStorm/PyCharm File Watcher

You can automatically build changes to rst files using a file watcher.
1. Go to Preferences -> Tools -> File Watchers -> + button -> custom
2. Configure the watcher as presented in the screenshot

<img width="753" alt="Screen Shot 2021-10-06 at 15 52 06" src="https://user-images.githubusercontent.com/63312/136281761-204861f9-340a-4e3e-8ce5-e0584236303c.png">

## Generating translations files

Currently, we manually create the translation files necessary for Transifex to inform translators that there are changes to the content.

To do this, run the following at the command line after following the steps to build the documentation locally.

1. Run the command in the `/docs` folder `sphinx-build -b gettext . docs_translations`
2. Commit the files created with your pull request


[ReadTheDocs]: <https://readthedocs.org>
[End user docs]: <https://github.com/mautic/mautic-documentation>
[RTD badge URL]: <https://readthedocs.org/projects/mautic-documentation/badge/?version=latest>
[RTD URL]: <https://mautic-documentation.readthedocs.io/en/latest/?badge=latest>
[RST Cheatsheet]: <https://github.com/ralsina/rst-cheatsheet/blob/master/rst-cheatsheet.rst>
[Sphinx Template]: <https://github.com/readthedocs/sphinx_rtd_theme/tree/master/docs/demo>
[Sphinx Demo]: <https://sphinx-rtd-theme.readthedocs.io/en/stable/demo/structure.html>
[Vale]: <https://vale.sh/docs/vale-cli/installation/>

## Making a PR

To make a small change to the base language files for the documentation, use the 'edit file' button on the documentation and commit your changes. This creates a new Pull Request.

To make more complex changes, follow the steps below:

1. Install a code editor. [Visual Studio Code](https://code.visualstudio.com) is recommended as it automatically installs all the extensions you need.
2. Install [GitHub CLI](https://cli.github.com/) which simplifies Git commands.
3. Create a working folder on your local computer.
4. Open a terminal and navigate to that folder using the command `cd <path/to/folder>`.
5. Fork the `mautic/user-documentation` repository on GitHub by clicking on the fork button at the top right.
6. Once forked, if you know your way around Git and you are writing documentation for something which is specific to the latest version of Mautic, you should branch from `main`.

If you are writing documentation for a feature which is coming in a future release - for example, `5.0` - then branch off the relevant branch for that release, which should generally speaking match the branch used in the main `mautic/mautic` repository, for example, `5.x`.
7. Type `gh repo clone [your-forked-repo-name]/user-documentation` to clone your forked repository to your local computer.
8. Open the folder `user-documentation` that is created in your editor.
9. At the bottom left of your screen, you will see the default branch called `main` is showing as your active branch. Click this, and a box will appear at the top of the page allowing you to 'create a new branch'. Type a name which relates to the work you plan to do.
10. Make your desired changes by editing the files, which you can locate on the left pane.
11. Use the Source Control icon on the menu on the left to view changed files. Click the plus icon next to them to 'stage' them for committing. This lets you save and describe changes in chunks, making it easier to reverse specific changes in the future.
12. If editing text, ensure to run necessary commands to update files for translations on Transifex and include those updates in your PR.
13. Commit all your changes, then click the 'Publish Branch' button. This action might prompt you to create a fork of the repository if not done earlier.
14. Under the Source Control icon, navigate to the 'Branches' section. Find your branch, hover over the 'Create pull request' icon, and click it.
15. This action will direct you to the GitHub web interface where you can add an appropriate title and description for your proposed changes.
16. If reviewers request changes, switch back to the branch (as explained in step 9). Implement the necessary changes and follow steps 11-14 again. After updating, commit, and push your changes, then notify the reviewer to check the updated content.

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Expand Down
Loading
Loading