Commit graph

73 commits

Author SHA1 Message Date
saberzero1
24fa5d9477
i18n: add translations for 30 locales from Quartz v4 2026-04-04 01:35:48 +02:00
saberzero1
2207e2d57e
i18n: add translations for 30 locales from Quartz v4 2026-04-04 01:35:45 +02:00
saberzero1
81863399cd
i18n: add translations for 30 locales from Quartz v4 2026-04-04 01:35:42 +02:00
saberzero1
dfac501077
i18n: add translations for 30 locales from Quartz v4 2026-04-04 01:35:39 +02:00
saberzero1
3c51a807e3
i18n: add translations for 30 locales from Quartz v4 2026-04-04 01:35:36 +02:00
saberzero1
915e17c55a
i18n: add translations for 30 locales from Quartz v4 2026-04-04 01:35:34 +02:00
saberzero1
de0cabf85e
i18n: add translations for 30 locales from Quartz v4 2026-04-04 01:35:30 +02:00
saberzero1
0d23699969
i18n: add translations for 30 locales from Quartz v4 2026-04-04 01:35:27 +02:00
saberzero1
1d503d49d9
i18n: add translations for 30 locales from Quartz v4 2026-04-04 01:35:24 +02:00
saberzero1
905d179132
i18n: add translations for 30 locales from Quartz v4 2026-04-04 01:35:21 +02:00
saberzero1
6d52c3ef22
i18n: add translations for 30 locales from Quartz v4 2026-04-04 01:35:15 +02:00
saberzero1
fc5b228c98
i18n: add translations for 30 locales from Quartz v4 2026-04-04 01:35:11 +02:00
saberzero1
e76ad13509
refactor: use shared classNames from @quartz-community/utils 2026-04-03 19:17:34 +02:00
saberzero1
db1c8b9368
deps: update @quartz-community/types and @quartz-community/utils 2026-04-03 16:20:45 +02:00
saberzero1
fa489e37d6
fix: boost sidebar z-index to 9999 when search opens to ensure modal is above all content 2026-03-30 00:36:49 +02:00
saberzero1
14b1e9e7e4
fix: resolve callout z-index overlay and scroll-to-term across element boundaries
- Set sidebar z-index to auto when search opens to break stacking context
  that trapped the fixed search modal behind page content
- Rewrite scroll-to-search-term to search textContent of block-level
  elements and walk text nodes to build cross-element Range, handling
  terms that span multiple inline elements
