Live data from Hacker News

Ask HN: What platform/tool do you use for software documentation?

news.ycombinator.com

1–10 of 18 posts

Ask HN: What platform/tool do you use for software documentation?

#1
I don't have many years of experience and in a professional context, I always found documentation to be hard to use, hard to navigate, near only usable if you use the search bar and know what keywords to type.

I'm going to inherit the responsibility of a medium-sized legacy system with close to 10 years of undocumented code so I would like to do something about it.

There is a small Confluence but Jira-related stuff is a no-go for me.

I sometimes use Notion, but I find the possibilities are so broad it requires work to make things not messy. But Notion is an option, maybe you know some pre-made templates or good examples I could use?

Further than that, I don't have any other platform in mind. Self-hosted is not what I'm looking for, and neither are tools to build docs. That may look neat but I'm searching for a platform to quickly iterate, where other devs could participate without downloading anything or going through a pipeline.

EDIT: Other than my specific need, I'm curious to know what you use to write docs.

Re: Ask HN: What platform/tool do you use for software documentation?

#3
If this is for software developers, Notion also belongs to trash. It is slow to use, you need to click for everything etc.

The best documentation is straight in the code file: module documentation at top, then method documentation for each method with a simple example / doc test showing what is the input-output relationship, the second best is an .md file in same repo etc. the more friction you add the worse you make this process for software developers (Jira / Confluence as the king dog shit of documentation process - these are not for developers these are for people who need job security).

Re: Ask HN: What platform/tool do you use for software documentation?

#9
post #3

If this is for software developers, Notion also belongs to trash. It is slow to use, you need to click for everything etc. The best documentation is straight in the code file: module documentation at top, then method documentation for each method with a simple example / doc test showing what is the input-output relationship, the second best is an .md file in same repo etc. the more friction you add the worse you make…

I use Notion for general docs and it's... fine. It has basically everything I want from a general document manager without getting in the way.

Agreed though, code docs should be in the code. With the code or in well placed READMEs.

Re: Ask HN: What platform/tool do you use for software documentation?

#10
Other people mentioned code comments and Markdown files, I'm inclined to agree.

I've used code comments pretty well to explain both non-trivial technical details, as give a quick rundown of business requirements that are the basis for some code existing, maybe with links back to an issue tracking system where more context is needed. Markdown files are better if you want to include images/videos/animations/diagrams and provide more context, or step by step instructions on how to do something, which is great because you can easily search through them, as they're just text. Code can typically explain what it does itself but not necessarily why, so it's great to have either of the tools at your disposal.

Of course, there's nothing wrong with external Wikis either, though some are implemented better than others IMHO.

Confluence is sometimes the only choice you get, so having it is better than having nothing.

GitLab and GitHub also have integrated Wikis, as do other solutions: https://docs.gitlab.com/ee/user/project/wiki and https://docs.github.com/en/communities/documenting-your-proj...

For ones to host separately, I've found BookStack to be pretty good in its simplicity/usability/performance: https://www.bookstackapp.com/

As for things that are meant specifically for documentation, Read the Docs might be of appeal to some: https://readthedocs.org/

You can probably also use Sphinx (used by Flask): https://www.sphinx-doc.org/en/master/ or MkDocs: https://www.mkdocs.org/ or something else entirely.

Post reply on HN