-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathastro.config.mjs
100 lines (94 loc) · 3.22 KB
/
astro.config.mjs
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
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
import fs from 'fs/promises';
import path from 'path';
import { fileURLToPath } from 'url';
const site = 'https://rosebud.dev';
// https://astro.build/config
export default defineConfig({
site,
integrations: [
starlight({
title: 'rosebud',
description: "rosebud's mods, and their documentation",
logo: {
src: './src/assets/rosebud.svg',
},
social: {
github: 'https://github.com/rosebudmods',
discord: 'https://discord.rosebud.dev/',
blueSky: 'https://bsky.app/profile/rosebud.dev',
instagram: 'https://instagram.com/rosebud.dev',
tiktok: 'https://tiktok.com/@rosebud.dev',
},
editLink:
process.env.NODE_ENV === 'development'
? {
baseUrl: `vscode://file/${path.dirname(fileURLToPath(import.meta.url))}`,
}
: undefined,
customCss: [
'./src/style/index.scss',
'@fontsource-variable/inter/opsz.css',
'@fontsource-variable/fira-code/wght.css',
'@fontsource-variable/manrope/wght.css',
],
sidebar: [
{ label: 'overview', slug: 'overview' },
{
label: 'rainglow',
autogenerate: { directory: 'rainglow' },
},
{
label: 'bodacious berries',
autogenerate: { directory: 'berries' },
},
{
label: 'ramel',
autogenerate: { directory: 'ramel' },
},
{
label: 'skin overrides',
autogenerate: { directory: 'skin-overrides' },
},
{
label: 'styled renaming',
autogenerate: { directory: 'styled-renaming' },
},
{
label: 'shut up realms',
autogenerate: { directory: 'shut-up-realms' },
},
],
}),
{
name: 'no-ai-scraping-pretty-please-with-a-cherry-on-top',
hooks: {
'astro:build:done': async ({ dir }) => {
const aiBotsSource =
'https://raw.githubusercontent.com/ai-robots-txt/ai.robots.txt/refs/heads/main/robots.txt';
const aiBots = await (await fetch(aiBotsSource)).text();
const robotsTxt = `User-agent: *
Allow: /
# fun how we have to do this now
${aiBots.trim()}
Sitemap: ${site}/sitemap-index.xml`;
await fs.writeFile(
new URL('robots.txt', dir),
robotsTxt,
'utf-8',
);
},
},
},
],
vite: {
css: {
preprocessorOptions: {
scss: {
api: 'modern-compiler',
},
},
},
},
});