Documentation upgrade #10
j-emberton
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Work in progress
Dementpy currently lacks a structured approach to creating and maintaining documentation.
Documentation may be aimed at package users, package developers, or a combination of both. Each group will require slightly different presentation depending on what they need from the Dementpy repo/code.
Below, several strategies that could be used to create and maintain documentation for this project are presented. Each suggested strategy provides an example of a repo where this is the chosen strategy (where possible) as well as a description of how to implement it and the pros and cons of that approach.
Python Docstrings
Simplest approach to creating code documentation. Docstrings should follow a standard such as
Google style
,Numpy style
or restructured textreST
(or Sphinx style).At a minimum, the docstring should contain:
Advantages
Disadavantages
Github Docs
Github supports the creation of
markdown
(.md) docs with support for a variety of useful functionality Github docs. Very often, repos will only usemarkdown
for theReadme
, however with hyperlinks a well structured and connected set of documents forming documentation for the code can be created.Advantages
Disadvantages
Github pages
Github hosted website generated from repo markdown content. This repo has cerated a GitHub Pages site as its main documentation Bootstrap Docs.
More information on GitHub Pages is available here. Github pages uses
Jekyll
to build the site and there are plugins to incorporate python docstrings.Requires paid GitHub subscription
Advantages
Disadvantages
Sphinx and auto doc
Sphinx is a powerful, open source python package for building and publishing html from a variety of sources. It has a large number of potential integrations which allow a high degree of customisability and flexibility.
Beta Was this translation helpful? Give feedback.
All reactions