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