2026-03-30 00:32:19 +02:00
saberzero1
871c7aafb9
feat: scroll to search term on destination page after navigation
Store search term in sessionStorage when clicking a result, then on
page load find the first matching text, highlight it with a fade-out
animation, and scroll it into view.
2026-03-30 00:22:01 +02:00
saberzero1
93c2c43b21
fix: use direct scrollTop on preview container instead of scrollIntoView 2026-03-30 00:17:55 +02:00
saberzero1
8ee304a73a
fix: defer scroll-to-highlight with requestAnimationFrame for proper layout timing 2026-03-30 00:11:04 +02:00
saberzero1
20db57310a
fix: hide card description on desktop with preview, scroll focused results into view 2026-03-30 00:01:13 +02:00
saberzero1
4cfc4b2110
feat: overhaul search with multi-tag support, autocomplete, and quality fixes
- Fix highlight() trim bug: slice tokenized text array, correct window math
- Fix memory leak: use event delegation instead of per-element listeners
- Fix XSS: escape content with escapeHTML before innerHTML insertion
- Add multi-tag search (#tag1 #tag2 query) with AND filtering
- Add tag autocomplete dropdown with keyboard navigation
- Add inline ghost text for selected tag suggestion
- Add configurable result ordering via fieldPriority option
- Add scroll-to-highlight in preview panel
- Add ARIA attributes (listbox, option, aria-expanded, aria-label)
- Add error handling in fetchContent (try/catch, !res.ok check)
- Add 150ms debounce on preview updates
- Add index initialization guard for tag dropdown
- Use parallel index filling (Promise.all)
- Remove debug console.log statements
- Restore button refocus after hiding search
- Use CSS custom property for z-index management
- Add max-height constraint for mobile results
- Update all 6 locales with ellipsis placeholder and tag search strings
- Export SearchField type
2026-03-29 15:44:17 +02:00
saberzero1
b40d509e85
fix: move tsconfig from dts object to top-level option
The DtsConfig type in tsup does not have a tsconfig property.
Use top-level tsconfig option instead of dts: { tsconfig: ... }.
2026-03-22 13:25:12 +01:00
saberzero1
9220c76dd5
fix: use separate tsconfig for DTS build to avoid vitest dependency 2026-03-22 13:12:01 +01:00
saberzero1
41c50effd3
chore: update @quartz-community/utils to 8d2e14b 2026-03-22 12:38:26 +01:00
saberzero1
e335e9b103
deps: update @quartz-community/utils to latest 2026-03-22 12:05:22 +01:00
saberzero1
efe696e1d5
fix: resolve links correctly on subdirectory deployments
Use resolveBasePath() from @quartz-community/utils/path to prepend the
base path when navigating via search results. Fixes links resolving to
the domain root instead of the subdirectory.
2026-03-18 11:50:34 +01:00
saberzero1
edb7dbb601
chore: set tsup platform to node
Plugins run server-side during the Quartz build step, not in the
browser. Setting platform: 'node' tells esbuild to treat Node builtins
as available externals and avoids CJS-in-ESM require() failures for
any bundled dependencies that use Node APIs.
2026-03-17 20:41:14 +01:00
saberzero1
e7ffc62188
ci: add dist externals verification step 2026-03-17 19:41:48 +01:00
saberzero1
a00dd1f5a7
fix: bundle non-shared deps into dist to prevent runtime resolution failures
Move non-allowlisted packages from dependencies/peerDependencies to
devDependencies so tsup bundles them into dist/ instead of leaving
them as external imports that may not resolve at runtime.
2026-03-17 19:31:51 +01:00
saberzero1
d17eab96c5
fix: use fetchData global for path-prefixed deployments
- Update types/globals.d.ts with centralized type declarations
- Use fetchData global instead of hardcoded /static/contentIndex.json
- Revert @quartz-community/types from file:../types to github:quartz-community/types
- Add .prettierignore, update .eslintrc.json with triple-slash-reference override
- Remove duplicate scripts.d.ts/styles.d.ts
2026-03-16 18:54:25 +01:00
saberzero1
fe07e645cc
fix: add flexsearch and utils transitive deps to devDependencies for build
flexsearch is imported by the inline script and bundled by esbuild at
build time. github-slugger and hast-util-to-jsx-runtime are transitive
dependencies of @quartz-community/utils needed by the inline script
bundler. Without these as devDependencies, the tsup build fails to
resolve imports and only emits .d.ts files (no .js output).
2026-03-14 22:16:02 +01:00
saberzero1
5f2df462c9
chore: commit dist/ and remove prepare script
Pre-built output is now committed to the repository so that
Quartz can skip the build step during plugin installation.
The prepare script is removed to prevent redundant builds
when installing from npm/git.
2026-03-14 22:01:25 +01:00
saberzero1
4392652830
chore: move build tools to devDependencies, shared deps to peerDependencies
tsup and typescript are only needed at build time — move to devDependencies
so they can be pruned after build. Dependencies already available from the
host Quartz installation are moved to peerDependencies to avoid duplication.
2026-03-14 21:27:36 +01:00
saberzero1
e9c10e521b
feat: add render event listener for in-place DOM re-initialization 2026-03-12 19:45:41 +01:00
saberzero1
9248945d4e
deps: update @quartz-community/types and @quartz-community/utils 2026-03-09 03:03:56 +01:00
saberzero1
52403e5753
deps: update @quartz-community/types 2026-02-28 20:08:37 +01:00
saberzero1
1db52f8a13
fix: compile SCSS via sass instead of raw text to prevent lightningcss errors 2026-02-26 16:44:51 +01:00
saberzero1
7c2b9d663b
docs: update README for v5 unified config system 2026-02-25 16:07:11 +01:00
saberzero1
8849caefff
fix: move tsup and typescript to dependencies for git install compatibility 2026-02-23 01:10:22 +01:00
saberzero1
5d206baacb
chore: add quartz plugin manifest to package.json 2026-02-17 17:44:02 +01:00
saberzero1
9939f74a49
fix: standardize inline script transpilation in tsup config
Use stdin-based esbuild.build with proper TS transpilation, minification,
and ESM output format matching v5's proven inline-script-loader pattern.
2026-02-14 01:11:32 +01:00
saberzero1
ba87563aa6
chore: update @quartz-community/types to v0.2.1 2026-02-13 22:57:04 +01:00
saberzero1
af45aea98c
Update @quartz-community/types with PageType plugin types 2026-02-13 16:35:24 +01:00
saberzero1
a9ef59f74e
Update @quartz-community/types (tree as unknown) 2026-02-13 13:57:53 +01:00
saberzero1
d2f29f89b2
Update @quartz-community/types (remove index signatures) 2026-02-13 13:53:54 +01:00
saberzero1
cd5081e1d7
Update @quartz-community/types for flat GlobalConfiguration 2026-02-13 13:50:31 +01:00
saberzero1
b03b36f7f5
fix: use github: specifier for @quartz-community/types dependency
Replace file:../types with github:quartz-community/types so the
package resolves correctly when installed via the Quartz plugin
manager.
2026-02-13 13:27:49 +01:00
saberzero1
934927432b
Migrate types to use @quartz-community/types exports
Replace ambient quartz-compat.d.ts declarations with direct imports
from @quartz-community/types. Remove node_modules path from tsconfig
include array.
2026-02-13 13:18:29 +01:00
saberzero1
1d442cccd3
Fix: Bundle flexsearch into inline script
- Add flexsearch as direct dependency
- Remove external: ['flexsearch'] from esbuild config
- Flexsearch must be bundled for browser runtime
2026-02-10 00:10:56 +01:00
saberzero1
1d7a55c771
Update @quartz-community/types to 0.2.0 (Preact ComponentType) 2026-02-09 23:56:10 +01:00