diff --git a/src/content/archives.md b/src/content/archives.md
deleted file mode 100644
index c2a6133..0000000
--- a/src/content/archives.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Archives
-
-Archives live here
diff --git a/src/content/extra/archives.md b/src/content/extra/archives.md
new file mode 100644
index 0000000..1746531
--- /dev/null
+++ b/src/content/extra/archives.md
@@ -0,0 +1,6 @@
+---
+title: Archives Custom Title
+---
+# Archives
+
+Archives live here
diff --git a/src/content/metadata.json b/src/content/metadata.json
index 3d9974a..64373f9 100644
--- a/src/content/metadata.json
+++ b/src/content/metadata.json
@@ -8,5 +8,8 @@
"github": "https://github.com",
"email": "email:cirno@gensokyo.jp",
"orcid": "https://orcid.org/cirno"
- }
+ },
+ "extra": [
+ { "route": "/archives", "name": "Archives" }
+ ]
}
diff --git a/src/lib/sitemap.ts b/src/lib/sitemap.ts
index 3b312b9..5dfcf30 100644
--- a/src/lib/sitemap.ts
+++ b/src/lib/sitemap.ts
@@ -1,7 +1,8 @@
+import siteMetadata from '$content/metadata.json';
+
export const routes: { route: string, name: string, disabled?: boolean }[] = [
{ route: "/", name: "Home" },
{ route: "/post", name: "Blog" },
{ route: "/tag", name: "Tags" },
{ route: "/gallery", name: "Gallery", disabled: true },
- { route: "/archives", name: "Archives" },
-];
+].concat(siteMetadata?.extra || []);
diff --git a/src/routes/archives/+page.svelte b/src/routes/[slug]/+page.svelte
similarity index 62%
rename from src/routes/archives/+page.svelte
rename to src/routes/[slug]/+page.svelte
index 8b15211..d175188 100644
--- a/src/routes/archives/+page.svelte
+++ b/src/routes/[slug]/+page.svelte
@@ -1,12 +1,14 @@