Commit Graph

170 Commits

Author SHA1 Message Date
Cell e65aa888b6 Merge pull request #846 from hugo-fixit/librarybot/github-tab-container-element-4.9.0 2026-09-01 13:57:20 +08:00
github-actions[bot] 6932d956a2 chore(deps): bump algoliasearch from 5.56.0 to 5.57.0 (#845) 2026-09-01 13:56:48 +08:00
github-actions[bot] cbb5d426f8 chore(deps): bump mapbox-gl from 3.27.0 to 3.29.0 (#844) 2026-09-01 13:56:15 +08:00
github-actions[bot] 19f4f47f60 chore(deps): bump twikoo from 1.7.15 to 1.7.20 (#842) 2026-09-01 13:55:44 +08:00
Lruihao 200619f7e5 chore(deps): bump @github/tab-container-element from 4.8.2 to 4.9.0 2026-09-01 12:57:13 +08:00
github-actions[bot] f16ad55e50 chore(deps): bump simple-icons from 16.27.1 to 16.29.0 (#843)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-09-01 12:54:06 +08:00
github-actions[bot] 1c055934a8 chore(deps): bump katex from 0.18.1 to 0.18.5 (#841)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-09-01 12:53:28 +08:00
github-actions[bot] 4242e34834 chore(deps): bump pangu from 9.1.0 to 9.1.1 (#840)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-09-01 12:53:02 +08:00
Cell e819ffc05f chore: update tab-container-element script references to use bundle.js 2026-09-01 12:41:17 +08:00
github-actions[bot] c32598ecf6 chore(deps): bump simple-icons from 16.24.1 to 16.27.1 (#825)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-09-01 11:18:45 +08:00
github-actions[bot] 6f8355a0f0 chore(deps): bump algoliasearch from 5.55.1 to 5.56.0 (#824) 2026-09-01 10:34:40 +08:00
github-actions[bot] ba8fd91871 chore(deps): bump pangu from 7.2.1 to 9.1.0 (#823) 2026-09-01 10:30:36 +08:00
github-actions[bot] 84c9c61455 chore(deps): bump katex from 0.17.0 to 0.18.1 (#822) 2026-09-01 10:28:11 +08:00
github-actions[bot] 20c51703c7 chore(deps): bump @fortawesome/fontawesome-free from 7.3.0 to 7.3.1 (#820) 2026-09-01 10:21:26 +08:00
github-actions[bot] 2ca4917371 chore(deps): bump mapbox-gl from 3.25.0 to 3.27.0 (#821) 2026-09-01 10:19:29 +08:00
github-actions[bot] 1b9beb90bb chore(deps): bump twikoo from 1.7.13 to 1.7.15 (#818) 2026-09-01 10:08:24 +08:00
github-actions[bot] ee02a6baf0 chore(deps): bump cell-tooltip from 0.3.1 to 0.4.0 (#817)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-09-01 02:12:17 +08:00
Cell 5f1e79f49c feat(i18n): add RTL support for Arabic, Persian and Urdu (#831)
* feat(i18n): add RTL support and Arabic/Persian translations

- Add `dir` attribute to `<html>` via `.Site.Language.Direction`
- Convert physical CSS properties to logical properties across ~30 SCSS files
- Add `[dir="rtl"]` overrides for elements that need physical direction (code blocks, translate, icons)
- Add `logical-direction.html` template function for config value normalization
- Add RTL-aware deprecation warnings for old "left"/"right" config values
- Rename github corner, TOC position, reading progress config values from "left"/"right" to "start"/"end"
- Add Arabic (ar.toml) and Persian (fa.toml) i18n translation files
- Update multilingual documentation with RTL language configuration guide

* feat(shortcodes): add RTL support for tabs and refactor border-radius mixin

- Rename tabs placement values from "left"/"right" to "start"/"end" with deprecation warnings
- Convert all physical directional properties in tabs SCSS to logical properties
- Add RTL overrides for translate and box-shadow in tabs
- Add "start"/"end" support to border-radius mixin using CSS logical properties
- Refactor fixit-decryptor to use border-radius(start/end) mixin

* feat(assets): add RTL support for toc-dialog slide animation

The mobile toc-dialog always slid in from the right (100vw). In RTL
mode it should slide from the left (-100vw), matching the
border-inline-start/margin-inline-end anchoring.

* feat(assets): add RTL support for post-tag comma separator

* refactor(assets): extract RTL styles into dedicated _rtl.scss

* feat(assets): add RTL support for theme-switch and directional icons

* feat(i18n): add RTL support and improve i18n

- Add RTL typography corrections for Arabic-script languages (:lang(ar/fa/ur))
- Remove fa-list-ol from RTL flip list (numbers get mirrored)
- Add Urdu translation file (i18n/ur.toml)
- Rename noMoretTranslations to noTranslations and simplify all translations
- Update json-viewer-element from 1.0.4 to 1.0.6
- Add RTL test posts (index.en.md, index.ar.md)
- Fix layout partials for RTL support

See https://fixit.lruihao.cn/docs/content-management/introduction/#rtl-language-support
2026-08-24 00:22:34 +08:00
Cell b5419ef704 fix(assets): fix nil pointer in icon.html and correct QQ icon names
Use `with` block to guard against nil resource in icon.html, preventing
panic when `resources.Get` fails. Correct simple-icons names from
`tencentqq` to `qq` for QQ and QQ Group social links.
2026-07-10 21:12:56 +08:00
Cell a96ba665ac refactor(assets)!: rewrite content encryption with AES-256-GCM and PBKDF2 (#806)
* refactor(assets)!: rewrite content encryption with AES-256-GCM and PBKDF2

- Remove legacy Base64 obfuscation layer (content-encryption.html)
- Replace <cipher-text> with <template> for inert content storage
- Single-layer AES-256-GCM encryption via post-build script
- PBKDF2 key derivation (100k iterations) for encryption
- PBKDF2-protected password verification (data-verify-salt)
- Depth-tracking parser for nested shortcode support
- Dev mode: plaintext content used directly without encryption
- Remove crypto-js and xxhash-wasm vendored dependencies

* feat(post-encrypt): prepare package for npm publishing

- Add bin entry, build script, and dist output for npx usage
- Replace @hugo-fixit/shared with standalone implementations
- Add CLI shebang for direct execution
- Add package README with usage documentation
- Remove FIXIT_ENCRYPT_INPUT env var (redundant with --input)
- Add encryption detection warning in assets.html
- Remove Post-build Encryption sections from READMEs

* chore: integrate post-encrypt into build pipeline and use consola

- Replace console with consola for post-encrypt logging
- Improve verification messages (no templates, count, etc.)
- Simplify build scripts: encrypt runs as part of main build
- Update encryption detection warning to use npx command

* feat(assets): add encryption dev warning admonition

- Add danger admonition in single.html for full-page encryption (dev mode only)
- Add encryption detection warning in assets.html console
- Improve post-encrypt verification messages with template count

* feat(assets): improve encryption i18n, cache security, and error handling

- Add encryptionWarning and encryptionCommand i18n keys for all 16 languages
- Store PBKDF2 verification hash in localStorage cache for better security
- Show decryption errors via flashTooltip instead of console only
- Add FixItDecryptor type definitions in global.ts
- Move encryption detection to init/detection-encryption.html with batched warning
- Remove redundant per-page warning from assets.html

* feat(assets): redesign fixit-decryptor UI with card layout

- Page-level: card form with lock icon header, password input with key icon, primary-colored unlock button, circular re-encrypt button
- Shortcode-level: connected input+button design (search bar style) with focus ring sync
- Remove loading spinner, use display:none/flex toggle via .initialized class
- Move lock icon styling to UnoCSS (text-primary text-xl)
- Initialize CellTooltip on re-encrypt button
- Fix JSDoc @param warnings in global.ts

* refactor(assets): unify TOC template and decryptor animations

- TOC always rendered in `<template data-toc>`, containers populated by initToc()
- Moved TOC scroll/resize handling from events.ts to toc.ts (syncTocLayout, syncTocActiveState)
- Removed EventsModule toc dependency, updated public-api.ts constructor
- Removed visibility:hidden from #toc-auto
- Decryptor: form always visible, @starting-style for fade-in on init
- Decryptor: content expand/collapse animation using height + opacity
- Removed encrypted-hidden from TOC elements in single.html

* refactor(assets): add target to fixit:decrypted event and simplify handlers

- Add { target: Element } payload to fixit:decrypted in event-bus.ts
- Remove $content closure from fixit-decryptor init(), use detail.target
- Update content.ts and toc.ts to use detail.target from event

* fix(assets): use eventBus for TOC scroll/resize listeners and eliminate redundant template parsing

- Replace raw window scroll/resize listeners in TocModule with eventBus
  subscriptions (fixit:scroll/fixit:resize), reusing EventsModule's
  throttle and debounce instead of duplicating un-throttled handlers.
- Refactor hasUnencryptedTemplate in post-encrypt to accept the already-
  computed matches array, avoiding a redundant findEncryptionTemplates
  call on the same HTML content.
- Remove crypto-js and xxhash-wasm from README credits.

* style(assets): soften decryptor button background and add form hover shadow

* build(workflow): add post-encrypt step to build script
2026-07-05 23:26:11 +08:00
github-actions[bot] bfef6c5359 chore(deps): bump @algolia/autocomplete-js from 1.19.8 to 1.19.9 (#804)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-07-01 21:02:07 +08:00
github-actions[bot] 069ddd1c84 chore(deps): bump algoliasearch from 5.53.0 to 5.55.1 (#803)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-07-01 20:57:51 +08:00
github-actions[bot] daa075340e chore(deps): bump @fortawesome/fontawesome-free from 7.2.0 to 7.3.0 (#802)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-07-01 20:57:31 +08:00
github-actions[bot] 743ecd20d0 chore(deps): bump simple-icons from 16.23.0 to 16.24.1 (#800)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-07-01 20:57:12 +08:00
github-actions[bot] 76530ceb16 chore(deps): bump mapbox-gl from 3.24.0 to 3.25.0 (#801)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-07-01 20:56:44 +08:00
github-actions[bot] 5ee8272b57 chore(deps): bump twikoo from 1.7.11 to 1.7.13 (#799)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-07-01 20:56:20 +08:00
Cell a696f3b1bd refactor(search): refactor search module and upgrade autocomplete library (#787) 2026-06-17 01:45:50 +08:00
Cell[bot] 47ebabd677 chore(deps): bump simple-icons from 16.22.0 to 16.23.0 (#783) 2026-06-11 17:03:42 +08:00
Cell[bot] 43dd1c72d9 chore(deps): bump @waline/client from 3.15.0 to 3.15.2 (#782) 2026-06-11 17:02:51 +08:00
Cell c057a0d578 chore(deps): upgrade fuse.js from v6.6.2 to v7.4.2
- Update CDN paths to dist/fuse.cjs in jsdelivr.yml and unpkg.yml
- Replace local assets/lib/fuse/fuse.min.js with fuse.js (from dist/fuse.cjs)
- Update librarybot.yml version to 7.4.2
- Update Hugo template fallback path to lib/fuse/fuse.js

close #778
2026-06-11 15:59:45 +08:00
Cell 9ed063f32d chore(deps): upgrade algoliasearch from v4 to v5 lite client
- Update CDN paths to dist/lite/builds/browser.umd.js in jsdelivr.yml and unpkg.yml
- Replace local assets/lib/algoliasearch/algoliasearch-lite.umd.min.js with browser.umd.js
- Update librarybot.yml sync source to dist/lite/builds/browser.umd.js
- Update Hugo template fallback path to lib/algoliasearch/browser.umd.js
- Rewrite search.ts algolia integration to use window['algoliasearch/lite'].liteClient (v5 API, removes initIndex compat)
- Update window type declaration in ui.ts to match v5 UMD global
2026-06-11 11:42:37 +08:00
github-actions[bot] 53620404e4 chore(deps): bump simple-icons from 16.21.0 to 16.22.0 (#780) 2026-06-11 11:23:35 +08:00
github-actions[bot] f7ec3e374d chore(deps): bump @waline/client from 3.13.0 to 3.15.0 (#779) 2026-06-11 11:12:15 +08:00
github-actions[bot] 5862699d46 chore(deps): bump twikoo from 1.7.10 to 1.7.11 (#777) 2026-06-11 11:11:31 +08:00
github-actions[bot] 031691a1e4 chore(deps): bump algoliasearch from 5.52.1 to 5.53.0 (#776) 2026-06-11 10:41:05 +08:00
github-actions[bot] 038f602bc5 chore(deps): bump twikoo from 1.7.9 to 1.7.10 (#771) 2026-05-28 12:51:56 +08:00
github-actions[bot] 7cab906676 chore(deps): bump echarts from 6.0.0 to 6.1.0 (#770) 2026-05-28 12:51:24 +08:00
github-actions[bot] 0c30f4c57d chore(deps): bump simple-icons from 16.19.0 to 16.21.0 (#769) 2026-05-28 12:50:42 +08:00
github-actions[bot] f78e5b9e8f chore(deps): bump katex from 0.16.47 to 0.17.0 (#768) 2026-05-28 12:50:09 +08:00
github-actions[bot] aa3b591846 chore(deps): bump mapbox-gl from 3.23.1 to 3.24.0 (#767) 2026-05-28 12:49:02 +08:00
github-actions[bot] a9b380cada chore(deps): bump simple-icons from 9.19.0 to 16.19.0 (#765)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-05-17 15:02:16 +08:00
github-actions[bot] f764563358 chore(deps): bump @fortawesome/fontawesome-free from 7.1.0 to 7.2.0 (#764)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-05-17 14:58:09 +08:00
github-actions[bot] a7503c446c chore(deps): bump sharer.js from 0.5.1 to 0.5.4 (#763)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-05-17 14:51:53 +08:00
github-actions[bot] 76de476b41 chore(deps): bump gitalk from 1.7.2 to 1.8.0 (#762)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-05-17 14:50:45 +08:00
github-actions[bot] 91d483a808 chore(deps): bump typeit from 8.8.4 to 8.8.7 (#761)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-05-17 14:48:39 +08:00
github-actions[bot] cd7b1e70b8 chore(deps): bump xxhash-wasm from 1.0.2 to 1.1.0 (#760)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-05-17 14:41:16 +08:00
github-actions[bot] 819051eebf chore(deps): bump mapbox-gl from 2.10.0 to 3.23.1 (#759)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-05-17 14:38:03 +08:00
Cell ebcf22d2bc chore(deps): update pangu.js references and configuration 2026-05-17 14:27:17 +08:00
github-actions[bot] ed8ec5c2c8 chore(deps): bump pangu from 4.0.7 to 7.2.1 (#758)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-05-17 14:00:03 +08:00
github-actions[bot] caf2b08013 chore(deps): bump meting from 2.0.1 to 2.0.2 (#757)
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
2026-05-17 13:58:46 +08:00