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 at first it may be difficult to find what you’re looking for.

This is the main folder structure of the project:

robofont_com │ ├── _data ├── _documentation │ ├── Topics │ ├── Tutorials │ │ └── python │ ├── How To’s │ └── Reference │ ├── extensions │ ├── workspace │ └── api ├── _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
_data

Contains structured data in .yml format.

For example:

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

_documentation

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.

_sass

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.

assets/code

Contains downloadable code examples, organized into subfolders.

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

images

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

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

style.scss

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 git@gitlab.com:myusername/robofont_com.git
    
  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.

    The styles test page gives an overview of the available formatting styles and their syntax.

  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/editing-the-docs.md.

  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 markdown 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 updated automatically within a few minutes.

Content in the RoboFont repository is licensed under the MIT License. By submitting content to the repository you accept to distribute your contribution under the same license.

Last edited on 01/09/2021