GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — aicodingstack.io/src/app/sitemap.ts at main · aicodingstack/aicodingstack.io

Expand file tree

/

sitemap.ts

Copy path
More file actions
More file actions

Latest commit

 

History

History
History
124 lines (107 loc) · 4.02 KB
/

sitemap.ts

Copy path

File metadata and controls

124 lines (107 loc) · 4.02 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import type { MetadataRoute } from 'next'
import { locales } from '@/i18n/config'
import {
clisData,
desktopsData,
extensionsData,
idesData,
modelsData,
providersData,
vendorsData,
} from '@/lib/generated'
import { articles } from '@/lib/generated/articles'
import { docSections } from '@/lib/generated/docs'
import { METADATA_CATEGORIES, SITE_CONFIG } from '@/lib/metadata/config'
import { getCategoryRoutePath } from '@/lib/metadata/helpers'
type ManifestItem = {
id: string
[key: string]: unknown
}
function getLocalizedUrl(baseUrl: string, path: string, locale: string): string {
const localizedPath = path === '/' ? '' : path
if (locale === 'en') {
return `${baseUrl}${localizedPath}`
}
return `${baseUrl}/${locale}${localizedPath}`
}
function generateLocalizedPages(
baseUrl: string,
path: string,
options: Pick<MetadataRoute.Sitemap[0], 'lastModified'> = {}
): MetadataRoute.Sitemap {
return locales.map(locale => ({
url: getLocalizedUrl(baseUrl, path, locale),
...options,
}))
}
export default function sitemap(): MetadataRoute.Sitemap {
const baseUrl = SITE_CONFIG.url
const categoryPaths = METADATA_CATEGORIES.map(category => `/${getCategoryRoutePath(category)}`)
// Static pages - generate for all locales
const staticPaths = [
'/',
...categoryPaths,
'/ai-coding-stack',
'/curated-collections',
'/manifesto',
'/ai-coding-landscape',
'/open-source-rank',
'/model-intelligence-index',
'/model-price-intelligence-index',
'/ides/comparison',
'/clis/comparison',
'/desktops/comparison',
'/extensions/comparison',
'/models/compare',
]
const staticPages: MetadataRoute.Sitemap = staticPaths.flatMap(path =>
generateLocalizedPages(baseUrl, path)
)
// Article pages - generate for all locales
const articlePages: MetadataRoute.Sitemap = articles.flatMap(article =>
generateLocalizedPages(baseUrl, `/articles/${article.slug}`, {
lastModified: new Date(article.date),
})
)
// Doc pages - generate for all locales
const docPages: MetadataRoute.Sitemap = docSections.flatMap(doc =>
generateLocalizedPages(baseUrl, `/docs/${doc.slug}`)
)
// IDE detail pages - generate for all locales
const ideDetailPages: MetadataRoute.Sitemap = (idesData as unknown as ManifestItem[])
.filter(ide => ide.id)
.flatMap(ide => generateLocalizedPages(baseUrl, `/ides/${ide.id}`))
// CLI detail pages - generate for all locales
const cliDetailPages: MetadataRoute.Sitemap = (clisData as unknown as ManifestItem[])
.filter(cli => cli.id)
.flatMap(cli => generateLocalizedPages(baseUrl, `/clis/${cli.id}`))
const desktopDetailPages: MetadataRoute.Sitemap = (desktopsData as unknown as ManifestItem[])
.filter(desktop => desktop.id)
.flatMap(desktop => generateLocalizedPages(baseUrl, `/desktops/${desktop.id}`))
// Model detail pages - generate for all locales
const modelDetailPages: MetadataRoute.Sitemap = (modelsData as unknown as ManifestItem[])
.filter(model => model.id)
.flatMap(model => generateLocalizedPages(baseUrl, `/models/${model.id}`))
// Provider detail pages - generate for all locales
const providerDetailPages: MetadataRoute.Sitemap = (providersData as unknown as ManifestItem[])
.filter(provider => provider.id)
.flatMap(provider => generateLocalizedPages(baseUrl, `/model-providers/${provider.id}`))
const extensionDetailPages: MetadataRoute.Sitemap = (extensionsData as unknown as ManifestItem[])
.filter(extension => extension.id)
.flatMap(extension => generateLocalizedPages(baseUrl, `/extensions/${extension.id}`))
const vendorDetailPages: MetadataRoute.Sitemap = (vendorsData as unknown as ManifestItem[])
.filter(vendor => vendor.id)
.flatMap(vendor => generateLocalizedPages(baseUrl, `/vendors/${vendor.id}`))
return [
...staticPages,
...articlePages,
...docPages,
...ideDetailPages,
...cliDetailPages,
...desktopDetailPages,
...modelDetailPages,
...providerDetailPages,
...extensionDetailPages,
...vendorDetailPages,
]
}
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.