-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathastro.config.mjs
More file actions
103 lines (95 loc) · 2.24 KB
/
Copy pathastro.config.mjs
File metadata and controls
103 lines (95 loc) · 2.24 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
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
// @ts-check
import solidJs from '@astrojs/solid-js'
import starlight from '@astrojs/starlight'
import tailwindcss from '@tailwindcss/vite'
import { defineConfig, envField } from 'astro/config'
import { sidebar } from './src/sidebar.config'
const site = process.env.SITE_URL
/** @type {import('@astrojs/starlight/types').StarlightUserConfig['head']} */
const analyticsHead =
import.meta.env.PROD && process.env.UMAMI_WEBSITE_ID
? [
{
tag: 'script',
attrs: {
src: 'https://cloud.umami.is/script.js',
'data-website-id': process.env.UMAMI_WEBSITE_ID,
defer: true,
},
},
]
: []
// https://astro.build/config
export default defineConfig({
site,
env: {
schema: {
UMAMI_WEBSITE_ID: envField.string({
context: 'client',
access: 'public',
optional: true,
}),
},
},
vite: { plugins: [tailwindcss()] },
experimental: {
rustCompiler: true,
queuedRendering: { enabled: true },
},
integrations: [
solidJs(),
starlight({
title: 'Semafor',
titleDelimiter: ' – ',
logo: {
src: './src/assets/logo.svg',
replacesTitle: true,
},
// i18n
defaultLocale: 'root',
locales: {
root: {
label: 'Čeština',
lang: 'cs',
},
},
// other settings
credits: true,
lastUpdated: true,
social: [
{
icon: 'github',
label: 'GitHub',
href: 'https://github.com/sklar/semafor',
},
],
head: [
{
tag: 'meta',
attrs: { property: 'og:image', content: `${site}/og.webp` },
},
{ tag: 'meta', attrs: { property: 'og:image:width', content: '1200' } },
{ tag: 'meta', attrs: { property: 'og:image:height', content: '630' } },
{
tag: 'meta',
attrs: { name: 'twitter:card', content: 'summary_large_image' },
},
{
tag: 'meta',
attrs: { name: 'twitter:image', content: `${site}/og.webp` },
},
...analyticsHead,
],
// overrrides for default components and styles
components: {
Footer: './src/components/Footer.astro',
Hero: './src/components/Hero.astro',
PageTitle: './src/components/PageTitle.astro',
Sidebar: './src/components/Sidebar.astro',
SiteTitle: './src/components/SiteTitle.astro',
},
customCss: ['./src/styles/global.css'],
sidebar,
}),
],
})