A blazing-fast, mobile-friendly documentation generator.

How to use

The first step is to simply clone the Herodotus repo:

git clone --depth=1 https://github.com/kazzkiq/herodotus.git

Then, inside your cloned repository, install Brunch and Herodotus dependencies:
Brunch is a tiny powerful build tool needed to run Herodotus.

npm i -g brunch && npm i

Now, in order to start the documentation, you can simply run this command, and access localhost:3333 in your browser:

npm start

And that’s it.

Now that you have your documentation up and running you can start writing into markdown files to see changes in realtime!

To generate production files, run: npm run build. Your production code can be found in /public folder.



Herodotus is written in Svelte which is a reactive component framework that compiles to vanilla JavaScript. This is one of the secrets behind the insane speed behind the documentation parsing and page loading. It also means that Herodotus is library/framework agnostic. You’re free to inject any other frameworks (like React, Angular, etc) into it as you please, as it will not affect Herodotus components (which are compiled to vanilla JavaScript at compile time).

Babel is used as transpiler, so you’re free to write ES6 code and your application should still run on ES5 browsers.

The CSS is written using Sass.

When you generate production files (npm run build) Herodotus uses Brunch to optimize CSS and JavaScript files in order to deliver the smaller possible sizes to your client’s browsers. But along with this, its important to enable server-side caching and compression such as gzip. This will make your documentation load even faster.

By making use only of static files, Herodotus works in basically any environment, as long as it supports AJAX requests (Herodotus do only one AJAX request at the application startup in order to load the documentation markdown file).

For further details, please check the documentation.