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

Revamp Documentation #71

Open
5 of 10 tasks
tim-janik opened this issue Jul 16, 2024 · 0 comments
Open
5 of 10 tasks

Revamp Documentation #71

tim-janik opened this issue Jul 16, 2024 · 0 comments
Assignees
Labels
documentation Improvements or additions to documentation
Milestone

Comments

@tim-janik
Copy link
Owner

tim-janik commented Jul 16, 2024

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

  • Host docs under https://tim-janik.github.io/anklang/
  • Use mkdocs-material for documentation builds.
  • Add proper front-page (index.html)
  • Integrate C++ API documentation, this needs C++ docs in markdown, possibilities: mkdoxy, moxygen
  • 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 tim-janik added the documentation Improvements or additions to documentation label Jul 16, 2024
@tim-janik tim-janik added this to the v0.4.0 milestone Jul 16, 2024
@tim-janik tim-janik self-assigned this Jul 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant