-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathastro.config.mjs
77 lines (76 loc) · 1.89 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
// @ts-check
import { rehypeHeadingIds } from '@astrojs/markdown-remark';
import preact from '@astrojs/preact';
import starlight from '@astrojs/starlight';
import { defineConfig } from 'astro/config';
import { remarkDefinitionList, defListHastHandlers } from 'remark-definition-list';
import rehypeAutolinkHeadings from 'rehype-autolink-headings';
import rehypeWidont from 'rehype-widont';
import starlightLinksValidator from 'starlight-links-validator';
// https://astro.build/config
export default defineConfig({
integrations: [
preact(),
starlight({
title: 'xivapi',
favicon: '/favicon.ico',
logo: {
light: './src/assets/logo-light.png',
dark: './src/assets/logo-dark.png',
replacesTitle: true,
},
social: {
discord: 'https://discord.gg/MFFVHWC',
github: 'https://github.com/xivapi',
},
sidebar: [
'docs/welcome',
{
label: 'Guides',
autogenerate: { directory: 'docs/guides' },
},
'docs/software',
'docs/migrate',
{
label: 'Search Playground',
link: '/play/',
},
{
label: 'API Reference',
link: '/api/docs',
attrs: { target: '_blank' },
}
],
components: {
ContentPanel: './src/components/overrides/ContentPanel.astro',
Hero: './src/components/overrides/Hero.astro',
MarkdownContent: './src/components/overrides/MarkdownContent.astro',
},
customCss: [
'./src/styles/headings.css',
'./src/styles/icons.css',
'./src/styles/theme.css',
],
plugins: [starlightLinksValidator({
exclude: ['/api/**', '/docs/guides/']
})],
}),
],
redirects: {
'/docs/guides/': {
status: 302,
destination: '/docs/guides/concepts/'
}
},
markdown: {
remarkPlugins: [remarkDefinitionList],
rehypePlugins: [
rehypeHeadingIds,
[rehypeAutolinkHeadings, { behavior: 'wrap' }],
rehypeWidont
],
remarkRehype: {
handlers: { ...defListHastHandlers },
},
},
});