sphinxcontrib.contributors Sphinx extension adds a sidebar box showing the contributors of the documentation. This information is automatically sourced from Git commits and Github user profiles.
Often writing open source software documentation is a thankless task. Providing documentation is oversighted by many software developers. People who write documentation do not get to be in limelight like rockstar developers do. The sphinxcontrib.contributors Sphinx extension encourages writing documentation by giving the face time and link love for the writers on the documentation page itself by adding a new box to Sphinx sidebar.
Table Of Content
- Give the credit where the credit is due
- The process is automatic based on git history and there is no need to have separate contributors list
- Show that the documentation is written by humans and it doesn’t born automatically
- Encourage people to write more documentation
Install the package to your virtualenv:
pip install sphinxcontrib.contributors
Install templates and static media files needed for this extension to work. You can download the files from here. Use Github raw file view to download the file.
Add to your Sphinx static resource folder the following files:
transparency.min.js contributors.js contributors.css
Add to your Sphinx templates folder the following files:
You get a Github username as tooltip, Github profile link and Github avatar of each author.
- If there is Github username available, then the Github gravatar or identifcon is displayed with a link to Github profile page
- If the commiter was not a Github author, then the committer’s name is displayed on a blank image
Currently the authors are resolved on the client-side using Github public API. This is suitable for low traffic documentation hosting.
- Resolving authors during the documentation build time increases the build time considerably
- With large documentation builds you might hit Github API throttling threshold, making it difficult to do continuous documentation builds
6. Source code and issue tracking
The extension uses git command and Python sh library to extract the Git repository information. Transparency client-side semantic templating library is used to generate DOM tree for face links from Github API JSON.