|In such common cases as|
- writing specifications for new software
- writing documentation for a client on how to use software and/or how it architechured internally
- writing an API reference with usage examples
I've seen most of times people use just a plain Google Documents/Word file and share it. Some write markdown files and convert to HTML/PDF. Nowadays many start to use Notion too.
But I feel like those tools are not featured enough. Like, what good technical docs can be without some squares and arrows?
I want to be able to:
- split my documentation into tree-like structure of sections/pages, add linking between them and even include blocks from one page to another
- add and edit right in-place: diagrams, mindmaps and other schemes (PlantUML is my loved choice, but drag-n-dropping mouse-clicking editor if fine too), tables and charts (with referencing external sources like CSV), math notation (LaTeX)
- connect it somehow to code repository, so I can reference classes, function names and signatures, code parts -- main reason here is when I refactor the code, documentation is updated on commit, and therefore always kept is sync.
- all done with WYSIWIG in web, so I can easily share work in progress with my (maybe less technical) coworkers, so they can edit too or leave comments.
For me, there is AsciiDoc, which is less-known alternative to markdown, having a lots of features out of the box (plantuml and other embedding, better tables, etc). But hard to collaborate - you can only preview it locally; syncing changes only via storing it in git; other writers should be familiar with syntax too.
And there is still Notion, which is very easy to collaborate on, but not extendable, so I need to copy-paste my diagrams as pictures from somewhere else.
I still struggle to find something like a mix of those two, and I wonder if I'm alone on this. Is this because my use-case is rare? Or do others too feel a lack of such tool?
What do you use?