mirror of
https://github.com/hugo-fixit/FixIt.git
synced 2026-08-24 15:28:57 +00:00
a96ba665ac
* 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
212 lines
5.2 KiB
YAML
212 lines
5.2 KiB
YAML
schemaVersion: 1
|
|
baseDir: assets/lib
|
|
libraries:
|
|
- npm: '@algolia/autocomplete-js'
|
|
version: 1.19.9
|
|
local:
|
|
items:
|
|
- from: dist/umd/index.production.js
|
|
to: autocomplete-js/index.production.js
|
|
- npm: algoliasearch
|
|
version: 5.55.1
|
|
local:
|
|
items:
|
|
- from: dist/lite/builds/browser.umd.js
|
|
to: algoliasearch/browser.umd.js
|
|
- npm: animate.css
|
|
version: 4.1.1
|
|
local:
|
|
items:
|
|
- from: animate.min.css
|
|
to: animate/animate.min.css
|
|
- npm: aplayer
|
|
version: 1.10.1
|
|
local:
|
|
items:
|
|
- from: dist/APlayer.min.css
|
|
to: aplayer/APlayer.min.css
|
|
- from: dist/APlayer.min.js
|
|
to: aplayer/APlayer.min.js
|
|
- npm: cell-tooltip
|
|
version: 0.3.1
|
|
local:
|
|
items:
|
|
- from: dist/cell-tooltip.umd.js
|
|
to: cell-tooltip/cell-tooltip.umd.js
|
|
- npm: cell-watermark
|
|
version: 1.0.4
|
|
local:
|
|
items:
|
|
- from: src/watermark.js
|
|
to: cell-watermark/watermark.js
|
|
- npm: cookieconsent
|
|
version: 3.1.1
|
|
local:
|
|
items:
|
|
- from: build/cookieconsent.min.css
|
|
to: cookieconsent/cookieconsent.min.css
|
|
- from: build/cookieconsent.min.js
|
|
to: cookieconsent/cookieconsent.min.js
|
|
- npm: echarts
|
|
version: 6.1.0
|
|
local:
|
|
items:
|
|
- from: dist/echarts.min.js
|
|
to: echarts/echarts.min.js
|
|
- npm: '@fortawesome/fontawesome-free'
|
|
version: 7.3.0
|
|
local:
|
|
items:
|
|
- from: css/all.min.css
|
|
to: fontawesome-free/all.min.css
|
|
- type: dir
|
|
from: webfonts
|
|
to: webfonts
|
|
baseDir: static/lib
|
|
clean: true
|
|
- npm: fuse.js
|
|
version: 7.4.2
|
|
local:
|
|
items:
|
|
- from: dist/fuse.mjs
|
|
to: fuse/fuse.mjs
|
|
- npm: gitalk
|
|
version: 1.8.0
|
|
local:
|
|
items:
|
|
- from: dist/gitalk.css
|
|
to: gitalk/gitalk.css
|
|
- from: dist/gitalk.min.js
|
|
to: gitalk/gitalk.min.js
|
|
- npm: instant.page
|
|
version: 5.2.0
|
|
local:
|
|
items:
|
|
- from: instantpage.min.js
|
|
to: instant.page/instantpage.min.js
|
|
- npm: json-viewer-element
|
|
version: 1.0.4
|
|
local:
|
|
items:
|
|
- from: dist/json-viewer-element.umd.js
|
|
to: json-viewer-element/json-viewer-element.umd.js
|
|
- npm: katex
|
|
version: 0.17.0
|
|
local:
|
|
items:
|
|
- from: dist/contrib/copy-tex.min.js
|
|
to: katex/copy-tex.min.js
|
|
- from: dist/katex.min.css
|
|
to: katex/katex.min.css
|
|
- type: dir
|
|
from: dist/fonts
|
|
to: katex/fonts
|
|
baseDir: static/lib
|
|
clean: true
|
|
- npm: lightgallery
|
|
version: 2.9.0
|
|
local:
|
|
items:
|
|
- from: css/lightgallery-bundle.min.css
|
|
to: lightgallery/css/lightgallery-bundle.min.css
|
|
- from: lightgallery.min.js
|
|
to: lightgallery/lightgallery.min.js
|
|
- from: plugins/thumbnail/lg-thumbnail.min.js
|
|
to: lightgallery/plugins/thumbnail/lg-thumbnail.min.js
|
|
- from: plugins/zoom/lg-zoom.min.js
|
|
to: lightgallery/lg-zoom.min.js
|
|
- type: dir
|
|
from: fonts
|
|
to: lightgallery/fonts
|
|
baseDir: static/lib
|
|
clean: true
|
|
- type: dir
|
|
from: images
|
|
to: lightgallery/images
|
|
baseDir: static/lib
|
|
clean: true
|
|
- npm: mapbox-gl
|
|
version: 3.25.0
|
|
local:
|
|
items:
|
|
- from: dist/mapbox-gl.css
|
|
to: mapbox-gl/mapbox-gl.css
|
|
- from: dist/mapbox-gl.js
|
|
to: mapbox-gl/mapbox-gl.js
|
|
- npm: meting
|
|
version: 2.0.2
|
|
local:
|
|
items:
|
|
- from: dist/Meting.min.js
|
|
to: meting/Meting.min.js
|
|
- npm: pace-js
|
|
version: 1.2.4
|
|
local:
|
|
items:
|
|
- from: pace.min.js
|
|
to: pace/pace.min.js
|
|
- npm: pangu
|
|
version: 7.2.1
|
|
local:
|
|
items:
|
|
- from: dist/browser/pangu.umd.js
|
|
to: pangu/pangu.umd.js
|
|
- npm: '@panzoom/panzoom'
|
|
version: 4.6.2
|
|
local:
|
|
items:
|
|
- from: dist/panzoom.min.js
|
|
to: panzoom/panzoom.min.js
|
|
- npm: sharer.js
|
|
version: 0.5.4
|
|
local:
|
|
items:
|
|
- from: sharer.min.js
|
|
to: sharer/sharer.min.js
|
|
- npm: simple-icons
|
|
version: 16.24.1
|
|
local:
|
|
items:
|
|
- type: dir
|
|
from: icons
|
|
to: simple-icons/icons
|
|
clean: true
|
|
- npm: '@github/tab-container-element'
|
|
version: 4.8.2
|
|
local:
|
|
items:
|
|
- from: dist/bundle.min.js
|
|
to: tab-container-element/bundle.min.js
|
|
- npm: twemoji
|
|
version: 14.0.2
|
|
local:
|
|
items:
|
|
- from: dist/twemoji.min.js
|
|
to: twemoji/twemoji.min.js
|
|
- npm: twikoo
|
|
version: 1.7.13
|
|
local:
|
|
items:
|
|
- from: dist/twikoo.all.min.js
|
|
to: twikoo/twikoo.all.min.js
|
|
- npm: typeit
|
|
version: 8.8.7
|
|
local:
|
|
items:
|
|
- from: dist/index.umd.js
|
|
to: typeit/index.umd.js
|
|
- npm: valine
|
|
version: 1.5.3
|
|
local:
|
|
items:
|
|
- from: dist/Valine.min.js
|
|
to: valine/Valine.min.js
|
|
- npm: '@waline/client'
|
|
version: 3.15.2
|
|
local:
|
|
items:
|
|
- from: dist/waline.css
|
|
to: waline/waline.css
|
|
- from: dist/waline.umd.js
|
|
to: waline/waline.umd.js
|