Hextra v0.12.0 delivers page context menus for Markdown/AI integration, redesigned tabs with icon support, image zoom, comprehensive WCAG 2.2 AA accessibility improvements, and numerous bug fixes.
For the full release notes and upgrade guide, please visit:
https://imfing.github.io/hextra/blog/v0.12/
New Features
- Page Context Menu: copy page content as Markdown or view raw source, great for feeding docs into AI tools
- Tab Icon Support: add icons to tabs in the redesigned tabs shortcode
- Image Zoom: click-to-zoom for Markdown images via
params.imageZoom.enable: true - GoatCounter Analytics: new built-in analytics provider
- Hide Main Sidebar: per-page
sidebar.hide: trueto give content pages full width - Last Modified Author: display last commit author via GitInfo
- Disable Prev/Next Navigation:
params.page.displayPagination: false - Archives Page: built-in chronological blog listing grouped by year
- Glossary: site-wide term glossary with
termshortcode - LLMs.txt Exclusion: exclude pages/sections via
llms: falsein front matter
What's Changed
- feat: support hiding the main sidebar in desktop site by @KStocky in #778
- feat(tabs): revamp tabs by @ldez in #815
- chore(scripts): generic way to build scripts by @ldez in #829
- fix(docs): menu main duplicate field by @ldez in #837
- fix(analytics): change default umami analytics file to script.js by @ghac101 in #835
- feat: enhance table readability by @kowyo in #826
- feat: markdown attribute support for headers + "no-step-marker" docs for steps by @pmarrapese in #851
- docs(details): change details shortcode calls to angle brackets by @Bubbler-4 in #855
- feat: support GoatCounter analytics by @KStocky in #814
- chore: Update Beginner Privacy showcase image and add PrintN website by @PrintN in #859
- chore(docs): link KaTeX by @yuri1969 in #860
- feat: add optional alt parameter to card shortcode by @imfing in #899
- feat: support page bundle images in OpenGraph metadata by @torbjornbp in #892
- fix: work around flexsearch returning fewer than expected result pages by @bloovis in #847
- fix(og-image): handle leading slashes in image paths for subpath deployments by @imfing in #901
- fix(card): ensure subtitle stays at bottom by wrapping title/subtitle… by @AntoninPvr in #877
- fix(flexsearch): enhance match highlighting and safe DOM manipulation by @imfing in #903
- fix: respect the page parameter
tocin the mobile dropdown by @illia-v in https://github.c/imfing/hextra/pull/905 - fix: respect
search.enablein the mobile by @illia-v in #904 - feat(glossary): provide basic term glossary by @yuri1969 in #869
- fix: migrate tabs shortcode to new standard syntax by @imfing in #906
- feat(image-zoom): add image zoom functionality and documentation by @imfing in #907
- feat(context-menu): add page context menu for copy/view Markdown by @imfing in #908
- fix(layout): make content width respect page.width config by @imfing in #911
- fix(tabs): prevent markdown blockquote parsing when nested in steps by @imfing in #912
- fix(navbar): improve active state detection for multilingual section pages by @imfing in #913
- feat(pagination): add option to disable prev/next navigation by @ghac101 in #836
- fix(glossary): make Glossary optional by @yuri1969 in #916
- feat(i18n): add Italian localization strings for various UI elements by @gallochri in #915
- feat(llms): add option to exclude pages and sections from llms.txt by @MatheusFlausino in #918
- feat(lastUpdated): introduce last modified author using GitInfo by @daniseijo in #857
- fix: prevent relref double base-prefix in render-link by @imfing in #920
- feat: archives page by @confusedkernel in #922
- refactor(a11y): comprehensive WCAG 2.2 AA accessibility improvements by @imfing in #924
- feat(tabs): add icon support for tabs by @imfing in #926
- fix: Site.Author -> Site.Params.Author for Hugo v1.156.0 by @Fenyutanchan in #933
- fix(navbar): align mobile sidebar ordering and labels with menu.main by @AntoninPvr in #883
- refactor(layout): keep content width fixed and document CSS var override by @imfing in #934
- chore: release blog for Hextra v0.12 by @imfing in #927
New Contributors
- @ghac101 made their first contribution in #835
- @pmarrapese made their first contribution in #851
- @Bubbler-4 made their first contribution in #855
- @bloovis made their first contribution in #847
- @AntoninPvr made their first contribution in #877
- @illia-v made their first contribution in #905
- @gallochri made their first contribution in #915
- @MatheusFlausino made their first contribution in #918
- @daniseijo made their first contribution in #857
- @confusedkernel made their first contribution in #922
- @Fenyutanchan made their first contribution in #933
Full Changelog: v0.11.1...v0.12.0


