Daux.io is an documentation generator that uses a simple folder structure and Markdown files to create custom documentation on the fly. It helps you create great looking documentation in a developer friendly way.

Features

For Authors

For Developers

For Marketing

  • 100% Mobile Responsive
  • 4 Built-In Themes or roll your own
  • Functional, Flat Design Style
  • Shareable/Linkable SEO Friendly URLs
  • Supports Google Analytics and Piwik Analytics

Demos

This is a list of sites using Daux.io:

Do you use Daux.io? Send us a pull request or open an issue and I will add you to the list.

Getting Started

Install

PHP and Composer

If you have PHP and Composer installed, you can install the dependency

composer global require daux/daux.io

# Next to your `docs` folder, run
daux generate

You can then use the daux command line to generate your documentation.

If the command isn’t found, ensure your $PATH contains ~/.composer/vendor/bin or ~/.config/composer/vendor/bin.

Docker

Or if you wish to use Docker, the start of the command will be :

docker run --rm -it -p 8085:8085 -w /build -v "$PWD":/build daux/daux.io daux

Any parameter valid in the PHP version is valid in the Docker version

Writing pages

Creating new pages is very easy:

  1. Create a markdown file (*.md or *.markdown)
  2. Start writing

By default, the generator will look for folders in the docs folder. Add your folders inside the docs folder. This project contains some example folders and files to get you started.

You can nest folders any number of levels to get the exact structure you want. The folder structure will be converted to the nested navigation.

You must use underscores instead of spaces. Here are some example file names and what they will be converted to:

Good:

  • 01_Getting_Started.md = Getting Started
  • API_Calls.md = API Calls
  • 200_Something_Else-Cool.md = Something Else-Cool
  • _5_Ways_to_Be_Happy.md = 5 Ways To Be Happy

Bad:

  • File Name With Space.md = FAIL

See your pages

Now you can see your pages. you have two options for that : serve them directly, or generate to various formats.

We recommend the first one while you write your documentation, you get a much quicker feedback while writing.

Serving files

You can use PHP’s embedded web server by running the following command in the root of your documentation

./serve

Upload your files to an apache / nginx server and see your documentation

More informations here

Export to other formats

Daux.io is extendable and comes by default with three export formats:

  • Export to HTML, same as the website, but can be hosted without PHP.
  • Export all documentation in a single HTML page
  • Upload to your Atlassian Confluence server.

See a detailed feature comparison matrix

To export, run the daux command and your documentation will be generated in static (you can change the destination with the --destination option)

See here for all options

Configuration

Now that you got the basics, you can also see what you can configure

Server Configuration

We are using .mjs file types. Which not every web server properly understands and serves.

You might see an error like Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec.

Apache

If you are using a version under 2.5.1 of Apache HTTPd.

Add the following line within .htaccess, vhost or server configuration.

AddType application/javascript .mjs

nginx

  include mime.types;
  types {
      application/javascript js mjs;
  }

PHP Requirements

Daux.io is compatible with the officially supported PHP versions; 8.1.0 and up.

Extensions

Daux.io needs the following PHP extensions to work : php-mbstring and php-xml.

If you use non-english characters in your page names, it is recommended to install the php-intl extension as well.

Support

If you need help using Daux.io, or have found a bug, please create an issue on the GitHub repo.