Skip to content
Hextra v0.12 is here! 🎉 Discover what’s new

Icon

To use this shortcode inline, inline shortcode needs to be enabled in the config:

hugo.yaml
enableInlineShortcodes: true

Built-in icons are listed in data/icons.yaml.

Example

Usage

{{< icon "github" >}}

Heroicons v1 outline icons are available out of the box.

How to add your own icons

Create data/icons.yaml file, then add your own SVG icons in the following format:

data/icons.yaml
your-icon: <svg>your icon svg content</svg>

It then can be used in the shortcode like this:

{{< icon "your-icon" >}}

{{< card icon="your-icon" >}}

Tip: Iconify Design is a great place to find SVG icons for your site.

Remote icon packs

Remote icons can be loaded on demand by using a provider prefix. Hextra supports these providers:

ProviderExampleIcon
Lucide{{< icon "lucide:house" >}}
Tabler Icons{{< icon "tabler:user" >}}
Simple Icons{{< icon "simple:hugo" >}}Hugo

Remote icons are fetched at build time. The default providers are pinned to major package versions and loaded from these CDN URLs:

lucide: "https://unpkg.com/lucide-static@1/icons/%s.svg"
tabler: "https://unpkg.com/@tabler/icons@3/icons/outline/%s.svg"
simple: "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/%s.svg"

Remote icon names work anywhere Hextra accepts an icon name, including cards, tabs, badges, callouts, and navbar menu items.

Options

NameDescription
nameIcon name
attributesThe attributes of the icon.
Last updated on