To find more about us or download PDFs of our curriculums, please see our website. This GitHub is meant for contributers to the curriculum or anyone who wants to build off what we have created. If you don't have experience with GitHub or LaTeX, don't worry, just email us at email@example.com with your lesson ideas and we'll get back to you!
Compiling and Editing the Lessons
The first step is to download a LaTeX distributions. I suggest the following:
I've tested a few offline LaTeX editors, and personally found the simplest to be:
While I highly suggest an offline editor (to make your git workflow simpler), Overleaf is a great online editor which you can use to get started writing LaTeX right away.
XeLaTeX as the LaTeX varient when you compile the lessons (on TeXworks, it appears on the top left drop down menu).
The Structure of the Program
All style and template definitions go in
A Problem? Suggestion? Both?
Please feel free to open an issue on GitHub or to email us at: firstname.lastname@example.org
We would be happy to help you start contributing! If I get enough emailss, I'll also create a video guide to installing it on every platform.
If you'd like to report a bug, see the section above).
Fork our repo. When you're ready to merge your contributions, create a PR to master and add one of the core members as a reviewer.
Copyright 2019 Bits&Bots
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
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.
Exceptions to the License
Please feel free to email us at email@example.com to explain why the license is too restricting for your use. We reserve the right to decline/accept exception requests depending on your use case.
The details of the exception will be specified in our email communication and may be different per request.
Bits&Bots Core Members
- Make sure you're set up with our software systems. If you're not, hit up the orientation channel on our Slack.
- Create an Issue on GitHub outlining the new feature or bug you are fixing.
- Navigate to the correct place in your terminal. Clone the repo.
git clone <>
If you want to build all the lessons at once, or just prefer working in a text editor, you can use the included makefile to compile lessons.
To compile all the lessons in your terminal, navigate to the project directory, and run:
To compile a specific lesson, just include the name of the pdf file you want to generate. For example to build lesson one, you would write:
The resulting pdf files for that will be placed in the newly created out folder.
If you want to build all the lessons at once, you can use the included powershell script to compile lessons.
To compile all the lessons in your terminal, you can
- right click on
win-compile-all.ps1and select "Run with PowerShell" or
- navigate to the project directory using Windows PowerShell and run
TODO: script to compile individual lessons
Editing the Code
- Create an issue on our GitHub, make sure to have an informative title and description.
- In your terminal, navigate to the directory where you cloned the repo.
- Pull the latest version of master.
git checkout master git pull
- Create a branch locally to do your changes.
git checkout -b <BRANCH_NAME> git push --set-upstream origin
- Edit the documents (for more, see [Compiling and Editing the Lessons](Compiling-and-editing-the Lessons))
- After you have completed your changes, make sure they compile and the commit them and push them.
git add -A git commit -m "<A message saying what you changed>" git push
- Create a PR on our GitHub from your new branch to our master branch.
- Eventually, our CI systems will automatically update our website to contain the newest version of our PDFs, but for now, one of us will automatically update the website to contain the new PDFs.