Releases: imfing/hextra
v0.12.1
What's Changed
This version focuses on bug fixes since v0.12.0. For the full release notes and the upgrade guide for v0.12, please visit:
https://imfing.github.io/hextra/blog/v0.12/
- fix(docs): target Glossary section directly by @yuri1969 in #943
- fix: greedy trim by @fmunteanu in #946
- fix(render-image): use page resources for relative images in i18n page bundles by @MioYiSama in #938
- fix: revert unintentional Go 1.26 hard dependency to Go 1.21 by @Copilot in #950
- refactor(search): support local/mirrored FlexSearch assets by @imfing in #956
- fix(sidebar): include URL menu.main items in mobile sidebar by @imfing in #954
- fix(menu): prevent mobile dropdown click from auto-focusing search by @imfing in #951
- test(ci): separate mobile menu checks from a11y suite by @imfing in #959
New Contributors
- @MioYiSama made their first contribution in #938
- @Copilot made their first contribution in #950
Full Changelog: v0.12.0...v0.12.1
v0.12.0
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
v0.11.3
v0.11.2
v0.11.1
What's Changed
- fix(tags): update tag link to use the correct tag title instead of page title by @imfing in #812
- fix(banner): update link formats by @imfing in #816
- fix(analytics): Matomo analytics by @ldez in #817
- chore: replace
.Scratchwith.Storeby @ldez in #818 - feat(opengraph): update the partial by @ldez in #819
- docs: update file paths for hugo new template system by @kowyo in #821
- chore(docs): rename
exampleSitetodocsand createexamplesby @imfing in #813
Full Changelog: v0.11.0...v0.11.1
v0.11.0
Hextra v0.11.0 focuses on UX polish and useful new components: site-wide banner, improved callouts and badges, richer cards, analytics integrations, and several navigation refinements. It also ships stability fixes and documentation updates.
For the full release notes and upgrade guide, please visit: https://imfing.github.io/hextra/versions/latest/blog/v0.11/
What's Changed
- feat: add 'system' inside the theme toggle by @ldez in #766
- fix(theme-toggle): quick flash (light/dark) by @ldez in #768
- chore(i18n): add 'copyCode' and 'system' translations in zh-cn.yaml by @Anyexyz in #771
- feat(callout): revamp of the callouts by @ldez in #767
- fix(language-switch): manage icon menu item after the language switcher by @ldez in #772
- docs: add a page for hextra shortcodes by @ldez in #764
- feat(badges): colors and border by @ldez in #774
- fix(cards): card badge with RTL by @ldez in #775
- feat(banner): add top banner by @ldez in #777
- feat(links): add an option for external link decoration by @ldez in #780
- fix(giscus): theme and language by @ldez in #783
- feat(navbar): navbar link icon item by @ldez in #781
- feat(shortcode): add shortcode for asciinema by @Lamber-maybe in #779
- feat(analytics): add Umami and Matomo by @ldez in #784
- feat(card): add tagIcon and tagBorder options by @ldez in #791
- fix(typography): add styles for task lists with checkboxes and update documentation by @imfing in #796
- feat: support breadcrumbs for single pages that are neither docs or blogs by @KStocky in #743
- fix(navbar): menu positions by @ldez in #804
- fix: move dir attribute to html tag by @ldez in #805
- chore: release blog for Hextra v0.11 by @imfing in #806
New Contributors
- @Anyexyz made their first contribution in #771
- @Lamber-maybe made their first contribution in #779
Full Changelog: v0.10.2...v0.11.0
v0.10.2
What's Changed
This release includes general bug fixes and support two more types of components in the navigation bar, thanks to the amazing work by @ldez 🙌
PR List:
- fix(toc): improve handling of heading IDs by decoding and normalizing for hash navigation by @imfing in #757
- chore(card): remove unused variables by @ldez in #758
- feat(navbar): toggle theme inside navbar by @ldez in #759
- fix(search): search input and results outline by @ldez in #761
- docs: improve options description by @ldez in #762
- chore: simplify style definition for badge and callout by @ldez in #763
- feat(navbar): language switcher by @ldez in #760
Full Changelog: v0.10.1...v0.10.2
v0.10.1
What's Changed
This patch release addresses several regression bugs introduced in v0.10.0.
For the full release notes and upgrade guide for v0.10.0, please visit:
https://imfing.github.io/hextra/blog/v0.10/
- fix(flexsearch): search colors by @ldez in #752
- docs: add documentation on all shortcodes by @ldez in #753
- fix(toc): enhance hash navigation handling and adjust observer sensitivity by @imfing in #754
- fix(navbar): search wrapper class not prefixed by @imfing in #756
Full Changelog: v0.10.0...v0.10.1
v0.10.0
This is a big release packed with new capabilities, architectural upgrades, and quality-of-life improvements. ✨
For the full release notes and upgrade guide, please visit:
https://imfing.github.io/hextra/blog/v0.10/
New Features
- Dropdown Menu Support in Navbar: create hierarchical navigation menus
- Enhanced Search Experience: improved search across all headings with better accuracy
- llms.txt Support: generate AI-friendly site outline
- Table of Contents Scroll Highlighting: automatic heading highlighting during page scroll
- Synchronized Tab Switching: synchronize tab selections across multiple tab groups
- Blog List Pagination: add pagination controls to blog listing pages
- MathJax Support: alternative math rendering engine alongside KaTeX
What's Changed
- docs(showcase): Update Clace image url by @akclace in #646
- chore: migrate to Tailwind CSS v4.0 by @imfing in #632
- chore: server side rendering of math equations by @deining in #589
- chore: use cdn to download mermaid js by @imfing in #651
- chore: upgrade flexsearch to 0.8 by @imfing in #652
- fix: enhanced encoder for CJK mixed content by @imfing in #653
- fix: KaTeX fonts are not fetched from CDN by @oosquare in #656
- feat: make image render hook aware of assets directory by @oosquare in #657
- fix: link render hook produces dangling links when base URL has additional segments by @oosquare in #660
- fix: phantom scroll when
params.footer.enableis set tofalseby @Zabriskije in #658 - Add centering for custom footers by @miniwater in #649
- Add page param to block google indexing by @MattDodsonEnglish in #671
- refactor: improve width handling and introduce CSS variables by @imfing in #678
- fix: alternative text of images should not be repeated as text by @miniwater in #669
- feat: allow authors to set the value of reversePagination in page front matter by @KStocky in #674
- docs(showcase): Add Beginner Privacy by @PrintN in #688
- fix: CSS loading logic for production and theme dev environments by @imfing in #691
- docs(chore): switch to new template system (Hugo v0.146.0) by @deining in #681
- fix(build): update NPM to resolve postcss issue by @yuri1969 in #694
- chore: adapt theme to new template system by @yuri1969 in #696
- feat: child menu support in navbar by @imfing in #695
- docs: Updute deploy guides to Hugo 0.147.7 by @imfing in #699
- fix: spacing between title and site title by @hobobandy in #704
- docs: document configure opengraph image by @MattDodsonEnglish in #706
- chore: update tailwind css to latest version 4.1.8 by @deining in #703
- fix: wrong SRI hash for katex.css by @deining in #702
- feat(tags): improve usability of tags by @yuri1969 in #698
- feat(math): add optional MathJax support by @imfing in #707
- fix(i18n): add missing tags translations by @yuri1969 in #708
- fix(i18n): Update translation in ko.yaml by @dlwocks31 in #720
- feat: navbar title by @fmunteanu in #718
- feat(tabs): implement synchronized tabs switching by @imfing in #700
- feat(pagination): add blog pagination component by @imfing in #725
- fix: tab not switching on non-synced mode by @imfing in #732
- fix: giscus theme will be switched to dark when no 'color-theme' field by @TwoAnts in #723
- fix(favicon): dynamic favicon switching based on color scheme in js by @imfing in #735
- feat: support llms.txt output by @imfing in #736
- fix: search results linking to wrong spot on page by @ldez in #737
- feat(toc): add Table of Contents scroll highlighting by @imfing in #738
- chore: enhance tags appearance in toc and minor updates by @imfing in #739
- feat: search in all headings by @ldez in #740
- fix(search): unescape title by @ldez in #741
- feat(math): support local katex assets and improve docs by @imfing in #742
- refactor(css): add prefix to component classes for consistency by @imfing in #744
- refactor(mermaid): enhance Mermaid JS loading logic for flexibility by @imfing in #745
- docs(getting-started): fix instructions for using git submodule by @imfing in #693
- fix(page-width): add back page width override via css variable by @imfing in #748
- docs(blog): prepare for v0.10 release post by @imfing in #746
New Contributors
- @oosquare made their first contribution in #656
- @Zabriskije made their first contribution in #658
- @miniwater made their first contribution in #649
- @MattDodsonEnglish made their first contribution in #671
- @KStocky made their first contribution in #674
- @PrintN made their first contribution in #688
- @hobobandy made their first contribution in #704
- @dlwocks31 made their first contribution in #720
- @TwoAnts made their first contribution in #723
- @ldez made their first contribution in #737
Full Changelog: v0.9.7...v0.10.0








