Skip to content


Repository files navigation


The project is not maintained anymore. Thanks everyone for helping me on building this theme at the time where there were no good Hugo theme for documentation.

Consider migrating to another theme such as Relearn which seems to be a good maintained alternative.

Hugo Learn Theme

This repository contains a theme for Hugo, based on great Grav Learn Theme.

Visit the theme documentation to see what is going on. It is actually built with this theme.

wercker status FOSSA Status

Main features

  • Automatic Search
  • Multilingual mode
  • Unlimited menu levels
  • Automatic next/prev buttons to navigate through menu entries
  • Image resizing, shadow…
  • Attachments files
  • List child pages
  • Mermaid diagram (flowchart, sequence, gantt)
  • Customizable look and feel and themes variants
  • Buttons, Tip/Note/Info/Warning boxes, Expand


Navigate to your themes folder in your Hugo site and use the following commands:

cd themes/
git clone

Check that your Hugo version is minimum 0.25 with hugo version.



Download old versions (prior to 2.0.0)

If you need old version for compatibility purpose, either download theme source code from releases or use the right git tag. For example, with 1.1.0

cd themes/hugo-theme-learn
git checkout tags/1.1.0

For both solutions, the documentation is available at


Many thanks to @vjeantet for the fork docdock. The v2 of this theme is mainly based on his work !


FOSSA Status


Somewhat work-in-progress steps to release with gren

  • Check all MRs assigned to the milestone are closed or pushed back to another release

  • Close the milestone

  • Check merged MRs on the milestone have a tag (Bug, Enhancement, etc.)

  • Tag and push the repo

    git tag <tag>
    git push origin <tag>
  • Generate with gren

    gren changelog  --override --generate --tags=all
  • Fix the date for the current release in

  • Add the changelog to git and update the tag

    git add
    git commit -m "Ship tag <tag>"
    git push origin master
    git tag -f <tag>
    git push --force origin <tag>
  • Generate release with gren

    gren release -t <tag>