anklang icon indicating copy to clipboard operation
anklang copied to clipboard

Revamp Documentation

Open tim-janik opened this issue 1 year ago • 0 comments

Our documentation needs to be modernize and reorganized in several places. Here is how to keep track of the tasks involved, feedback welcome:

  • [x] Host docs under https://tim-janik.github.io/anklang/
  • [x] Use mkdocs-material for documentation builds.
  • [x] Add proper front-page (index.html)
  • [x] Integrate C++ API documentation, this needs C++ docs in markdown, possibilities: mkdoxy, moxygen
  • [x] Integrate JsDoc documentation about web components and JavaScript utilities
  • [ ] Rewrite JsDoc Generator + JsDoc pges to work properly with mkdocs-material
  • [ ] Display runtime help (via F1 key) at the UI, use the markdown-it renderer our UI supports already.
  • [ ] Add PDF renderings (needs xelatex) to the online docs (TeX doesn't need to be a dep for all builds).
  • [ ] Add design docs from the Wiki to the docs, like Architecture e.g. via a wiki submodule
  • [ ] Restructure the documentation to start simple and provide progressively more details, e.g.:
    1. Tutorials Lessons/exercise to learn from for beginners that cannot yet ask technical questions. Writer decides actions & outcome, exercise turns learners into users. Must be bulletproof, 100% repeatable. Does not explain, instead focuses on doing things without options/alternatives. Basic concepts.
    2. Guides / How-Tos Problem oriented, takes through a series of steps. Provides answer to a meaningful technical question. Some flexibility, covers alternatives/variations for slightly different problems users might have. Must be reliable. Practical usability over completeness. Needs good sentence title: "Howto create a class-based view"
    3. Reference Technical description of the machinery. Code determines structure. Covers lifetimes, fields, interactions. Provides information like an encyclopedia. Must be kept in sync with code.
    4. Explanation / Discussion Background explanations, historical contexts. Rationales for design decisions. Touches on approach alternatives.

Related: What nobody tells you about documentation A Framework for Better Documentation TutorialHowtoReferenceDiscussion

tim-janik avatar Jul 16 '24 16:07 tim-janik