Add sphinx.ext.viewcode and make docstring format more consistent