v1.0.0-alpha
Pre-releasev1.0.0-alpha - 27 July 2026
Note
FixIt v1 is a ground-up rewrite of the theme's architecture, bringing modern tooling and a cleaner configuration surface to Hugo theme development.
The JavaScript layer has been fully migrated to TypeScript with a service-class architecture built on constructor injection and a typed event bus. The styling pipeline has been overhauled — CSS is now SCSS with per-layout bundles, powered by UnoCSS for utility classes and hugo:vars for runtime configuration. The build system requires Dart Sass and Hugo 0.161.0+.
Configuration has been flattened and standardized: [params.page] is now [params], and all keys follow snake_case. Content encryption has been rewritten from scratch using AES-256-GCM with PBKDF2 key derivation, extracted into the standalone fixit-encrypt tool.
Search gets a major upgrade with three engine options — Algolia, Pagefind, and a redesigned built-in fuzzy search with Bing CSE integration. Other highlights include external link guards, taxonomy icons, Mermaid pan/zoom, backdrop-filter header effects, and comprehensive accessibility improvements across all components.
This is an alpha release intended for early adopters and migration testing. See the upgrade guide for instructions.
🔀 Merged PRs
This release includes 68 merged pull requests that have been successfully integrated into the codebase.
⚠️ Breaking Changes
- Assets: Rewrite content encryption with AES-256-GCM and PBKDF2 (#806)
a96ba66by @Lruihao - Params: Flatten [params.page] to [params], snake_case keys, more page-level params support (#805)
658f03dby @Lruihao - Build with Dart Sass and update Vercel deployment scripts (#746)
dd6d320by @Lruihao - Migrate theme assets from css to scss and centralize deprecation detection (#735)
09e08d0by @Lruihao - UI/UX: Refactor styles for theme support and enhance visual consistency (#722)
164a699by @Lruihao - Debug: Enable debug mode based on environment and remove
params.dev.debugconfigaef8eafby @Lruihao
🎉 New Features
- Gen-docs: Add Hugo partials docs generation (#809)
2c0b483by @Lruihao - Assets: Integrate UnoCSS for utility classes and presetIcons (#795)
8af8e80by @Lruihao - Assets: Search UI redesign with heading, metadata and Bing CSE support (#791)
a5f362fby @Lruihao - Assets: SCSS variables with hugo:vars and module setup standardization (#788)
17d7bc1by @Lruihao - Assets: Add helpers package for chroma lexer map generation (#781)
03ca90bby @Lruihao - Assets: Improve comment system config and lang mapping (#773)
03d81f0by @Lruihao - Search: Add pagefind search engine support (#738)
4ffd531by @0x5c0f - Seo: Restructure head partial, fix Twitter social and SEO improvements (#749)
4e0c3d8by @SamirPaulb - Mermaid: Performance optimization and support pan and zoom etc. (#737)
e68d10dby @Lruihao - Task-lists: Add support for "Important Checked" task (#734)
9ada69eby @Lruihao - Taxonomy: Support taxonomy_icons with shared icon resolver and front matter icon overrides (#732)
1e0d1afby @Lruihao - Social: Update QQ Group link format (#731)
b0a1719by @Lruihao - Link: Add external link guard feature support (#729)
75ee162by @0x5c0f - Accessibility: Enhance accessibility features across components and improve focus management (#725)
29ece68by @Lruihao - Header: Refactored the blur effect to backdrop-filter and added a configuration switch (#721)
11954d8by @Lruihao - Buttons: Replace role="button" with button elements for improved accessibility
e527289by @Lruihao - Task-list: Add task list utility mixins and enhance rendering logic
741ef19by @Lruihao - Link: Add
link_guardfront matter and support for friend links5f100a6by @Lruihao - Post-encrypt: Add GitHub Actions workflow for publishing and versioning
c6b5c82by @Lruihao - Post-encrypt: Add help option to display usage instructions
c86566fby @Lruihao - Toc: Add close button to TOC dialog and improve close functionality
a4fcc5eby @Lruihao - Migrate layouts/_partials/layouts to layouts/_partials/base
f76b6a1by @Lruihao - Post-encrypt: Add elapsed time and scanned file count to output
3e4cb8dby @Lruihao - Deprecated: Project config key languageCode was deprecated in Hugo v0.158.0 and will be removed in a future release. Use locale instead.
e6625fbby @Lruihao - Toc: Reorder TOC targets and add initTocDialogLink method for mobile dialog handling
e58bdd4by @Lruihao - Styles: Add new utility classes for info, primary, success, and warning backgrounds and text colors
52ab989by @Lruihao - Code-tabs: Add dividers for inactive tabs and improve active tab styling
5fe681cby @Lruihao - Assets: Add TypeScript type declarations for Hugo
@paramsmodule54fb903by @Lruihao - Compatible with Hugo 0.158.0+ for language methods
3242dbfby @Lruihao - .Language.LanguageName was deprecated in Hugo v0.158.0 and will be removed in a future release. Use .Language.Label instead.
391d2ecby @Lruihao - Mermaid: Add wrapper and filename named params support for shortcode
530bc6cby @Lruihao - Layouts: Add timeout and cache key options to get-remote-image partial
0d6af76by @Lruihao - Config: Disable footer powered logos
47299dbby @Lruihao
🐛 Bug Fixes
- Assets: Rewrite service worker with two-strategy caching (#774)
17164f4by @Lruihao - Tabs: Improve tab shortcode rendering and restore sticky code header (#772)
5b43c2bby @Lruihao - Seo: Restructure head partial, fix Twitter social and SEO improvements (#749)
4e0c3d8by @SamirPaulb - Change social.yml (twitter.com -> x.com, change github icon) (#748)
55b8095by @myServiceAccount - Dart Sass compatibility + feat: add imagePreview config for home page (#741)
e68bdb3by @myServiceAccount - Assets: Rewrite service worker with two-strategy caching (#774)
17164f4by @Lruihao - Assets: Restructure SCSS pages directory and fix positioning issues
20c0997by @Lruihao - Header: Update header styles and improve layout structure
295717aby @Lruihao - Layouts: Fix toggle code block YAML conversion for identical values
3326ea4by @Lruihao - Tabs: Revert tab and tabs rendering (#772) and update chroma lexers
a2d7567by @Lruihao - Header: Improve header animation on scroll events
e0a0086by @Lruihao - Layouts: Fix Content+Path code path in style/script plugin partials
d076ebfby @Lruihao - Assets: Apply correct json-viewer theme after content decryption
610fa1dby @Lruihao - Code: Fix line number styling for better visibility
78778daby @Lruihao - Assets,layouts: Correct page_style comment and remove newlines from deprecation warnings
5811b21by @Lruihao - Assets: Fix sw-update-notification display and PWA guard conditions
4050249by @Lruihao - Assets: Fix nil pointer in icon.html and correct QQ icon names
b5419efby @Lruihao - Versioning: Improve staged files handling in updateVersion function
8efdce7by @Lruihao - Versioning: Improve version regex and add error handling for version extraction
e68200aby @Lruihao - Toc: Update max-height calculation for TOC content to use variable
66dc7bcby @Lruihao - Assets: Prevent mermaid render temp div from expanding body height
1012fdcby @Lruihao - Assets: Handle SKIP_WAITING message in service worker
9da44f0by @Lruihao - Workflow: Properly propagate parallel build errors on Vercel
db85dcbby @Lruihao - Layouts: Fix busuanzi site views variable name in footer
e07eefdby @Lruihao - Styles: Content style priority conflict
7a28234by @Lruihao - Assets: Move reward shortcode styles to shared shortcodes
d81d1a0by @Lruihao - Assets: Use percentage unit for color.mix weight in tag cloud
eeff00fby @Lruihao - Layout: Specify selector for comments section in SCSS
9566450by @Lruihao - Versioning: Enable console log for Node.js version check in updateVersion function
a2d4b46by @Lruihao
⚡ Performance Improvements
- Home: Disable third-party resource loading on the home page, and improve plugin comments
502e427by @Lruihao - Code-tab: Enhance code toggle functionality with improved tab switching and state management
f9c7e1dby @Lruihao - Mermaid: Optimize pan/zoom transform handling and improve theme synchronization
cedff86by @Lruihao - Mermaid: Improve error handling and optimize rendering for mobile
5e6e290by @Lruihao
♻️ Refactoring and Updates
- Assets: PWA improvements and app config snake_case migration (#790)
5cad4d3by @Lruihao - Assets: Split SCSS into per-layout CSS bundles (#789)
47247e0by @Lruihao - Assets: SCSS variables with hugo:vars and module setup standardization (#788)
17d7bc1by @Lruihao - Search: Refactor search module and upgrade autocomplete library (#787)
a696f3bby @Lruihao - Assets: Migrate JavaScript to TypeScript service architecture (#766)
14a965fby @Lruihao - Mermaid: Performance optimization and support pan and zoom etc. (#737)
e68d10dby @Lruihao - Layout: Refactor single page layout and partials categorization
cfa9befby @Lruihao - Css: Rename functions from 'fixit-' to 'fi-' for consistency
b406a56by @Lruihao - Restructure TypeScript modules and search config
6f83bc6by @Lruihao - Assets: Streamline decrypt and toc event flow
43c439eby @Lruihao - Encrypt: Rename post-encrypt to encrypt
bfee404by @Lruihao - Assets: Improve custom script examples and SCSS configuration
4b3f33fby @Lruihao - Assets: Use ES6 # private fields instead of TS private
a5d24f3by @Lruihao - Assets: Simplify template pipeline and resource handling
76f8097by @Lruihao - Assets: Simplify breakpoints and update UnoCSS CLI config
fb0c00eby @Lruihao - Extract console banner to core/banner.ts
01eadc4by @Lruihao - Styles: Replace mixin user-select with direct property assignment
3dd16e6by @Lruihao - Layouts: Simplify alternative output format link rendering
e30b9dbby @Lruihao - Replace media queries with mixin for responsive design consistency
b172fd4by @Lruihao
📝 Documentation Changes
- Correct German and Japanese language links in README files (#736)
77bb00cby @aetos382 - Config: Standardize hugo.toml comments for gendocs compatibility
6188165by @Lruihao - Layouts: Add header comments to undocumented partials
5322a15by @Lruihao - Update theme documentation links
874337fby @Lruihao - Improve clarity and formatting in README files
a4a0eb1by @Lruihao - Update contributing guidelines
0fe8e10by @Lruihao - Update v1 migration guide and fixit-encrypt repository
a5a7b98by @Lruihao - Update contributing guide and pull request template
799618fby @Lruihao - Encrypt: Update Go implementation status to Available
15b415fby @Lruihao - Readme: Update acknowledgements
279021dby @Lruihao - Update README to clarify versioning policy and future plans
7338930by @Lruihao - Config: Improve search and compatibility section comments in hugo.toml
b95a29eby @Lruihao - Config: Fix typo
69920e0by @Lruihao
✅ Changes to Test Assets
🎨 Tidying of Code eg Whitespace
- Hugo.toml: Standardize comment capitalization for consistency
9e40051by @Lruihao - Mixins: Format SCSS mixins for better readability
4158ebfby @Lruihao - Assets: Rebuild unocss.css
f5509e5by @Lruihao - Search: Add transition to close button hover effect
68d9a35by @Lruihao - Correct comment
f911547by @Lruihao - Assets: Use cooler and darker hover colors for menu items in dark mode
9e2f388by @Lruihao
🔧 Chores And Housekeeping
- Deps: Bump @algolia/autocomplete-js from
1.19.8to1.19.9(#804)bfef6c5by @github-actions[bot] - Deps: Bump algoliasearch from
5.53.0to5.55.1(#803)069ddd1by @github-actions[bot] - Deps: Bump @fortawesome/fontawesome-free from
7.2.0to7.3.0(#802)daa0753by @github-actions[bot] - Deps: Bump simple-icons from
16.23.0to16.24.1(#800)743ecd2by @github-actions[bot] - Deps: Bump mapbox-gl from
3.24.0to3.25.0(#801)76530ceby @github-actions[bot] - Deps: Bump twikoo from
1.7.11to1.7.13(#799)5ee8272by @github-actions[bot] - Deps-dev: Bump the npm-development group with 9 updates (#798)
994a5d4by @dependabot - Deps: Bump actions/checkout from 6 to 7 (#797)
575499dby @dependabot - Deps: Bump actions/setup-node from 4 to 6 (#784)
3c2fb3eby @dependabot - Deps: Bump simple-icons from
16.22.0to16.23.0(#783)47ebabdby @lrhx - Deps: Bump @waline/client from
3.15.0to3.15.2(#782)43dd1c7by @lrhx - Deps: Bump simple-icons from
16.21.0to16.22.0(#780)5362040by @github-actions[bot] - Deps: Bump @waline/client from
3.13.0to3.15.0(#779)f7ec3e3by @github-actions[bot] - Deps: Bump twikoo from
1.7.10to1.7.11(#777)5862699by @github-actions[bot] - Deps: Bump algoliasearch from
5.52.1to5.53.0(#776)031691aby @github-actions[bot] - Deps-dev: Bump the npm-development group across 1 directory with 6 updates (#775)
b8ec5f1by @dependabot - Deps: Bump twikoo from
1.7.9to1.7.10(#771)038f602by @github-actions[bot] - Deps: Bump echarts from
6.0.0to6.1.0(#770)7cab906by @github-actions[bot] - Deps: Bump simple-icons from
16.19.0to16.21.0(#769)0c30f4cby @github-actions[bot] - Deps: Bump katex from
0.16.47to0.17.0(#768)f78e5b9by @github-actions[bot] - Deps: Bump mapbox-gl from
3.23.1to3.24.0(#767)aa3b591by @github-actions[bot] - Deps: Bump simple-icons from
9.19.0to16.19.0(#765)a9b380cby @github-actions[bot] - Deps: Bump @fortawesome/fontawesome-free from
7.1.0to7.2.0(#764)f764563by @github-actions[bot] - Deps: Bump sharer.js from
0.5.1to0.5.4(#763)a7503c4by @github-actions[bot] - Deps: Bump gitalk from
1.7.2to1.8.0(#762)76de476by @github-actions[bot] - Deps: Bump typeit from
8.8.4to8.8.7(#761)91d483aby @github-actions[bot] - Deps: Bump xxhash-wasm from
1.0.2to1.1.0(#760)cd7b1e7by @github-actions[bot] - Deps: Bump mapbox-gl from
2.10.0to3.23.1(#759)819051eby @github-actions[bot] - Deps: Bump pangu from
4.0.7to7.2.1(#758)ed8ec5cby @github-actions[bot] - Deps: Bump meting from
2.0.1to2.0.2(#757)caf2b08by @github-actions[bot] - Deps: Bump algoliasearch from
4.20.0to5.52.1(#756)a82d8c3by @github-actions[bot] - Deps: Bump echarts from
5.3.3to6.0.0(#755)d59bb2dby @github-actions[bot] - Deps: Bump twikoo from
1.7.3to1.7.9(#754)ebf1e7eby @github-actions[bot] - Deps: Bump @waline/client from
3.12.1to3.13.0(#753)ee299ceby @github-actions[bot] - Deps: Bump lightgallery from
2.7.2to2.9.0(#752)f544826by @github-actions[bot] - Deps: Bump valine from
1.5.2to1.5.3(#750)57206e5by @github-actions[bot] - Deps: Bump katex from
0.16.22to0.16.47(#751)16e9660by @github-actions[bot] - Deps: Bump pnpm/action-setup from 4 to 6 (#740)
26b0556by @dependabot - Deps: Bump softprops/action-gh-release from 2 to 3 (#739)
e90a249by @dependabot - Deps: Upgrade fuse.js from v6.6.2 to v7.4.2
c057a0dby @Lruihao - Deps: Update Node.js, pnpm, and dev dependencies
e458019by @Lruihao - Deps-dev: Update pnpm and dev dependencies
97ddee0by @Lruihao - Add librarybot workflow for automated npm library updates (#726)
d45f6b1by @Lruihao - Packages: Replace helpers with standalone chroma-lexers and enrich shared
f5b030bby @Lruihao - Deps: Upgrade algoliasearch from v4 to v5 lite client
9ed063fby @Lruihao - Update minimum Hugo version to 0.158.0 across documentation and configuration files
673be1eby @Lruihao - Deps: Update concurrently to version 10.0.3
0f35108by @Lruihao - Add Dockerfile and devcontainer configuration for Hugo theme development
bc3fb3aby @Lruihao - Workflow: Support nextVersion for dev version base
a7cf343by @Lruihao - Update theme configuration
e4bd573by @Lruihao - Deps: Update pangu.js references and configuration
ebcf22dby @Lruihao - Vscode: Update file nesting patterns in VSCode settings
ba369aeby @Lruihao - Updated pnpm configuration and optimized versioning scripts
4cba468by @Lruihao - Update VSCode extensions and improve asset loading in templates
20f59e0by @Lruihao - Assets: Add librarybot dir entries for katex/lightgallery/fontawesome static assets
ea140e3by @Lruihao - Bump minimum Hugo version to 0.161.0 for hugo:vars support
b7db52eby @Lruihao - Vscode: Update extensions and settings for improved SCSS and template support
ddbf47dby @Lruihao - Pnpm v11 migration
4a60d80by @Lruihao - Clean up VSCode settings
d35dd6aby @Lruihao - Deps: Remove gitsubmodule package ecosystem from dependabot configuration
6070061by @Lruihao - Init: Update warning messages for deprecated parameters
557a59dby @Lruihao - Assets: Move tsconfig to assets
a7bae57by @Lruihao - Config: Remove deprecated hugoVersion.extended
b274b1bby @Lruihao - Workflows: Add token for bot authentication in gen-lexers and librarybot workflows
c7ed62cby @Lruihao
👷 Continuous Integration
Full Changelog: v0.4.5...v1.0.0-alpha