Files
waypoint/src/settings.ts
T
olivier abf4d6ccf7 feat: configurable filter tags for recent files
New 'Filter tags' setting in Recent Files tab. Enter tag names one per line
to pin specific tags as filter pills. Leave empty to auto-detect from
frontmatter 'type' property (existing behavior).
2026-06-22 10:15:54 -04:00

94 lines
2.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// ── Waypoint Settings ──
export interface PeriodNoteSettings {
folder: string;
templateFile: string;
nameFormat: string;
typeProperty: string;
}
export interface CalendarSettings {
firstDayOfWeek: number; // 0=Sunday, 1=Monday
showNoteIndicators: boolean;
}
export interface RecentFilesSettings {
maxItems: number;
updateOn: 'file-open' | 'file-edit';
omittedPaths: string[];
omittedTags: string[];
filterTags: string[]; // tags to show as filter pills (empty = auto-detect from frontmatter)
}
export interface DisplaySettings {
rowSize: number; // px, base height of bookmark items (2040)
rowSpacing: number; // px, gap between items (012)
indentSize: number; // px, indent per depth level (832)
fontSize: number; // px, font size for bookmark labels (1018)
iconSize: number; // px, icon size (1224)
calendarCellSize: number; // px, calendar day cell height (2048)
}
export interface WaypointSettings {
calendar: CalendarSettings;
daily: PeriodNoteSettings;
weekly: PeriodNoteSettings;
monthly: PeriodNoteSettings;
quarterly: PeriodNoteSettings;
yearly: PeriodNoteSettings;
recentFiles: RecentFilesSettings;
display: DisplaySettings;
}
export const DEFAULT_SETTINGS: WaypointSettings = {
calendar: {
firstDayOfWeek: 1, // Monday
showNoteIndicators: true,
},
daily: {
folder: 'periodic/daily',
templateFile: 'Templates/Daily note',
nameFormat: 'YYYY-MM-DD',
typeProperty: 'daily-note',
},
weekly: {
folder: 'periodic/weekly',
templateFile: 'Templates/Weekly note',
nameFormat: 'GGGG-[W]WW',
typeProperty: 'weekly-note',
},
monthly: {
folder: 'periodic/monthly',
templateFile: 'Templates/Monthly note',
nameFormat: 'YYYY-MM',
typeProperty: 'monthly-note',
},
quarterly: {
folder: 'periodic/quarterly',
templateFile: 'Templates/Quarterly note',
nameFormat: 'YYYY-[Q]Q',
typeProperty: 'quarterly-note',
},
yearly: {
folder: 'periodic/yearly',
templateFile: 'Templates/Yearly note',
nameFormat: 'YYYY',
typeProperty: 'yearly-note',
},
recentFiles: {
maxItems: 50,
updateOn: 'file-open',
omittedPaths: [],
omittedTags: [],
filterTags: [],
},
display: {
rowSize: 26,
rowSpacing: 2,
indentSize: 16,
fontSize: 13,
iconSize: 16,
calendarCellSize: 32,
},
};