ld+json with a full Schema.org
Article fieldset, Open-Graph tags, Serverless CDN support (Netlify, Vercel), Asset CDN support (Cloudinary) with image transformations for responsive images, ATOM feed Syndication XML format, asset preloading, third-party prefetching, SVG icons, syntax highlighting with Chroma, custom 404 error page, custom CSS/JS support, and a full Multilingual implementation. Built with Tailwind CSS, Alpine JS, and an NPM Scripts (task-runner-free) build process, the Axiom Hugo theme is feature packed.
Modularity (DRY-er Content)
Axiom leverages Hugo's Headless Resource feature which allows you to separate pieces of Content into Snippets or Components (essentially "Content Partials"). Combined with Axiom's Shortcodes, a high degree of modularity is possible.
The Home (
/content/home/) and Snippets (
/content/snippets/) Content directories are examples of this modular approach. Any type of Content can be pulled into your Pages and Posts using this pattern. See the Homepage build for an example (link in Homepage section below).
Axiom comes with several powerful Shortcodes which allow you to add complex HTML elements to your Content files. Visit the Shortcodes page to learn more.
Axiom's Homepage is a modular design without any layout applied, in essence, it's a blank slate. This allows you to build up a bespoke Homepage. Shortcodes make it easy to construct a Homepage with blocks and widgets.
The Example website Homepage shows a common configuration and can be used as a starting point.
Disqus commenting is available on all Section's Single page view. Comments are on by default if you set a Configuration Services
disqusShortname value. Comments can be turned off an a post-by-post basis by using the Frontmatter
comments variable and setting it to
Axiom includes helpful Content generators to quickly create new Section entries. Visit the Archetypes page to learn more.
Fine tune individual Content entries with Axiom's custom Frontmatter fields. Visit the Frontmatter page to learn more.
Axiom has a very advanced CDATA CSS file. It has high specificity and only affects the direct children of the parent element with the
All Markdown content in the Content directory automatically gets styled with the
cdata styles. When using Shortcodes or building out the Homepage, you can use the
cdata class to style content using those rules.
cdata? CDATA means "character data" in SGML. Many themes use a class name like "markdown" or "mdown" for this purpose, but we feel it's too limiting and doesn't consider other future syntax that may serve the same use as Markdown does now. CDATA is just a way for us to know it's unstyled bare HTML, that needs CSS styles based on element names instead of class names.
Axiom supports Authors for your Content pieces. You can set individual Author contact data and profile images. To configure Authors, edit the Authors data file (
/data/author.toml) and output and Author profile image locally or on a CDN. Recommended size is
See the Hugo Data File Documentation for more information.
Rich typography is one of the best ways to distinguish your website apart from the crowd. Axiom's Custom Typography feature allows you to specify as many font families and files as desired. Each file will be preloaded to speed up website performance. Visit the Extending page to learn more.
For Twitter sharing, set the Author's Twitter username in the Author's Data file. For Facebook sharing, set the website's Facebook App Id in the Services Config (
Axiom uses an ATOM syndication feed format which includes full post content in each entry.
If set in the Image Config (
icon2To1), an icon and logo element will be added to the Feed output.
Google Analytics: Collect data with Google Analytics.
Google Ads: Collect data and track conversions with Google Ads.
Google Adsense: Axiom is ready for Ads if you choose to serve them. There is a single responsive Ad Slot at the bottom of all Section Content.
If you set an Adsense Id in the Services Config (
"lazy" option uses a timeout, while
"defer" only replaces the
Facebook: Collect data, and share Content with Facebook.
If you set a Facebook Pixel Id in the Services Config (
facebookApp) it will be used for Open-Graph tags and in Content Sharing.