feat: add sitemap generator to Blog menu

Add a "Generate Sitemap" function to the Blog menu that generates a
standard XML sitemap in the project's html/ folder. The sitemap includes
entries for all published posts, archive pages (year, month, day),
category pages, and tag pages using the preview server URL structure.
Runs as a background task with progress tracking via the task manager.

https://claude.ai/code/session_01PdJyxeeNGf4Bkxvq86GVaZ
This commit is contained in:
Claude
2026-02-18 20:17:05 +00:00
parent 8f578e865e
commit a0a7f49135
6 changed files with 224 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ export type AppMenuAction =
| 'rebuildDatabase'
| 'reindexText'
| 'metadataDiff'
| 'generateSitemap'
| 'about'
| 'viewOnGitHub'
| 'reportIssue';
@@ -85,6 +86,7 @@ export const APP_MENU_GROUPS: AppMenuGroupDefinition[] = [
{ label: 'Rebuild Database from Files', action: 'rebuildDatabase' },
{ label: 'Reindex Search Text', action: 'reindexText' },
{ label: 'Metadata Diff Tool', action: 'metadataDiff' },
{ label: 'Generate Sitemap', action: 'generateSitemap' },
],
},
{
@@ -113,6 +115,7 @@ export const APP_MENU_ACTION_EVENT_MAP: Partial<Record<AppMenuAction, string>> =
rebuildDatabase: 'menu:rebuildDatabase',
reindexText: 'menu:reindexText',
metadataDiff: 'menu:metadataDiff',
generateSitemap: 'menu:generateSitemap',
about: 'menu:about',
};