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. **
Top comments (8)
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!
orchidhq / Orchid
Build and deploy beautiful documentation sites that grow with you
Build and deploy beautiful documentation sites that grow with you
Quick-Start • Documentation • Tutorials • Showcase • Support
Quick-Start
Orchid 0.X.X versions are published to JCenter at artifact coordinates like
io.github.javaeden.orchid:OrchidCore:0.21.1
orio.github.javaeden.orchid:OrchidWiki:0.21.1
. JCenter is deprecated, and once Orchid 1.0.0 is published, so will all 0.X.X versions.Starting with version 1.0.0, Orchid will be published to MavenCentral under new artifact coordinates, like
io.github.copper-leaf.orchid:orchid-core:1.0.0
orio.github.copper-leaf.orchid:orchid-wiki-feature:1.0.0
.In-development snapshot versions will be available in Sonatype's new (s01) snapshots repository. Snapshots are published after every successful build on the
dev
branch.Documentation
Orchid's User Manual will walk you through the main features of Orchid and give you a deeper understanding of each topic and feature.
Documentation
Tutorials
There are several tutorials designed to walk you through building an Orchid site from scratch. The source for all tutorials can also be found in the OrchidTutorials repository.
Tutorials
Showcase
View…
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