-
Notifications
You must be signed in to change notification settings - Fork 33
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
RFC better documentation structure #56
Comments
This I think could potentially be quite some work. I see the getting started section as a quick introduction to the basic programatic API of the package the concepts of the package.
When it makes sense +1, but I find it more important to document e.g. the REST API. CLI should be self-documenting as much as possible via
+1 Signals as well.
|
* Adds default content to INSTALL.rst even though file may later be completely removed (addresses inveniosoftware#56). Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
* Adds default content to INSTALL.rst even though file may later be completely removed (addresses inveniosoftware#56). Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
* Plugs example app module documentation into Sphinx documentation. (addresses inveniosoftware#56) Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
* Adds default content to INSTALL.rst even though file may later be completely removed (addresses #56). Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
* Plugs example app module documentation into Sphinx documentation. (addresses #56) Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
* Adds default content to INSTALL.rst even though file may later be completely removed (addresses #56). Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
* Plugs example app module documentation into Sphinx documentation. (addresses #56) Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
Now that we have started to finalise the Invenio 3 beta documentation, the time has come to improve the documentation structure. I would propose the following changes:
Always visible menu. Currently, the lhs menu collapses when you click on say one API Docs section. This can lead to cryptic pages where the reader may feel lost. Besides, we don't have many nested chapters, so the menu can stay "always-visible". This eases the navigation. We already use it in Invenio documentation, e.g. technology docs example. Let's do similar for packages' menu too. Another good example of what I have in mind is SQLAlchemy-Continuum, among others.
Introduce Features section. The casual reader coming to an Invenio-Foo page would need a short introduction about what this package does. We say it in one phrase in the beginning, but it would be good to standardise this across packages. Basically, we can have a short "Features" heading with one-phase mission statement and an itemised list stating the main features as bullet points. This can be part of the home page.
Introduce Configuration section. After people learn what the package does, they may want to learn how to configure its behaviour. It would be useful to have a "Configuration" documenting all configuration variables.
Streamline User Guide. The User Guide is good, but the "Installation" section does not seem to really make sense as a separate page. It is too short and can be covered easily as part of the User Guide tutorial. Besides, people will be installing most packages as dependencies via over-arching Invenio "flavours". If they need to see the
pip
installation command explained, they are perhaps wrong audience.Use Getting started? The "user" guide is often a "developer" guide, as it were, so what about renaming the tutorial to something like "Getting started"? Packaging the example app as part of such as getting-started tutorial would make sense. Then add other sections as need be for "bigger" packages.
CLI reference? What about a new CLI reference section where we document all the available CLI commands and options?
API reference. Nice, let's simply complete the sphinx autodoc, add
:param
,:returns
,:raises
, etc as appropriate. What about signals?Simplify Contributing. It is long, and may be somewhat misleading, e.g. "Get Started!" heading is for developers only, since the bug reporters already "got started" before. I'd rather simplify this page, make it very short, and point to the centralised Invenio docs
WDYT? I can prepare an example PR to provide an explicit example.
CC @inveniosoftware/triagers
P.S. See also parts of inveniosoftware/invenio#1799
The text was updated successfully, but these errors were encountered: