Commit graph

13 commits

Author SHA1 Message Date
saberzero1
3c3d104335
chore(deps): update @quartz-community/utils 2026-06-03 15:30:29 +02:00
saberzero1
4505adba9c
build: bundle dependencies and ship pre-built dist 2026-05-26 22:20:24 +02:00
saberzero1
a165e287ea
build: bundle dependencies and ship pre-built dist 2026-04-27 21:38:20 +02:00
saberzero1
f4ce0c9b55
deps: update @quartz-community/utils 2026-04-22 18:19:15 +02:00
saberzero1
92538d7346
feat: add hideTagPages and hideFolderPages options
Both default to false so existing behavior is preserved. When enabled,
they exclude generated tag index pages (slugs under the 'tags/' prefix)
and folder index pages (slugs matching Quartz's folder-path convention,
delegated to isFolderPath from @quartz-community/utils) from the recent
notes list. The new filters run before any user-supplied opts.filter,
mirroring the existing unlisted filter.

Exports isTagPageSlug and isFolderPageSlug helpers so they can be
composed into custom filter functions, with unit tests for both.
2026-04-16 19:13:16 +02:00
saberzero1
29815e206b
refactor: reuse upstream types instead of redeclaring them locally
Import QuartzComponentConstructor and GlobalConfiguration from
@quartz-community/types rather than redeclaring them. Simplify
RecentNotesPluginData to an intersection with Record<string, unknown>
since the redundant fields (slug, filePath, dates, frontmatter) are
already declared on QuartzPluginData.

The plugin genuinely narrows GlobalConfiguration (it assumes locale
and defaultDateType are resolved), so a ResolvedGlobalConfiguration
type alias is kept for that assertion. It is a type intersection
(not an interface extension) to avoid the DTS emission issue that
affected PageList.tsx historically.
2026-04-16 15:22:53 +02:00
saberzero1
9bafc8cacf
deps: update @quartz-community/types and @quartz-community/utils 2026-04-16 13:29:47 +02:00
saberzero1
2e9753c996
feat: exclude unlisted pages from recent notes
Respect the file.data.unlisted convention. Pages marked unlisted are
filtered out of the recent notes list before any user-supplied opts.filter
runs, so they cannot be accidentally surfaced by a permissive custom
filter.

Extracts the filter into a named filterListedPages() helper and exports
it for reuse and testing. Adds 3 unit tests covering unlisted exclusion,
passthrough when nothing is unlisted, and empty-input handling.
2026-04-11 13:50:16 +02:00
saberzero1
43da4722c5
fix: bundle @quartz-community/utils to avoid runtime subpath resolution failures 2026-04-04 11:36:41 +02:00
saberzero1
25455b5ef9
fix: guard against undefined getDate in RecentNotes 2026-04-03 16:01:38 +02:00
saberzero1
87dc109cbb
build: regenerate dist artifacts for shared sort/date utilities 2026-04-03 15:44:35 +02:00
saberzero1
4ec7479cdb
refactor: use shared formatDate and SortFn from community packages 2026-04-03 15:08:05 +02:00
saberzero1
730f91b271
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:00:53 +01:00