Skip to content

Commit 2b734c0

Browse files
fix: replace @fontsource imports with Astro Fonts API for font preloading
1 parent 1d295f5 commit 2b734c0

2 files changed

Lines changed: 12 additions & 5 deletions

File tree

astro.config.mjs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
1-
import { defineConfig } from 'astro/config';
1+
import { defineConfig, fontProviders } from 'astro/config';
22
import mdx from '@astrojs/mdx';
33
import lit from '@semantic-ui/astro-lit';
44

55
export default defineConfig({
66
integrations: [lit(), mdx()],
7+
fonts: [{
8+
provider: fontProviders.fontsource(),
9+
name: 'Open Sans',
10+
cssVariable: '--font-open-sans',
11+
weights: [400, 600, 700],
12+
styles: ['normal'],
13+
subsets: ['latin'],
14+
}],
715
site: 'https://cumulus-ui.github.io',
816
server: { port: 4321 },
917
markdown: {

src/layouts/BaseLayout.astro

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
---
22
import '@cumulus-ui/design-tokens/tokens.css';
3-
import '@fontsource/open-sans/400.css';
4-
import '@fontsource/open-sans/600.css';
5-
import '@fontsource/open-sans/700.css';
3+
import { Font } from 'astro:assets';
64
import { getCollection } from 'astro:content';
75
import { displayName } from '@/utils/display-name';
86
@@ -32,6 +30,7 @@ const navItems = components.map(comp => ({
3230
(matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
3331
if (theme === 'dark') document.documentElement.classList.add('awsui-dark-mode');
3432
</script>
33+
<Font cssVariable="--font-open-sans" preload />
3534
</head>
3635
<body>
3736
<cs-app-layout-toolbar
@@ -96,7 +95,7 @@ const navItems = components.map(comp => ({
9695
<style is:global>
9796
body {
9897
margin: 0;
99-
font-family: var(--font-family-base);
98+
font-family: var(--font-open-sans, var(--font-family-base));
10099
color: var(--color-text-body-default);
101100
}
102101

0 commit comments

Comments
 (0)