Chapter · Reference
Shortcodes
Live, copy-pasteable examples of every shortcode shipped with the theme.
The theme ships with 50+ shortcodes organized into six categories. Each page below renders the live result alongside the markdown that produced it.
Argument conventions #
Across the theme, shortcodes follow these rules:
The primary argument is positional. For most shortcodes the first positional arg is the title, label, or
href/src:markdown{{< notice tip "Pro move" >}} ... {{< /notice >}} {{< card "Get started" "/install/" >}} ... {{< /card >}} {{< image "screenshot.png" "A dashboard caption" >}}Secondary arguments are named. Anything beyond the first one or two args should be named for clarity:
markdown{{< button href="/install/" icon="download" style="primary" >}}Install{{< /button >}} {{< step title="Deploy" time="5 min" n="3" >}}body{{< /step >}}Links use
href.urlis accepted as a legacy alias oncardand a few others for relearn compatibility but should not be used in new content. The theme’ssite-href.htmlpartial routes everyhrefthrough Hugo’s URL resolver, so internal paths like/docs/foo/automatically pick up the sitebaseURLprefix and externalhttp*URLs are passed through withtarget="_blank".Most block bodies are markdown. Container shortcodes such as
notice,exercise,step,solution,tabs,card, andterminalrender their body through Hugo’s markdown pipeline, so links, lists, code blocks, and nested shortcodes work where those blocks are intended to hold prose. Small inline/status shortcodes such asbadge,kbd,time, andtextcolorare intentionally more limited; check the shortcode’s reference entry before relying on markdown inside compact inline UI.Internationalization. Default labels (
Tip,Note,Show solution,Quick check, etc.) are pulled fromi18n/en.yaml. Translate the theme by addingi18n/<lang>.yamlto your own site — every default label and UI string is keyed there.
