Skip to content

Releases: imfing/hextra

v0.12.1

06 Mar 23:57
cd5f005

Choose a tag to compare

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

20 Feb 23:24
089c2fb

Choose a tag to compare

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: true to 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 term shortcode
  • LLMs.txt Exclusion: exclude pages/sections via llms: false in 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 toc in the mobile dropdown by @illia-v in https://github.c/imfing/hextra/pull/905
  • fix: respect search.enable in 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

Full Changelog: v0.11.1...v0.12.0

v0.11.3

20 Feb 21:42

Choose a tag to compare

Bug Fixes

  • fix(docs): menu main duplicate field (#837)

v0.11.2

20 Feb 17:29

Choose a tag to compare

Bug Fixes

  • Fix Site.Author -> Site.Params.Author for Hugo v0.156.0 compatibility (#933)

This is a patch release to fix a breaking change introduced by Hugo v0.156.0, which removed the deprecated .Site.Author method. Users on Hugo v0.156.0+ should upgrade to this version.

v0.11.1

06 Sep 13:02

Choose a tag to compare

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 .Scratch with .Store by @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 exampleSite to docs and create examples by @imfing in #813

Full Changelog: v0.11.0...v0.11.1

v0.11.0

30 Aug 12:51
6d0e59b

Choose a tag to compare

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

Full Changelog: v0.10.2...v0.11.0

v0.10.2

17 Aug 22:34
363b1e5

Choose a tag to compare

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 🙌

  • Language Switcher
    Image
  • Light/Dark Theme Toggle
    Image

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

15 Aug 06:45
d0cdd29

Choose a tag to compare

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

14 Aug 16:07
ec007d7

Choose a tag to compare

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.enable is set to false by @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

Full Changelog: v0.9.7...v0.10.0

v0.9.7

27 Mar 22:42
38c8ee1

Choose a tag to compare

Fixes

  • fix: mermaid script was skipped on home page by @imfing in #637

Misc

  • chore(ci): building hextra docs of multiple versions by @imfing in #633

Full Changelog: v0.9.6...v0.9.7