recent-notes/src/util/date.ts
saberzero1 77f65dd8da
feat(plugins): recent-notes as community plugin
Implement recent notes component with configurable sorting, date
formatting, and tag filtering. Uses direct imports from
@quartz-community/types instead of ambient declaration files.
2026-02-13 13:19:00 +01:00

26 lines
656 B
TypeScript

interface GlobalConfiguration {
defaultDateType: string;
[key: string]: unknown;
}
interface QuartzPluginData {
dates?: Record<string, Date>;
[key: string]: unknown;
}
export function getDate(cfg: GlobalConfiguration, data: QuartzPluginData): Date | undefined {
if (!cfg.defaultDateType) {
throw new Error(
"Field 'defaultDateType' was not set in the configuration object of quartz.config.ts.",
);
}
return data.dates?.[cfg.defaultDateType];
}
export function formatDate(d: Date, locale: string = "en-US"): string {
return d.toLocaleDateString(locale, {
year: "numeric",
month: "short",
day: "2-digit",
});
}