Contributing
Forward
For all of these methods you will need a github account. It’s free and Microsoft has only barely begun to enshittify it.
Simple changes like correcting word choice, or adding a couple sentences to an existing guide can be done via the first method with no real knowledge of github or markdown. Changing formatting and adding links or images will require a familiarity with markdown, or a markdown editor. There are extensions for google docs that can export to markdown. StackEdit is an online markdown editor that will let you format text using normal word processor tools and dispaly both the raw markdown and the final file side by side and can be a nice way to learn markdown. Lastly the github web editor can be toggled back and forth between editing the raw mark down and previewing the final formatting, but lacks a spell check.
The book has advanced styling that can only be previewed using the third contribution method, anything you preview in a markdown editor or the web github editor will not look exactly like it will in the book.
The style sheet article includes some basic markdown tips and the structure article will tell you where you should put new files.
First way to contribute
You can easily suggest edits by clicking on the button at the top right
It will simplify the process of forking the book the first time and submitting a pull request when you commit (save) your changes. It will load you into the github webeditor.
Second way to contribute
If you want to add entirely new articles via only a web interface (because you can’t or do not want to install new software on your computer for instance) and don’t mind that you won’t be able to preview the exact way the file will look in the book then this section may be for you, but you should consider using the third method as it is the intended way to interface with the software that runs the book. Lastly the github web client doesn’t have a way for you to save your work in progress without committing them which can be awkward (clutters up the commit history), this can mostly be gotten around by using one of the web markdown editors mentioned in the forward.
First you will need to fork the book, if you have already submitted simple changes via the first method this will already have been done. Otherwise you can follow these steps:
-
Go to the main repo
-
Press the fork button
-
Create the fork
Next you need to navigate to the folder where your file will be created, see the Book Structure article. In the upper right of the window will be an add file button. You can upload a file you already have or create a new one directly.
If you create a new article, you need to add it to src/SUMMARY.md
for it to be shown.
Third way to contribute
This book is written using mdBook. To contribute to this book, you will need:
VSCodium or VSCode is highly recommended to use. Although it is optional, I will assume you are using it.
Below I describe the setup steps needed to run and contribute to this book. But before that, go and install VSCodium and Git.
Forking book repository
Contributing to this book follows the standard “Pull Request” workflow. That basically means that you will have your own copy of the book, and you will ask us to pull your changes into the main repository.
Here is the overview of steps needed for contributing:
- Copy (“fork”) the main repository
- Download your copy of repo
- Add your changes to your copy
- Upload your changes
- Open the Pull Request to merge your changes into main repository
Welp, let’s get started. I hope you already have a GitHub account.
Forking
-
Go to the main repo
-
Press the fork button
-
Create the fork
-
You’re awesome
Downloading your repo
-
Open the folder you want to download into in VSCodium. In my case, it will be Desktop.
-
Open Powershell Terminal session
-
Copy the link to your repo.
-
Run the following command in your Powershell Terminal with your link instead of LINK.
git clone LINK
-
You’re awesome.
Dependencies
To run the local version you need to install dependencies. This can be done in different ways
CTRL+Shift+B
->Install Rust
(ChooseWindows
orUnix
) - To install RustCTRL+Shift+B
->Install Dependencies
- Various necessary dependencies
Or
- Download and install Rust
- Install the following dependencies:
-
Preprocessor for mdBook to add Material Design admonishments
cargo install mdbook-admonish
-
Preprocessor for mdBook to add mermaid support
cargo install mdbook-mermaid
-
(Optional) Backend for mdBook which will check your links for you
cargo install mdbook-linkcheck2
Running local copy
CTRL+Shift+B
->Build Local mdBook Server
Or
- Download latest mdbook from Github Releases.
- Drop
mdbook.exe
in thedist
folder of your copy. - Run
run.bat
. In case it doesn’t open by itself, open localhost:3000 in your browser. - Done. You’re awesome.
Uploading your changes
-
Set your git up. Here’s a great guide
-
Add your changes using VSCodium git tab. Open git tab, hover over “Changes” line and press “+”.
-
Add a nice message and press “✔” to commit your changes
-
You should now be able to publish your changes
Creating Pull Request
-
In main book repository, open “Pull Requests” tab and press “New pull request”
-
Press “compare across forks”. Choose your repository and press “Create pull request”.
-
You’re awesome. Probably. Now ping Igigog#6387 in Discord to get your pull request reviewed.
-
Done. Your changes are added to the main book.