Go to file
Daniel Seifert 4686d48902
Merge remote-tracking branch 'remotes/upstream/master'
2020-05-28 09:10:07 +02:00
.github Support Plausible.io Analytics 2020-04-24 22:22:57 +02:00
bin Remove daux.phar 2017-10-18 21:15:35 +02:00
daux don't forget configuration in case of deeper source directory 2018-07-19 22:04:24 +02:00
daux_libraries Update dependencies 2020-05-25 22:19:08 +02:00
docker Update all non-major dependencies Docker tags 2019-11-30 14:07:20 +01:00
docs Allow to create a `style.css` file in the documentation to override some styles. #180 2020-04-25 22:32:43 +02:00
examples/multilanguage Fix multilanguage, make an example, fixes #416 2017-01-10 10:28:58 +01:00
libs Merge remote-tracking branch 'remotes/upstream/master' 2020-05-28 09:10:07 +02:00
scripts Restore report change 2020-04-23 22:50:02 +02:00
src Allow images to be displayed inline #204 2020-05-25 22:18:53 +02:00
templates Allow to create a `style.css` file in the documentation to override some styles. #180 2020-04-25 22:32:43 +02:00
tests More reformatting 2020-04-22 22:24:52 +02:00
themes Merge remote-tracking branch 'remotes/upstream/master' 2020-05-28 09:10:07 +02:00
.dockerignore Add translation of modified_at time, using php-intl 2018-09-21 22:12:07 +02:00
.editorconfig Add an .editorconfig file 2014-08-23 10:26:01 +02:00
.gitattributes Add a .gitattributes file 2014-08-23 11:18:10 +02:00
.gitignore Restore report change 2020-04-23 22:50:02 +02:00
.htaccess Update htaccess 2015-07-20 20:51:48 +02:00
.php_cs More reformatting 2020-04-22 22:24:52 +02:00
CODE_OF_CONDUCT.md Reformat documentation 2020-04-25 14:44:43 +02:00
Dockerfile Update composer Docker tag to v1.10.5 2020-04-18 15:09:54 +02:00
LICENSE Adding the MIT License 2013-07-19 07:41:06 -05:00
README.md Update README.md 2020-05-01 22:09:02 +02:00
composer.json Merge remote-tracking branch 'remotes/upstream/master' 2020-05-28 09:10:07 +02:00
composer.lock Update dependencies 2020-05-25 21:35:06 +02:00
crafty.config.js Use iife, fix CSS linting warnings 2020-02-08 15:49:07 +01:00
global.json Remove unused translations 2020-02-11 19:45:51 +01:00
index.php Change Daux website 2017-09-13 23:34:48 +02:00
package.json Switch search to use jsonp to load the index, fully works offline. #198 2020-04-24 22:58:52 +02:00
phpunit.xml Update dependencies 2018-09-26 21:38:07 +02:00
renovate.json Change renovate schedule 2020-02-07 21:40:39 +01:00
sonar-project.properties Fix Actions workflow, add SonarCloud 2020-04-22 23:17:36 +02:00
yarn.lock Update dependencies 2020-05-25 22:19:08 +02:00

README.md

Daux.io

Latest Version Software License GitHub Workflow Status Coverage Status Quality Score Total Downloads

Daux.io is a 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

  • 100% Mobile Responsive
  • CommonMark compliant (a Markdown specification)
  • Supports Markdown tables
  • Auto created homepage/landing page
  • Auto Syntax Highlighting
  • Auto Generated Navigation
  • 4 Built-In Themes or roll your own
  • Functional, Flat Design Style
  • Shareable/Linkable SEO Friendly URLs
  • Built On Bootstrap
  • No Build Step
  • Git/SVN Friendly
  • Supports Google Analytics and Piwik Analytics
  • Optional code float layout
  • Static Output Generation

Demos

This is a list of sites using Daux.io:

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

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

Docker

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

docker run --rm -it -w /build -v "$PWD":/build -u "$(id -u):$(id -g)" daux/daux.io daux

Run on a server

Download this repository as a zip, unpack, and put your documentation in the docs folder, you can then serve it with Apache or Nginx.

daux

The command line tool has two commands: generate and serve, running Daux.io without an argument will automatically run the generate command.

You can run daux --help to get more details about each command.

Folders

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.

If you'd prefer to keep your docs somewhere else (like outside of the daux.io root directory) you can specify your docs path in the global.json file.

Files

The generator will look for Markdown files (*.md and *.markdown) inside the docs folder and any of the subfolders within docs.

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

Sorting

To sort your files and folders in a specific way, you can prefix them with a number and underscore, e.g. /docs/01_Hello_World.md and /docs/05_Features.md This will list Hello World before Features, overriding the default alpha-numeric sorting. The numbers will be stripped out of the navigation and urls. For the file 6 Ways to Get Rich, you can use /docs/_6_Ways_to_Get_Rich.md

Landing page

If you want to create a beautiful landing page for your project, simply create a index.md file in the root of the /docs folder. This file will then be used to create a landing page. You can also add a tagline and image to this page using the config file like this:

{
    "title": "Daux.io",
    "tagline": "The Easiest Way To Document Your Project",
    "image": "app.png"
}

Note: The image can be a local or remote image. Use the convention <base_url> to refer to the root directory of the Daux instance.

Section landing page

If you are interested in having a landing page for a subsection of your docs, all you need to do is add an index.md file to the folder. For example, /docs/01_Examples has a landing page for that section since there exists a /docs/01_Examples/index.md file. If you wish to have an index page for a section without a landing page format, use the name _index.md

Configuration

To customize the look and feel of your documentation, you can create a config.json file in the of the /docs folder. The config.json file is a simple JSON object that you can use to change some of the basic settings of the documentation.

Title

Change the title bar in the docs

{
    "title": "Daux.io"
}

Themes

We have 4 built-in Bootstrap themes. To use one of the themes, just set the theme option to one of the following:

  • daux-blue
  • daux-green
  • daux-navy
  • daux-red
{
    "html": { "theme": "daux-green" }
}

More options

Many other options are available:

Running Remotely

Copy the files from the repo to a web server that can run PHP 7.2.0 or newer.

Running Locally

There are several ways to run the docs locally. The recommended way is to run daux serve which will execute PHP's embedded server.

By default the server will run at: http://localhost:8085

This is really only intended be used when you are writing/updating a ton of docs and want to preview the changes locally.

Generating a set of static files

These can be uploaded to a static site hosting service such as pages.github.com

Generating a complete set of pages, with navigation

daux --source=docs --destination=static

Running on IIS

If you have set up a local or remote IIS web site, you may need a web.config with:

  • A rewrite configuration, for handling clean urls.
  • A mime type handler for less files, if using a custom theme.

Clean URLs

The web.config needs an entry for <rewrite> under <system.webServer>:

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Main Rule" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll">
                        <add
                            input="{REQUEST_FILENAME}"
                            matchType="IsFile"
                            negate="true"
                        />
                        <add
                            input="{REQUEST_FILENAME}"
                            matchType="IsDirectory"
                            negate="true"
                        />
                    </conditions>
                    <action
                        type="Rewrite"
                        url="index.php"
                        appendQueryString="false"
                    />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

To use clean URLs on IIS 6, you will need to use a custom URL rewrite module, such as URL Rewriter.

PHP Requirements

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

Extensions

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

If you encounter an error similar to utf8_decode() not found this means that you're missing the php-xml package.

Support

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