Documentation is an important aspect of development. Almost every codebase, regardless of how big/small requires some form of documentation. From a few simple READMEs and contribution guidelines to full-fledged ones. In most projects, however, it becomes necessary to use a nice & robust system for generating, maintaining and deploying the documentations. That's where "Static Documentation Generators" come handy. They are easy to use, versatile and extremely user-friendly. They are mostly used to document APIs, database schemas, and other information by organizations.
So, here's a list of 5 static site generators that you can use in your projects.
1. Docsify
Website: https://docsify.js.org
Github Repo: https://github.com/docsifyjs/docsify
Features
- No statically built html files
- Simple and lightweight (~21kB gzipped)
- Smart full-text search plugin
- Multiple themes
- Useful plugin API
- Compatible with IE11
- Support SSR
- Support embedded files
2. Docusaurus
Website: https://docusaurus.io/
Github: https://github.com/facebook/docusaurus/
Features
- Powered by Markdown
- Built Using React
- Ready for Translations
- Document Versioning
- Document Search
- Quick Setup
3. VuePress
Website: https://vuepress.vuejs.org/
Github Repo: https://github.com/vuejs/vuepress
Features
- Minimal setup
- Markdown-centered project structure
- Custom themes with Vue
- Pre-rendered static HTML
- Runs as a SPA
- Developed and maintained by the Vue community
4. Slate
Website: https://slatedocs.github.io/slate
Github: https://github.com/slatedocs/slate
Features
- Clean, intuitive design
- Single page documentation
- Markdown support
- Out-of-the-box syntax highlighting
- Write code samples in multiple languages
- Automatic, smoothly scrolling table of contents
- Documentation is editable by users via Github
- RTL Support
5. Docute
Website: https://docute.org/
Github Repo: https://github.com/egoist/docute
Features
- Site generated on the fly.
- Simple, elegant UI
- Leveraging the power of Markdown and Vue.
- Extensible plugin system
- Good community support
What do you use for documentation? I know that I am definitely missing out on some great ones, so feel free to comment below.
** Please Note: The order is simply arbitrary and doesn't represent a ranking. Do your own research before choosing the best one for your project. **
Discussion (9)
I maintain Orchid and also use it for all my projects. It's a bit different than these documentation generators, in that it focuses on the entire documentation system rather than just Markdown content.
Orchid does all the normal stuff like Markdown wikis, blogs, changelogs, etc., but then brings in code documentation like Javadoc (currently supporting docs for 4 different languages), syntax highlighting, embeddable code playgrounds, and diagrams, all in the same site. And then it publishes the site to Github Pages too, to really make it encapsulate the entire process of maintaining a documentation website!
Build and deploy beautiful documentation sites that grow with you
Orchid
Orchid is a brand-new, general-purpose static site generator for Java and Kotlin, with a focus on extensibility and aimed at developers looking to improve their technical documentation. Orchid was born out of a desire for better-looking Javadocs and frustration with how difficult is it to manage large Jekyll sites and keep it up-to-date with your code.
Orchid supports a variety of plugins, including a wiki, static pages, blogs, and much more. It aims to have high compatibility with many of the existing static site generators, such as Jekyll, Gitbook, and Hugo, so that migration to Orchid is painless. And if you can't find a plugin to do what you need, Orchid provides an intuitive way to add your own private plugins and a rich API so you can make your site as beautiful and unique as an Orchid.
…I'm a newbie when it comes to documentation. I didn't have to take care of it until recently. I'm currently maintaining a website that's composed from 3 projects : API, front end and an admin panel. Each with its own technologies and so on.
I'd like to build a documentation project for the entire application and publish it on my internal, private website (I'm using GitLab). Auto deploy is a bonus.
My question is: can I use Orchid for my needs and can I find a a guide that can help even a beginner like me set up and deploy the project on my private server?
The languages it currently supports are Java, Kotlin, Groovy, and Swift, but you can absolutely use Orchid without any of those and just use Orchid for your Markdown content and its other features. And it does support auto-deploy to GitLab!
The tutorials on orchid.run/ are the best place to start. The "Basic Usage Tutorials" are a good intro to the main concepts, and the "Advanced" ones are more condensed overviews of using Orchid for a specific purpose, and they all have sample projects to follow along with. I'd recommend starting with the Kotlin documentation tutorial, as it should give you a good idea of what you could do with Orchid.
And feel free to reach out on our Gitter Chat, I'd be more than happy to discuss further to see if Orchid meets your needs and to help you get started!
Thanks a lot!
The asciidoctor ecosystem is the best
Asciidoc is a semantic language for documentation meanwhile asciidoctor is one of the implementation
Also you can miss Antora a multisite multirepo documentation generator
Retype is another static website and documentation generator to add to your list.
github.com/retypeapp/retype/
I like Docusaurus interface but using it is painful .specially v2 version
can we document php files with it