Mattermost Documentation
This repository generates the documentation available at https://docs.mattermost.com/. All documentation is available under the terms of a Creative Commons License.
If you have any questions, create an account on the Mattermost Community server, then join the writing team in the Documentation Working Group channel. We look forward to working with you!
Table of Contents
Contribute to Mattermost product documentation
Get started
You can edit or create Mattermost documentation directly in GitHub, or by downloading the mattermost/docs
repository onto your machine and using an IDE such as VS Code. Consult the Mattermost Documentation Style Guide and reStructuredText Markup section for stylistic and technical guidance.
If this is your first time contributing to Mattermost, first read and sign the Mattermost Contributor Agreement, so you can be added to the Mattermost Approved Contributor List.
Edit content directly on GitHub
The quickest way to begin is editing directly on GitHub on your fork of the Mattermost docs repo. Select the Edit icon on the top right corner of the page you want to edit in the Mattermost documentation.
If this is the first time you're contributing, follow these steps:
- Select Fork in the top-right corner of the GitHub repository page to fork the current repository.
- Navigate to file you want to edit, then select the Pencil icon (Edit the file) to open the editing interface.
Create Documentation pull requests
- When you're ready to submit your changes, add a descriptive title and comments to summarize the changes made.
- Select Create a new branch for this commit and start a pull request.
- Check the Propose file change button.
- Scroll down to compare changes with the original document.
- Select Create pull request.
Use GitHub PR labels
GitHub PR labels are used to track the lifecycle and status of a pull request. Using the correct labels helps with managing workflows and ensuring that content is edited, merged and released at the correct time. For example, PRs that include an Editor Review label will be processed by an editor on the writing team to ensure the documentation is correctly formatted at https://docs.mattermost.com/ based on guidelines outlined in the style guide.
Take a look at the Labels page for information about how and when to use which labels.
Comment on pull requests
Once a pull request is submitted, multiple committers may comment on it and provide edits or suggestions which you can commit directly. You can also add line comments. Take a look at Commenting on pull requests for more details.
Review pull requests
Once a pull request has been submitted and the correct label assigned, the review process begins. This includes aligning the content with the Style Guide, validating processes, and tagging any other relevant committers. Read more about the review process and expectations in the Mattermost Developer documentation.
Once the review process is complete, and depending on the type of issue it is (e.g., a typo fix vs. a new feature), the change is either merged into master and pushed immediately or merged into the release branch and pushed in alignment with a future release. The branch is then deleted.
Build locally
If you've downloaded the mattermost/docs
repository and are editing Mattermost documentation on your local machine, you can generate the HTML files from markdown in the source
directory. You can review your changes before you commit them or create pull requests.
Note: Terminal commands can be executed on Linux, Mac, and Windows (using PowerShell).
Build prerequisites
The following software is required to build the documentation:
- Git [download]
- Python 3.9 or later [download]
Build instructions
-
Open a terminal window, then clone a forked copy of the documentation repository:
git clone https://github.com/mattermost/docs.git
-
In the terminal window, navigate into the cloned repository:
cd docs
-
Install pipenv by using one of the following commands based on your operating system:
For Mac users where Homebrew is installed:
brew install pipenv
For other operating systems:
pip install --user pipenv
-
Install required Python packages:
pipenv install --dev
-
Build the documentation set. You have three build commands available at the terminal:
- Use
make html
to generate HTML files in the/build
directory. Only file you've modified are re-built. - Use
make clean html
to delete all static HTML output in the/build
directory and re-build all files. This command is particularly useful when you're making changes to the LHS navigation pane and want to ensure you're not reviewing cached results. - Use
make livehtml
to review a live preview published tohttp://127.0.0.1:8000
that automatically updates as new changes are saved in your local IDE.
Windows users will require GNU Make installed for the above commands to work correctly. If GNU Make is not installed, please substitute
CMD /C make.bat
formake
in the above commands to use the Windows command interpreter. For examplemake html
will becomeCMD /C make.bat html
.Note: When using the
CMD /C make.bat
substitution, only a single target may be specified. Instead of runningCMD /C make.bat clean html
, each target must be run seperately. For example,CMD /C make.bat clean
followed byCMD /C make.bat html
. - Use
-
When working with static build results, navigate to the
build
directory:cd build
-
Then, preview your changes by opening the
source/html/index.html
file.
Build errors are written to the build/warnings.log
file.