-
-
Notifications
You must be signed in to change notification settings - Fork 420
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add pages on how to write documentation for ArviZ and restructure the contributing section of the website to follow diataxis Co-authored-by: Oriol (ZBook) <oriol.abril.pla@gmail.com>
- Loading branch information
1 parent
e4c9c8e
commit c7dfa6e
Showing
16 changed files
with
757 additions
and
317 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Library architecture | ||
ArviZ is organized in modules (the folders in [arviz directory](https://github.com/arviz-devs/arviz/tree/main/arviz)). | ||
The main 3 modules are `data`, `plots` and `stats`. | ||
Then we have 3 more folders. The [tests](https://github.com/arviz-devs/arviz/tree/main/arviz/tests) | ||
folder contains tests for all these 3 modules. | ||
|
||
The [static](https://github.com/arviz-devs/arviz/tree/main/arviz/static) | ||
folder is only used to store style and CSS files to get HTML output for `InferenceData`. | ||
Finally we have the [wrappers](https://github.com/arviz-devs/arviz/tree/main/arviz/wrappers) | ||
folder that contains experimental (not tested yet either) features | ||
and interacts closely with both [data](https://github.com/arviz-devs/arviz/tree/main/arviz/data) | ||
and [stats](https://github.com/arviz-devs/arviz/tree/main/arviz/stats) modules. | ||
|
||
In addition, there are some files on the higher level directory: `utils.py`, `sel_utils.py`, | ||
`rcparams.py` and `labels.py`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
(content_structure)= | ||
# Documentation content structure | ||
|
||
ArviZ documentation has the {doc}`diataxis:index` as a North Star. | ||
This page assumes basic familiarity with Diátaxis. | ||
|
||
The ArviZ website is divided into three content blocks: | ||
|
||
* ArviZ user documentation | ||
* ArviZ contributor documentation | ||
* ArviZ Project website | ||
|
||
## ArviZ user documentation | ||
It is the block formed by the navbar sections | ||
`Getting Started`, `Example Gallery`, `User Guide` and `API Reference`. | ||
|
||
It's audience are ArviZ users and it uses Diátaxis to achieve its goal of | ||
teaching how to use ArviZ. | ||
|
||
Getting Started | ||
: The Getting Started section should contain mostly tutorials, however, some | ||
how-to content or overview explanations are also allowed and even encouraged | ||
|
||
Example Gallery | ||
: The Example Gallery is a visual reference section that should contain | ||
**no description** of the functions used. It should instead link to the | ||
API Reference section. | ||
|
||
Its goal is to serve as visual index for users who know how their desired plot | ||
looks like but not the name of the ArviZ function that generates it | ||
|
||
User Guide | ||
: The User Guide is targeted to people who already have basic ArviZ knowledge | ||
and should mostly contain how-to guides. | ||
It can also contain in-depth explanations and some non-python objects reference | ||
content. | ||
|
||
API Reference | ||
: It should index and describe all ArviZ objects that are part of the public API, | ||
that is, are exposed to ArviZ users. It should be generated from a list of | ||
public objects only via sphinx extensions, taking the actual content from | ||
the docstrings in each ArviZ object. | ||
|
||
## ArviZ contributor documentation | ||
It is all inside the `Contributing` navbar section. | ||
|
||
It's audience are any and all ArviZ contributors, from new contributors to members | ||
of the core team. | ||
It follows Diátaxis quite closely by using multiple captioned toctrees. | ||
|
||
Contribution types overview | ||
: Diátaxis explanation content. Contributing to ArviZ can be loosely undestood | ||
as a single practical craft, but it is more of multiple practical crafts | ||
coming together. | ||
|
||
This section aims to provide high level overviews explaining different | ||
contribution types, what skills are needed for them, why are they important | ||
and guide the reader to their next steps in one of the following sections. | ||
|
||
Tutorials | ||
: Diátaxis tutorial content. Tutorials with clearly defined and small scope, | ||
guiding new contributors in a single "atomic" contribution or even step | ||
in the contribution process. | ||
|
||
How-to guides | ||
: Diátaxis how-to content. Guides that outline the steps for common processes | ||
in the contributing workflow. Documenting this ensures it is available | ||
for newcomers but also that all contributors use the same processes | ||
which can reduce misunderstanding and frictions. | ||
|
||
Reference | ||
: Diátaxis reference content. | ||
|
||
In depth explanations | ||
: Diátaxis explanation content. | ||
|
||
## ArviZ Project website | ||
It is the block formed by the navbar sections | ||
`Community`, `About Us` and by the homepage. | ||
|
||
It's audience is anyone interested in the ArviZ project. | ||
This can well be users or contributors but it could also be someone | ||
who is neither. It has also no relation to any practical craft | ||
and does not follow Diátaxis at all. | ||
|
||
It should contain all the information related to the ArviZ community, | ||
meeting places (online of physical), shared resources, related | ||
projects and communities; and to the project itself, its members, | ||
its roadmap, its procedures... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.