If you see a typo, do not hesitate to create a pull request.
- Install hugo: https://gohugo.io/installation/
- Install go: https://go.dev/dl/
- Install Node.js: https://nodejs.org/en/download (or use
nvmhttps://github.com/nvm-sh/nvm)
Run the following to setup the project:
npm run project-setup- Install required modules
npm i- Start local server
hugo server -D
-Dallows to see draft articles
- Build with pagefind (you need this at least once for search to work locally)
npx -y pagefind --site public
This project uses the hugo fortify theme. You can find its documentation at https://docs.gethugothemes.com/fortify/.
We've extended the fortify theme with a few shortcodes of our own.
This is currently used on the documentation pages. It supports up to 3 levels of nesting.
The menu type in the front-matter needs to be sidebar.
Example:
menu:
sidebar:
identifier: faq
name: FAQ
weight: 95Display code examples in multiple formats with synchronized tabs across the page.
- Global sync: Clicking one tab activates all matching tabs on the page
- Persistence: Remembers user preferences per category using localStorage
- Keyboard navigation: Arrow keys, Home, and End for accessibility
- ARIA compliant: Full accessibility support with proper roles and keyboard interaction
Basic example with auto-generated tab types:
{{< codetabs category="dependency" >}}
{{< codetab label="Maven" >}}
```xml
<dependency>
<groupId>org.jobrunr</groupId>
<artifactId>jobrunr</artifactId>
<version>${jobrunr.version}</version>
</dependency>
```
{{< /codetab >}}
{{< codetab label="Gradle" >}}
```groovy
implementation 'org.jobrunr:jobrunr:${jobrunr.version}'
```
{{< /codetab >}}
{{< /codetabs >}}codetabs shortcode:
category(optional): Category for syncing tabs across page. If omitted, auto-generates from sorted tab types. Must be one of the allowed categories inparams.codetabs.allowedCategories. Specifying thecategoryis highly recommended.label(optional): ARIA label for the tablist. Defaults to "Code examples".
codetab shortcode:
label(required): Display text for the tab button.type(optional): Unique identifier for the tab. Auto-generated from label usingurlizeif not provided.
- Use explicit
categoryfor common patterns (dependency, framework, etc.) to ensure tabs sync correctly - Each
codetabmust have a uniquelabelwithin its parentcodetabs - Minimum 2 tabs required per
codetabsblock - Tab content supports full Markdown formatting
Highlight important information using GitHub-style alert syntax.
> [!NOTE]
> Useful information that users should know.
> [!TIP]
> Helpful advice for better results.
> [!IMPORTANT]
> Key information users need to know.
> [!WARNING]
> Urgent info requiring attention.
> [!CAUTION]
> Potential risks or destructive actions.
> [!PRO]
> JobRunr Pro features.> [!NOTE] Version Requirement
> All servers must run the same code version.> [!TIP] Pro Tip- NOTE - General information
- TIP - Helpful suggestions
- IMPORTANT - Critical information
- WARNING - Caution required
- CAUTION - Dangerous operations
- PRO - Premium features