documentation-framework
mkdocs-material
documentation-framework | mkdocs-material | |
---|---|---|
54 | 94 | |
89 | 18,424 | |
- | - | |
5.2 | 9.8 | |
14 days ago | 5 days ago | |
Python | HTML | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
documentation-framework
- How-To Document: The Documentation System
-
Ask HN: How do you organize software documentation at work?
I forget the terminology, but there's a good "grid" breakdown of documentation types (I think this one: https://documentation.divio.com ) that I've simplified a bit for the internal documentation I'm involved with.
* README, HOWTO, INFO, PROJECT, DESIGN, NOTES, FAQ
When I pull down a `git` repo, I read the `README.md` (of course). I make my own `NOTES.md` (eg: `.gitignore`'d) of what commands, environment variables, useful blog posts, search results, whatever. Rarely do I share or encourage sharing of `NOTES.md` wholesale, but it's helpful to be able to pull out a few snippets or re-orient myself when coming back to that software/project.
Then, other documents get prefixed with "HOWTO-Do-Some-Specific-Thing.md", or "INFO-Some-Particular-Component.md".
"PROJECT-...", and "DESIGN-..." are "dangerous" ones in that they can quickly fall out of date, but they can be very useful while they're being actively managed. I guess personally I've started making sure to include dates or "eras" in the title, eg: "PROJECT-[2024-Feb]-Add-Foo-Support.md" or "DESIGN-[2024-02-14]-...". Stuff that's outlived its usefulness can probably be moved to an `ARCHIVE/...` in case you need it later, but keep it out of the way from confusing newcomers 1-3 years from now.
"FAQ-..." almost never comes into play (hopefully) b/c it should mostly get absorbed into "HOWTO-..." or product improvements, and few products seem to rise to the level of needing FREQUENTLY asked questions. Ideally FAQ's would "go away" with work on the product or other documentation, but I've had some success with it as like sales-oriented (and ideally: sales-managed) FAQ / Canned Customer Response learnings.
Putting it all together you get something like:
* README.md
-
Mastering JavaScript: Essential Topics to Crack Your Frontend Interview
Resource: Documentation Best Practices - GitBook
-
Duty to Document
I would not suggest people to follow this in 2024 if they are building any system of non-trivial scope and expect it to be adopted by others who are not required to adopt it.
Back in 2017, I compared "code as documentation" to being dropped into on the street of an unfamiliar city, while a good documentation can serve as a map of the city. [1]
Nearly all recent successful efforts for large new systems understand the value of both high-level overviews and detailed examples / onboarding materials to make adoption easier. When solutions to a certain problem are abundant, people do not need to settle for options that do not have great supporting documentation of the four primary kinds. [2]
[1] https://speakerdeck.com/maxvt/i-got-a-lot-of-problems-with-i...
[2] https://documentation.divio.com/
-
Guidance on man pages for the GNU project is wild
In the whole spectrum of documentation, man pages were designed to cater for a very specific need: information-oriented reference data. Check https://documentation.divio.com/ for a wonderful classification of documentation into four quadrants: reference, explanations, tutorials, and how-to guides. On the other hand, one can write info files for any of the use cases. That does not make info format inherently better or worse than man pages.
During the years, there have been many attempts to bridge the format gap, and convert texts from one representation to another. One of the most ambitious ones was in Tkman, a man viewer built on then Tcl/Tk system. Its really interesting part was the inclusion of rman, or RosettaMan, a converter of text to a somewhat abstract representation that could then be viewed via a GUI.
I personally look for well-crafted man pages as a sign of quality in software and try to provide them in everything I develop. I admit that I don't often find the time or motivation to write non-reference documentation (like tutorials).
-
Who has the best documentation you’ve seen or like in 2023
I ran into the divio documentation guide recently that seems to have some awesome "how to write docs" docs
-
Finally, a guide for Node.js and TypeScript and ESM that works
https://documentation.divio.com/ is a good overview of the "four types of documentation" paradigm: tutorials, how-to guides, explanations, and reference have to all exist.
One of my major gripes with the JS/TS ecosystem is that "explanations" are sorely lacking. See https://www.typescriptlang.org/tsconfig for the relevant documentation for tsconfig files. Tutorials are on the page, how-to guides abound on the wider internet (like the OP), and the linked TSConfig Reference and JSON Schema (used in code completion in IDEs) are together absolutely massive.
But an explanation is missing! There is no official documentation about how different options interact to say: as I'm walking a file tree as the Typescript compiler, this is how I will interpret a certain file I encounter, what will be outputted, and how that will be interpreted by bundlers and browsers, especially in an ESM world.
https://medium.com/extra-credit-by-guild/tsconfig-json-demys... is in the right direction, but outdated as ESM has become much more popular in the past 3 years, and still organized by option (so it's already somewhat in the "reference" world).
IMO even independent of documentation, the industry's move to ESM is problematic: https://gist.github.com/joepie91/bca2fda868c1e8b2c2caf76af7d... describes many of the issues. But they're certainly exacerbated by good explanation-style documentation that helps people understand how ESM works under the hood!
-
Ask HN: How do you document engineering efforts?
I really like the system detailed here: https://documentation.divio.com/. That's targeted more towards externally visible docs, but IMO adapts pretty well as for internal resources too.
- YOLO-Driven Development Manifesto
- Documentation
mkdocs-material
-
cert-manager: All-in-One Kubernetes TLS Certificate Manager
8
-
🚚 Building MVPs You Won’t Hate
Material Mk-Docs by Martin Donath works well if you prefer python.
-
The Open Source Sustainability Crisis
https://squidfunk.github.io/mkdocs-material/
I'm an 'outsider', but from from the outside the Material For MkDocs Project looks like a very well managed open source project.
Martin Donath's project uses a 'sponsorware' release strategy to generate donations.
From my vantage point it seems to be working pretty well.
- Release Mkdocs-Material-9.5.0
- Agora a nossa Megathread possui um novo visual!
-
Ask HN: What's the best place to start a newsletter?
I just recently went through this decision process. My aim is to write code and math oriented posts so I need good support for nice syntax highlighting (at least colored) and mathjax (preferable) or katex. Substack is the most popular newsletter platform but fails at these two criteria. I love how math and syntax highlighting (plus numerous other features) work in MkDocs Material, which recently added a Blog plugin.
I wanted to combine the best of both: Substack as an amazing email social network, and MkDocs Material’s awesome look. So I’ve gone with using Substack as the core platform which I use to manage subscribers, and use it to post either math/code-free posts or a short teasers pointing to my main blog site on MkDocs Material when I need to show math/code
https://squidfunk.github.io/mkdocs-material/
- Material for MkDocs – Documentation that simply works
- Features tied to 'Piri Piri' funding goal
- MdBook – Create book from Markdown files. Like Gitbook but implemented in Rust
-
Changing CMS from Wordpress to ?
I've been migrating content to MKDocs (Material) over the last few months, so feel fairly qualified on this subject. It's somewhat limited in terms of navigation, but can probably handle 400-500 pages; you can see how navigation works in the link. Otherwise, it can handle most, if not all, the tasks you've listed.
What are some alternatives?
diataxis-documentation-framework - A systematic approach to creating better documentation.
Docusaurus - Easy to maintain open source documentation websites.
pgf - A Portable Graphic Format for TeX
sphinx - The Sphinx documentation generator
diagrams - :art: Diagram as Code for prototyping cloud system architectures
MkDocs - Project documentation with Markdown.
awesome-writing - An awesome list of information to help developers write better, kinder, more helpful documentation and learning materials
mkdocstrings - :blue_book: Automatic documentation from sources, for MkDocs.
boost - cmake based plugable static compiled boost library
Read the Docs - The source code that powers readthedocs.org
verifica - Verifica is Ruby's most scalable authorization solution
mike - Manage multiple versions of your MkDocs-powered documentation via Git