Docs: Sass automatic recompilation in dev mode with Astro (#41574)

Co-authored-by: Julien Déramond <juderamond@gmail.com>
This commit is contained in:
Maxime Lardenois 2025-07-02 12:58:34 +02:00 committed by GitHub
parent c5074c7c18
commit 9566444580
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 21 additions and 3 deletions

View File

@ -6,7 +6,6 @@ import Stylesheet from '@components/head/Stylesheet.astro'
import Favicons from '@components/head/Favicons.astro'
import Social from '@components/head/Social.astro'
import Analytics from '@components/head/Analytics.astro'
import Scss from '@components/head/Scss.astro'
interface Props {
description: string
@ -25,6 +24,10 @@ const isHome = Astro.url.pathname === '/'
const pageTitle = isHome
? `${getConfig().title} · ${getConfig().subtitle}`
: `${title} · ${getConfig().title} v${getConfig().docs_version}`
// Dynamic imports to avoid build-time processing
const Scss = import.meta.env.PROD ? null : await import('@components/head/Scss.astro')
const ScssProd = import.meta.env.PROD ? await import('@components/head/ScssProd.astro') : null
---
<meta charset="UTF-8" />
@ -47,8 +50,15 @@ const pageTitle = isHome
<script is:inline src={getVersionedDocsPath('assets/js/color-modes.js')}></script>
<Stylesheet direction={direction} layout={layout} />
<Scss />
{import.meta.env.PROD && ScssProd && (
<Stylesheet direction={direction} layout={layout} />
<ScssProd.default />
)}
{!import.meta.env.PROD && Scss && (
<Scss.default />
)}
<Favicons />
<Social description={description} layout={layout} thumbnail={thumbnail} title={title} />
<Analytics />

View File

@ -2,6 +2,7 @@
---
<style is:global lang="scss">
@import '../../../../scss/bootstrap.scss';
@import '../../scss/docs';
@import '../../scss/docs_search';
</style>

View File

@ -0,0 +1,7 @@
---
---
<style is:global lang="scss">
@import '../../scss/docs';
@import '../../scss/docs_search';
</style>