-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathastro.config.mjs
More file actions
72 lines (68 loc) · 1.56 KB
/
astro.config.mjs
File metadata and controls
72 lines (68 loc) · 1.56 KB
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
// @ts-check
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
/**
* @param {string} prefix
* @param {string[]} items
*/
const createItem = (prefix, items, label = prefix) => ({
label,
items: items.map((item) => ({
label: item,
slug: prefix.toLowerCase() + '/' + item.toLowerCase().replaceAll(' ', '-'),
})),
});
const PAGES = [
{
name: 'guides',
label: 'Guides',
items: ['Intro', 'Libraries'],
},
{
name: 'concurrency',
label: 'Concurrency',
items: ['References', 'Yield', 'Semaphore', 'Signal', 'Comparisons'],
},
{
name: 'di',
label: 'Dependency Injection',
items: ['References', 'Using services'],
}
];
// https://astro.build/config
export default defineConfig({
redirects: Object.fromEntries(
PAGES.map((page) => ['/' + page.name, '/' + page.name + '/references']),
),
prefetch: {
prefetchAll: true,
defaultStrategy: 'viewport',
},
integrations: [
starlight({
title: 'r-u',
editLink: {
baseUrl: 'https://github.com/re-utils/docs/edit/main',
},
social: [
{
icon: 'github',
label: 'GitHub',
href: '//github.com/re-utils',
},
{
icon: 'discord',
label: 'Discord',
href: '//discord.gg/za6S2GbK24',
},
],
sidebar: PAGES.map((page) =>
createItem(page.name, page.items, page.label),
),
expressiveCode: {
themes: ['catppuccin-mocha'],
},
customCss: ['./src/styles/globals.css'],
}),
],
});