Skip to main content

Show document contributors on the page

Project description

Introduction

Sphinx is a software development documentation tool written in Python. It is used by hundreds of projects, of some of which you can find on readthedocs.org.

sphinxcontrib.contributors Sphinx extension adds a sidebar box showing the contributors of the documentation. This information is sourced from Git commits and Github user profiles.

https://raw.github.com/miohtama/sphinxcontrib.contributors/master/docs/screenshot.png

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.

Benefits

  • 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

Examples

See Plone Developer Documentation.

Installation

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:

contributors.html

Usage

The Sphinx HTML is fitted with information of Github API URL where to get commit for a specific file. Then a JavaScript AJAX request is used to pull the commit information. The authors are parsed from the commits.

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

Limitations

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

Source code and issue tracking

See the project on Github.

Other

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.

This project was created in the Plone Conference 2013 with awesome people, many caipirinhas and a lot of fun.

Author

Mikko Ohtamaa (blog, Facebook, Twitter, Google+)

Changelog

1.0 (2013-10-07)

  • Initial release [miohtama]

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinxcontrib.contributors-1.0.zip (204.3 kB view details)

Uploaded Source

File details

Details for the file sphinxcontrib.contributors-1.0.zip.

File metadata

File hashes

Hashes for sphinxcontrib.contributors-1.0.zip
Algorithm Hash digest
SHA256 2a83c75f14a3616cdbd2f518e7d528985219b3df17fa1cfc5b629058b3f2ee10
MD5 c5cb2c2c3218e1b0f5670d167e0219e3
BLAKE2b-256 e138a1d4acd5b6a7ad04d071c1fc2b83077b4e88452c7d78c0375cdcfacc0ca2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page