This page tells you how to get started with the Geekdoc theme, including installation and basic configuration.
You need a recent version of Hugo for local builds and previews of sites that use Geekdoc. As we are using gulp as pre-processor the normal version of Hugo is sufficient. If you prefer the extended version of Hugo anyway this will work as well. For comprehensive Hugo documentation, see gohugo.io .
If you want to use the theme from a cloned branch instead of a release tarball you’ll need to install
gulp locally and run the default pipeline once to create all required assets.
# install required packages from package.json npm install # run gulp pipeline to build required assets npx gulp default
To prepare your new site environment just a few steps are required:
Create a new empty Hugo site.
hugo new site demosite
Switch to the root of the new site.
Create the minimal required Hugo configuration
config.toml. For all configuration options see here .
baseURL = "http://localhost" title = "Geekdocs" theme = "hugo-geekdoc" pluralizeListTitles = false # Geekdoc required configuration pygmentsUseClasses = true pygmentsCodeFences = true disablePathToLower = true # Needed for mermaid shortcodes [markup] [markup.goldmark.renderer] # Needed for mermaid shortcode unsafe = true [markup.tableOfContents] startLevel = 1 endLevel = 9
Test your site.
hugo server -D
Download and extract the latest release bundle into the theme directory.
mkdir -p themes/hugo-geekdoc/ curl -L https://github.com/thegeeklab/hugo-geekdoc/releases/latest/download/hugo-geekdoc.tar.gz | tar -xz -C themes/hugo-geekdoc/ --strip-components=1
Keep in mind this method is not recommended and needs some extra steps to get it working. If you want to use the Theme as submodule keep in mind that your build process need to run the described steps as well.
Clone the Geekdoc git repository.
git clone https://github.com/thegeeklab/hugo-geekdoc.git themes/geekdoc
Build required theme assets e.g. CSS files and SVG sprites with
npx gulp default