Skip to content

Commit 06426a2

Browse files
committed
feat: enable prefetching in Astro config and update content module imports for new documentation files
1 parent c8e5f12 commit 06426a2

File tree

9 files changed

+40
-26
lines changed

9 files changed

+40
-26
lines changed

.astro/content-modules.mjs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11

22
export default new Map([
3-
["src/content/docs/framework/deploy.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fdeploy.mdx&astroContentModuleFlag=true")],
43
["src/content/blog/welcome.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fblog%2Fwelcome.mdx&astroContentModuleFlag=true")],
4+
["src/content/docs/syntax/text.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Ftext.mdx&astroContentModuleFlag=true")],
5+
["src/content/docs/syntax/alert.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Falert.mdx&astroContentModuleFlag=true")],
6+
["src/content/docs/syntax/code-block.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Fcode-block.mdx&astroContentModuleFlag=true")],
7+
["src/content/docs/syntax/markdown.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Fmarkdown.mdx&astroContentModuleFlag=true")],
8+
["src/content/docs/framework/configuration.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fconfiguration.mdx&astroContentModuleFlag=true")],
59
["src/content/docs/framework/docs.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fdocs.mdx&astroContentModuleFlag=true")],
610
["src/content/docs/framework/blog.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fblog.mdx&astroContentModuleFlag=true")],
7-
["src/content/docs/framework/configuration.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fconfiguration.mdx&astroContentModuleFlag=true")],
8-
["src/content/docs/framework/getting-started.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fgetting-started.mdx&astroContentModuleFlag=true")],
9-
["src/content/docs/framework/project-structure.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fproject-structure.mdx&astroContentModuleFlag=true")],
11+
["src/content/docs/framework/deploy.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fdeploy.mdx&astroContentModuleFlag=true")],
1012
["src/content/docs/framework/installation.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Finstallation.mdx&astroContentModuleFlag=true")],
11-
["src/content/docs/syntax/alert.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Falert.mdx&astroContentModuleFlag=true")],
12-
["src/content/docs/syntax/markdown.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Fmarkdown.mdx&astroContentModuleFlag=true")],
13-
["src/content/docs/syntax/code-block.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Fcode-block.mdx&astroContentModuleFlag=true")],
14-
["src/content/docs/syntax/text.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Ftext.mdx&astroContentModuleFlag=true")]]);
13+
["src/content/docs/framework/getting-started.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fgetting-started.mdx&astroContentModuleFlag=true")],
14+
["src/content/docs/framework/project-structure.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fproject-structure.mdx&astroContentModuleFlag=true")]]);
1515

.astro/data-store.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

.astro/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"_variables": {
3-
"lastUpdateCheck": 1746623417127
3+
"lastUpdateCheck": 1750630234606
44
}
55
}

astro.config.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import remarkReadMoreDirective from './src/lib/plugins/read-more/remark-directiv
2323
// https://astro.build/config
2424
export default defineConfig({
2525
output: 'static',
26+
prefetch: true,
2627
integrations: [
2728
react(),
2829
mdx(),

src/assets/css/global.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,4 +157,9 @@
157157

158158
.references-navigation-list {
159159
top: 61px !important;
160+
}
161+
162+
::view-transition-old(root),
163+
::view-transition-new(root) {
164+
animation-duration: 0.3s !important;
160165
}

src/lib/components/elements/navbar.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ const ListItem = React.forwardRef<
4040
ListItem.displayName = "ListItem"
4141

4242
export default function Navbar() {
43-
const { theme, setTheme } = useTheme()
44-
const [open, setOpen] = React.useState(false)
45-
4643
return (
4744
<div className="sticky top-0 z-50 w-full p-2 py-3 border-b bg-background/60 backdrop-blur-sm">
4845
<div className="max-w-screen-xl mx-auto flex items-center justify-between">

src/lib/hooks/use-theme.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,15 @@ export function useTheme() {
1212

1313
useEffect(() => {
1414
const root = window.document.documentElement
15-
const body = window.document.body
16-
1715
root.classList.remove('light', 'dark')
18-
body.classList.remove('light-mode', 'dark-mode')
1916

2017
if (theme === 'system') {
2118
const systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
2219
root.classList.add(systemTheme)
23-
24-
const systemThemeBody = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark-mode' : 'light-mode'
25-
body.classList.add(systemThemeBody)
2620
return
2721
}
2822

2923
root.classList.add(theme)
30-
body.classList.add(theme === 'dark' ? 'dark-mode' : 'light-mode')
3124
}, [theme])
3225

3326
const setThemeMode = (newTheme: Theme) => {

src/lib/layouts/BaseLayout.astro

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
import Footer from "@/components/elements/footer";
33
import Navbar from "@/components/elements/navbar";
4+
import { ClientRouter } from "astro:transitions";
45
import config from "../../../explainer.config";
56
import "../../assets/css/global.css";
67
@@ -28,6 +29,23 @@ const { title = config.meta.title } = Astro.props;
2829
<meta property="og:image:alt" content={config.meta.title} />
2930
<meta property="og:image:width" content="1200" />
3031
<meta property="og:image:height" content="630" />
32+
33+
<ClientRouter />
34+
35+
<script>
36+
const root = window.document.documentElement;
37+
const theme = localStorage.getItem("theme") ?? "system";
38+
39+
if (theme === "system") {
40+
const systemTheme = window.matchMedia("(prefers-color-scheme: dark)")
41+
.matches
42+
? "dark"
43+
: "light";
44+
root.classList.add(systemTheme);
45+
} else {
46+
root.classList.add(theme);
47+
}
48+
</script>
3149
</head>
3250
<body class="relative min-h-screen">
3351
<div class="min-h-screen flex flex-col">

src/pages/index.astro

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ const bentogrid: BentoGridProps = {
173173
<div class="flex flex-col justify-center md:flex-row gap-5 w-full">
174174
{
175175
header.actions.map((action) => (
176-
<Button>
176+
<Button client:only>
177177
<a
178178
href={action.href}
179179
class="flex items-center gap-2 cursor-pointer"
@@ -184,7 +184,7 @@ const bentogrid: BentoGridProps = {
184184
</Button>
185185
))
186186
}
187-
<Button variant="outline">
187+
<Button client:only variant="outline">
188188
<a
189189
href={config.urls.github}
190190
target="_blank"
@@ -213,7 +213,7 @@ const bentogrid: BentoGridProps = {
213213
>
214214
{
215215
cards.map((card) => (
216-
<Card>
216+
<Card client:only>
217217
<CardHeader>
218218
<CardTitle>{card.title}</CardTitle>
219219
<CardDescription>{card.description}</CardDescription>
@@ -226,17 +226,17 @@ const bentogrid: BentoGridProps = {
226226
</div>
227227

228228
<div class="max-w-screen-xl mx-auto">
229-
<HomeBentogrid {...bentogrid} />
229+
<HomeBentogrid client:load {...bentogrid} />
230230
</div>
231231

232232
<div class="max-w-screen-xl mx-auto">
233-
<HomeMarquee {...marquee} client:visible />
233+
<HomeMarquee {...marquee} client:load />
234234
</div>
235235

236236
{
237237
posts.length && (
238238
<div class="max-w-screen-xl mx-auto">
239-
<HomeBlog posts={posts} client:visible />
239+
<HomeBlog posts={posts} client:load />
240240
</div>
241241
)
242242
}

0 commit comments

Comments
 (0)