Skip to content

Commit 869f768

Browse files
committed
astro 6 fonts api
1 parent 1173eb4 commit 869f768

5 files changed

Lines changed: 27 additions & 26 deletions

File tree

astro.config.mjs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { defineConfig } from 'astro/config';
1+
import { defineConfig, fontProviders } from 'astro/config';
22
import mdx from '@astrojs/mdx';
33
import sitemap from '@astrojs/sitemap';
44
import icon from 'astro-icon';
@@ -12,6 +12,22 @@ export default defineConfig({
1212
vite: { plugins: [tailwindcss()] },
1313
integrations: [mdx(), sitemap(), icon()],
1414
compressHTML: false,
15+
fonts: [
16+
{
17+
provider: fontProviders.fontsource(),
18+
name: 'Inter',
19+
cssVariable: '--font-inter',
20+
weights: ['100 900'],
21+
styles: ['normal'],
22+
},
23+
{
24+
provider: fontProviders.fontsource(),
25+
name: 'Rubik',
26+
cssVariable: '--font-rubik',
27+
weights: [700],
28+
styles: ['normal'],
29+
},
30+
],
1531
markdown: {
1632
shikiConfig: {
1733
theme: 'one-dark-pro', // https://shiki.style/themes

package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
"@astrojs/mdx": "^5.0.0",
1717
"@astrojs/rss": "^4.0.17",
1818
"@astrojs/sitemap": "^3.7.1",
19-
"@fontsource-variable/inter": "^5.2.8",
20-
"@fontsource/rubik": "^5.2.8",
2119
"@iconify-json/devicon": "^1.2.60",
2220
"@iconify-json/skill-icons": "^1.2.4",
2321
"@iconify-json/vscode-icons": "^1.2.45",

pnpm-lock.yaml

Lines changed: 0 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/components/BaseHead.astro

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
---
2+
import { Font } from 'astro:assets';
23
import { ClientRouter } from 'astro:transitions';
34
import { SITE_TITLE } from '@/consts';
45
5-
// https://docs.astro.build/en/guides/fonts/#using-fontsource
6-
import '@fontsource-variable/inter';
7-
import '@fontsource/rubik/700.css';
8-
96
// Import the global.css file here so that it is included on all pages through the use of the <BaseHead /> component.
107
import '../styles/base.css';
118
@@ -22,6 +19,10 @@ const { title, description, image = '/site-thumb.png' } = Astro.props;
2219
const GA_ID = import.meta.env.PUBLIC_GA_ID!;
2320
---
2421

22+
<!-- https://docs.astro.build/en/guides/fonts/#using-fontsource -->
23+
<Font cssVariable="--font-inter" preload />
24+
<Font cssVariable="--font-rubik" preload />
25+
2526
<!-- Google tag (gtag.js) -->
2627
<script is:inline async src={`https://www.googletagmanager.com/gtag/js?id=${GA_ID}`}></script>
2728
<script is:inline define:vars={{ GA_ID }}>

src/styles/base.css

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,18 @@
88
@custom-variant prose-inline-code (&.prose :where(:not(pre)>code):not(:where([class~="not-prose"] *)));
99

1010
@theme {
11-
--font-display: 'Rubik', sans-serif;
12-
--font-sans: 'Inter Variable', sans-serif;
13-
1411
/* 15 / 16 */
1512
--text-base: 0.9375rem;
1613
--text-base--line-height: 1.7;
1714

1815
--aspect-retro: 4 / 3;
1916
}
2017

18+
@theme inline {
19+
--font-display: var(--font-rubik);
20+
--font-sans: var(--font-inter);
21+
}
22+
2123
@utility container {
2224
margin-inline: auto;
2325
padding-inline: 1rem;

0 commit comments

Comments
 (0)