Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructure documentation for user-friendliness #1175

Closed
dotsdl opened this issue Jan 18, 2017 · 17 comments
Closed

Restructure documentation for user-friendliness #1175

dotsdl opened this issue Jan 18, 2017 · 17 comments
Assignees
Milestone

Comments

@dotsdl
Copy link
Member

dotsdl commented Jan 18, 2017

The MDAnalysis documentation is structured in such a way that it contains scant information on the user interface and otherwise gives detail on the internal components of MDAnalysis that users should never really have to touch directly (parsers, readers and writers). We've seen usage on the mailing list from users in which they try e.g. to directly use a Reader object to parse a trajectory, and the docs don't make it clear that this isn't really the way to go about things.

I think the docs should be restructured to have three parts. The first part should read more like the MDAnalysis Tutorial, giving a friendly view as to how one uses MDAnalysis in practice. The second part should be an API reference, with the full sphinx autodoc output for the user interface components showed in part one. The last part should be the developer docs, which would include the reference docs for internal components, such as parsers, readers, and writers so that they are somewhere.

Thoughts?

@richardjgowers
Copy link
Member

I liked the idea of a tiered approach, first there should be an explanation of how it works, and only after an explanation of why.

@richardjgowers
Copy link
Member

So thinking about this, the only problem is that there is potential for the rst and py docs to diverge.

So one option would be to later implement doc testing on our first part/tutorial so that it always works as intended

http://doc.pytest.org/en/latest/doctest.html

@kain88-de
Copy link
Member

Related I just found out that scikit-learn has a Circle-CI setup that uploads the changes for a document build. This allows a reviewer to quickly check the result and give comments without building it himself.

https://8425-843222-gh.circle-artifacts.com/0/home/ubuntu/scikit-learn/doc/_build/html/stable/_changed.html

@richardjgowers richardjgowers self-assigned this Jan 26, 2017
@richardjgowers richardjgowers added this to the 0.16.0 milestone Jan 26, 2017
richardjgowers added a commit that referenced this issue Jan 26, 2017
Docs split into User guide, then API reference
@orbeckst
Copy link
Member

From the scikit-learn example that @kain88-de linked I found out about http://sphinx-gallery.readthedocs.io , which allows one to make nice docs from small scripts. Maybe worthwhile looking into in conjunction with the proposed examples gallery MDAnalysis/MDAnalysis.github.io#4 .

@orbeckst orbeckst removed the question label Mar 9, 2017
@orbeckst orbeckst modified the milestones: 0.16.0, 0.16.x Apr 7, 2017
@orbeckst orbeckst modified the milestones: 0.17.0, 0.16.x May 1, 2017
@orbeckst
Copy link
Member

orbeckst commented May 1, 2017

Although this could go into a patch level, I am retargeting to 0.17.0 so that we can focus on fixing bugs for 0.16.1.

orbeckst pushed a commit that referenced this issue May 25, 2017
Docs split into User guide, then API reference: outlining
the general structure of the docs.
@orbeckst
Copy link
Member

Should perhaps also include #360

  • update formats tables with the appropriate keyword value for format or topology_format
  • user docs on "how to read different file formats into MDAnalysis"

Also see discussion there regarding user/developer docs.

@orbeckst
Copy link
Member

orbeckst commented Aug 30, 2017

More for the wish list: system building

@orbeckst
Copy link
Member

More from other issues with the Component-Docs tag: All along the lines of How to add new properties to an AtomGroup

Although this is advanced stuff, we could start putting it into the currently very, very thin section The topology system, at least for a start.

@orbeckst
Copy link
Member

A while back @tylerjereddy suggested to do separate pages for classes. Apparently, something like this can be automated with sphinx's autosummary directive.

@orbeckst orbeckst modified the milestones: 0.17.0, 1.0 Dec 9, 2017
@orbeckst
Copy link
Member

orbeckst commented Dec 9, 2017

Doc rewrite is not going to happen for 0.17.0 – I am moving it down.

@orbeckst
Copy link
Member

orbeckst commented Dec 9, 2017

More docs todo on loading trajectories:

@orbeckst
Copy link
Member

Update docs on selections

@orbeckst
Copy link
Member

https://github.com/astropy/sphinx-automodapi looks interesting (see the automodapi docs): it can automatically create the complete API docs for a whole package. Might be useful once we really split the docs in

  • introductory
  • API
  • developer docs

There's also the sphinx.ext.autosummary extension.

@orbeckst
Copy link
Member

orbeckst commented Nov 28, 2018

Docs on extending topologies (thanks to #363)

@orbeckst
Copy link
Member

Google launched Season of Docs – this issue looks like a suitable starting point for a tech writer who would want to work with MDAnalysis.

@orbeckst
Copy link
Member

@lilyminium with your GSoD project, this is your area :-)

@richardjgowers
Copy link
Member

I'm gonna say @lilyminium has done this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants