Skip to content

Contribute to the documentation

The documentation for this project is written in Markdown, a simple markup language that allows you to format text using plain text syntax. If you're not familiar with Markdown, you can use this guide to learn the syntax. Note that Mkdocs uses some Markdown extensions, so you may need to familiarize yourself with those as well.

The documentation source is maintained via Git. For more info on how to use git, refer to Github's help page. If you're new to Git, you can refer to their documentation for more information on how to use it.

By using Git and Markdown effectively, you can contribute to the project's documentation and help improve it for everyone.

In order to propose improvements to a document:

  1. Clone the repo
  2. Make the changes and update your clone
  3. Follow the "Building the docs" section to render the documentation site locally
  4. Propose your changes using the button New Pull Request in the docs repo

To contribute to libretro/docs documentation, you can check out the To-Do list here, or submit suggestions and issues at the libretro/docs issue tracker on GitHub.

Building the docs

  1. Make sure you have Python and pip installed
    python --version
    pip --version

Building in Windows/msys2

If you are using the standard RetroArch msys2 environment, you will need to install python with the command pacman -S python. Next you will need to download the script from the pip bootstrap site. Finally, execute the script with the command python

  1. Install MkDocs

    pip install mkdocs

  2. Install MkDocs-Material

    pip install mkdocs-material

  3. Install PyMdown Extensions

    pip install pymdown-extensions

  4. Build the site

    mkdocs build

  5. The documentation will be built to the site directory; preview any changes with MkDocs' built-in dev-server before submitting a pull request

    mkdocs serve


Adding a new core

These are the documents that should be added/updated when a new core is added to the libretro ecosystem.

  • Add the core to docs/library/ (Follow the latest core template. docs/meta/
  • Add the core to mkdocs.yml
  • Add the core to docs/meta/
  • Add the core to docs/meta/ if it's related to another core in some way
  • Add the core to docs/development/
  • Add the core to docs/guides/ if it supports softpatching
  • Add the core to docs/guides/ if it supports cheevos
  • Add the core to docs/library/ if it needs a BIOS