Skip to content

Commit 8afe1e9

Browse files
committed
Add sitemap
1 parent a8fd784 commit 8afe1e9

4 files changed

Lines changed: 48 additions & 3 deletions

File tree

pages/api/sitemap.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import { NextApiRequest, NextApiResponse } from "next"
2+
import { config } from "../../utils/config"
3+
import { getArtifacts, getCharacters, getEnemies, getGuides, getMaterials, getWeapons, } from "../../utils/data-cache"
4+
import { urlify } from "../../utils/utils"
5+
6+
export default async function api(req: NextApiRequest, res: NextApiResponse) {
7+
if (req.method !== "GET") return res.redirect("/")
8+
9+
const urls: string[] = [`${config.appUri}`]
10+
11+
urls.push(`${config.appUri}/artifacts`)
12+
for (const arti of Object.values((await getArtifacts()) ?? {}))
13+
urls.push(`${config.appUri}/artifacts/${urlify(arti.name, false)}`)
14+
15+
urls.push(`${config.appUri}/characters`)
16+
for (const char of Object.values((await getCharacters()) ?? {}))
17+
urls.push(`${config.appUri}/characters/${urlify(char.name, false)}`)
18+
19+
urls.push(`${config.appUri}/guides`)
20+
for (const category of (await getGuides()) ?? []) {
21+
urls.push(`${config.appUri}/guides/${urlify(category.name, false)}`)
22+
for (const page of category.pages)
23+
urls.push(`${config.appUri}/guides/${urlify(category.name, false)}/${urlify(page.name, true)}`)
24+
}
25+
26+
urls.push(`${config.appUri}/enemies`)
27+
for (const enemy of Object.values((await getEnemies()) ?? {}))
28+
urls.push(`${config.appUri}/enemies/${urlify(enemy.name, false)}`)
29+
30+
urls.push(`${config.appUri}/materials`)
31+
for (const material of Object.values((await getMaterials()) ?? {}))
32+
urls.push(`${config.appUri}/materials/${urlify(material.name, false)}`)
33+
34+
urls.push(`${config.appUri}/materials`)
35+
for (const material of Object.values((await getMaterials()) ?? {}))
36+
urls.push(`${config.appUri}/materials/${urlify(material.name, false)}`)
37+
38+
urls.push(`${config.appUri}/weapons`)
39+
for (const weapon of Object.values((await getWeapons()) ?? {}))
40+
urls.push(`${config.appUri}/weapons/${urlify(weapon.name, false)}`)
41+
42+
res.setHeader("Cache-Control", "public, max-age: 57600, s-max-age: 604800")
43+
res.setHeader("Content-Type", "text/plain; charset=UTF-8")
44+
res.send(urls.join("\n"))
45+
}

pages/artifacts/[artifact].tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ export async function getStaticProps(context: GetStaticPropsContext): Promise<Ge
9898
const artifactName = context.params?.artifact
9999
const data = await getArtifacts()
100100

101-
const artifact = Object.values(data ?? {}).find(g => urlify(g.name, false) == artifactName)
101+
const artifact = Object.values(data ?? {}).find(a => urlify(a.name, false) == artifactName)
102102
if (!data || !artifact) {
103103
return {
104104
notFound: true,

pages/characters/[char].tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ export async function getStaticProps(context: GetStaticPropsContext): Promise<Ge
436436
const charName = context.params?.char
437437
const data = await getCharacters()
438438

439-
const char = Object.values(data ?? {}).find(g => urlify(g.name, false) == charName)
439+
const char = Object.values(data ?? {}).find(c => urlify(c.name, false) == charName)
440440
if (!data || !char) {
441441
return {
442442
notFound: true,

pages/materials/[material].tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ export async function getStaticProps(context: GetStaticPropsContext): Promise<Ge
140140
const matName = context.params?.material
141141
const data = await getMaterials()
142142

143-
const mat = Object.values(data ?? {}).find(g => urlify(g.name, false) == matName)
143+
const mat = Object.values(data ?? {}).find(m => urlify(m.name, false) == matName)
144144
if (!data || !mat) {
145145
return {
146146
notFound: true,

0 commit comments

Comments
 (0)