The RoboFont documentation is open-source, and is hosted on Gitlab. Users familiar with Git-based workflows can fork the repository, make changes, and submit a pull request.

You’ll need to create an account on GitLab.

Documentation folder structure

The documentation is a large project with many files and folders, so it may be difficult to find what you’re looking for the first time.

This is the folder structure of the project:

robofont_com │ ├── _data ├── _documentation │ ├── building-tools │ │ ├── api │ │ ├── extensions │ │ ├── python │ │ ├── toolkit │ │ └── tools │ │ ├── drawbot │ │ ├── interactive │ │ ├── mojo │ │ ├── observers │ │ └── scripts │ ├── extensions │ ├── how-tos │ ├── introduction │ └── workspace ├── _sass ├── assets │ └── code ├── images └── style.scss

* only relevant files & folders shown

And here are some notes about what you can find in each folder:

file or folder description

Contains structured data in .yml format.

For example:

  • extension metadata from Mechanic, Extension Store
  • glossary of common terms and their meaning


Contains all markdown sources for the documentation.

Each subfolder corresponds to a chapter.

The largest chapter, Building Tools, is further subdivided into subchapters and sections.


Contains .scss variables and modules which are used by the main stylesheet (style.scss).

_variables.scss defines global parameters such as section colors, box margins and colors, corner rounding, fonts etc.


Contains downloadable code examples, organized into subfolders.

Code examples are included into pages with the {% showcode %} directive.


Contains images used in the documentation and website, organized into subfolders.

Images are included into pages with the {% image %} directive.


The full stylesheet for the website and documentation, importing variables and modules contained in the _sass folder.

Editing content with Git

  1. Fork the robofont_com repository (use the Fork button on the project’s homepage).

  2. Make a local copy of your fork:

    cd /path/to/folder/
    git clone
  3. Make changes to existing files or add new files.

    If you have Jekyll installed, you can preview your changes locally in your browser. See Previewing the documentation locally.

  4. When you’re done, commit your changes to your repository:

    git add --all
    git commit -m "fixing typo in Editing the Docs"
    git push
  5. Submit your changes to the main robofont_com repository.

    Use the sidebar menu to go to Merge Requests, and choose New merge request.

    Select your repository as the source branch, and typemytype/robofont_com (master) as the target repository. Click on Compare branches and continue.

    Add a title and description to your merge request, and click on Submit merge request when you’re finished.

Editing content with the GitLab web interface

If you are not comfortable with using Git from the command-line, you can perform the same tasks using GitLab’s web interface.

  1. Fork the robofont_com repository (use the Fork button on the project’s homepage).

  2. Navigate through the projects’s folders and go to the the file you wish to edit.

    The document you are reading now, for example, is the file /_documentation/how-tos/

  3. Click on the Edit button at the top right of the file header. This will open a simple code editor, which you can use to edit the document’s makrdown source code.

    Don’t forget to include a clear and concise commit message about your changes.

    When you’re finished, use Commit Changes button to store the new version of the document in your repository.

  4. Submit a merge request via GitLab (see step 5 in the above section).

Review and merge

Your merge request will be reviewed, and if the changes are approved, your commit will be merged into the main repository. The RoboFont website is within a few minutes.

Last edited on 24/01/2018