Distribution Statement
Where to Put Documentation#
Flowchart#
Please use this flowchart to figure out where to put new documentation.
flowchart TD Start[Start] DocBuild{Are you modifying the homepage or how the documentation is built?} Templates[Modify files in <em>_templates</em> or <em>_static</em>] ReleaseNote[Do you need to add a release note, doing a release or something else?] LatestRelease[Add to <em>releases/latest</em>] MoveLatest[Move <em>latest</em> to versioned directory and create new empty <em>latest</em>] CodeDoc{"Are you documenting code (function, method, file) that doesn't have up-to-date docstrings?"} Docstrings[Add docstrings in the relevant code file] ContributeInfo{Is it about how to contribute to the project? Or the Scope of the project?} ContributeFolder[Add to <em>contribute</em> folder] TutorialCheck{Is it a step-by-step tutorial or have explicit steps for someone to complete?} TutorialsFolder[Add to <em>tutorials</em> folder] ConceptualInfo{Does it deal with how the code works, is laid out or how to use the code?} FunctionalityFolder[Add to relevant file in <em>functionality</em>] ArchSubfolders{Specific area?} ArchDocumentation[Add to <em>architecture/documentation</em>] ArchStructure[Add to <em>architecture/structure-of-geoips</em>] ArchTests[Add to <em>architecture/tests</em>] ArchOther[Look for relevant file in <em>architecture</em>] ScopeFolder[Add to <em>concepts/scope</em>] FutureCheck{Are you writing about something already implmented and working?} FutureFolder[Add to relevant file in <em>concepts/future</em>] Consult[Consult with team for appropriate location] Start --> DocBuild DocBuild -- Yes --> Templates Templates DocBuild -- No --> ReleaseNote ReleaseNote -- Adding Release Note --> LatestRelease ReleaseNote -- Release Process --> MoveLatest ReleaseNote -- Something else--> FutureCheck FutureCheck -- No --> FutureFolder FutureCheck -- Yes --> CodeDoc CodeDoc -- Yes --> Docstrings CodeDoc -- No --> ContributeInfo Docstrings -- Need to write more? --> Start ContributeInfo -- Contribute --> ContributeFolder ContributeInfo -- Scope --> ScopeFolder ContributeInfo -- Something else --> TutorialCheck TutorialCheck -- Yes --> TutorialsFolder TutorialCheck -- No --> ConceptualInfo ConceptualInfo -- No / Something else --> Consult ConceptualInfo -- How to use code, run tests, or build documentation. --> FunctionalityFolder ConceptualInfo -- How/why code works --> ArchSubfolders ConceptualInfo -- How code is laid out --> ArchSubfolders ArchSubfolders -- Documentation --> ArchDocumentation ArchSubfolders -- Tests --> ArchTests ArchSubfolders -- Structure of code --> ArchStructure ArchSubfolders -- Other --> ArchOther
Guidelines#
Modifying Documentation Build: If you’re changing how the documentation is built: - Modify files in the
_templates
directory. - For Sphinx configuration, editsphinx_conf.template.py
. - The homepage template is also located in_templates
.Modifying Static Files or Styling: If you’re changing render files or styles: - Modify files in the
_static
directory.Adding Release Notes: - Add new release notes to
releases/latest
. - During the release process, movelatest
to a versioned directory and create a new, emptylatest
directory.Documenting Code: - Document functions, methods, or files directly in the code using docstrings, which are integrated into the GeoIPS API. - If more detailed documentation is needed, also write an RST file in the appropriate section.
Contributing to the Project: - Information about contributing (but not using) goes into the
contribute
folder.Step-by-Step Tutorials: - Add tutorials or any step-by-step instructions to the
tutorials
folder.Conceptual Information: - How the Code Works or Is Organized: Place this information in the
concepts
directory. - Usage Information: Instructions on how to use or operate something go intoconcepts/functionality
. - Architecture Details: Information on how GeoIPS works internally or why it’s structured a certain way goes intoconcepts/architecture
. Use subfolders for specific topics like documentation or tests. - Scope and Future Plans:Scope: Information about the scope of GeoIPS goes into
concepts/scope
.Future Plans: Information about future plans goes into
concepts/future
.
Images/Supporting Files#
If documentation requires support files beyond a single .rst
file (eg. images),
please create a folder and place the support files and the documentation file in side of it.
The documentation file should be named index.rst
and the folder should be named
descriptively. This setup is for clean URLs in built documentation.
Note#
If none of the above paths fit your documentation, please consult with the team to find the appropriate location.