by bep

bep / docuapi

Beautiful multilingual API documentation theme for Hugo

438 Stars 149 Forks Last release: 10 months ago (v1.4.1) Other 122 Commits 9 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Netlify Status

DocuAPI is a beautiful multilingual API documentation theme for Hugo. This theme is built on top of the beautiful work of Robert Lord and others on the Slate project (Apache 2 License).

Visit the demo site.

Screenshot DocuAPI Example site


The client library used to build the ToC does not handle Unicode very well. To get around this in Hugo >= 0.62.2, put this in your site config:

      autoHeadingIDType = "github-ascii"

Note: this theme requires Hugo >= 0.56.0 to run. If you want to edit the SCSS styles, you need:

  • The extended Hugo version.
  • PostCSS CLI (run
    npm install
    to install requirements)

See the exampleSite and more specific its site configuration for the available options.

Most notable: This theme will use all the (non drafts) pages in the site and build a single-page API documentation. Using

in the page front matter is the easiest way to control page order.

If you want a different page selection, please provide your own


You can customize the look-and-feel by adding your own CSS variables in

. See the exampleSite folder for an example.


You can override the layouts by providing some custom partials:

  • partials/hook_head_end.html
    is inserted right before the
    end tag. Useful for additional styles etc.
  • partials/hook_body_end.html
    which should be clear by its name.
  • partials/hook_left_sidebar_start.html
    the start of the left sidebar
  • partials/hook_left_sidebar_end.html
    the end of the left sidebar
  • partials/hook_left_sidebar_logo.html
    the log

The styles and Javascript import are also put in each partial and as such can be overridden if really needed:

  • partials/styles.html
  • partials/js.html

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.