How to document your research software

In this lesson we will discuss different solutions for implementing and deploying code documentation.

We will start with a discussion about what makes a good README. For many projects, a README is more than enough.

We will then learn how to build documentation with the documentation generator Sphinx (and compare it with others) and how to deploy it to Read the Docs, a service which hosts open documentation for free.

This demonstration will be independent of programming languages.

We will also learn how to deploy a project website or personal homepage to GitHub Pages. The approach that we will learn will be transferable to GitLab Pages and Bitbucket Pages.

Prerequisites

  1. Basic understanding of Git.

  2. For the Sphinx part, You need to have sphinx and sphinx_rtd_theme installed (they are part of the coderefinery environment).

  3. For the GitHub Pages part you need a GitHub account.

If you wish to follow in the terminal and are new to the command line, we recorded a short shell crash course.

5 min

Intro

5 min

In-code documentation

10 min

Writing good README files

35 min

Sphinx and Markdown (with exercise)

10 min

Break

30 min

Deploying Sphinx documentation to GitHub Pages (with exercise)

10 min

Popular tools and solutions

10 min

Motivation and wishlist

5 min

Summary