Skip to content

Commit de45681

Browse files
improv(docusaurus-theme-classic): fix FOUC
Context: FormidableLabs/prism-react-renderer#160
1 parent 6d27400 commit de45681

File tree

1 file changed

+13
-1
lines changed
  • packages/docusaurus-theme-classic/src

1 file changed

+13
-1
lines changed

packages/docusaurus-theme-classic/src/index.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import path from 'path';
99
import {createRequire} from 'module';
1010
import rtlcss from 'rtlcss';
1111
import {readDefaultCodeTranslationMessages} from '@docusaurus/theme-translations';
12+
import {generateScriptForSSR} from 'prism-react-renderer';
1213
import {getTranslationFiles, translateThemeConfig} from './translations';
1314
import type {LoadContext, Plugin} from '@docusaurus/types';
1415
import type {ThemeConfig} from '@docusaurus/theme-common';
@@ -107,7 +108,7 @@ export default function themeClassic(
107108
const {
108109
announcementBar,
109110
colorMode,
110-
prism: {additionalLanguages},
111+
prism: {additionalLanguages, theme, darkTheme},
111112
} = themeConfig;
112113
const {customCss} = options;
113114
const {direction} = localeConfigs[currentLocale]!;
@@ -198,6 +199,17 @@ ${noFlashColorMode(colorMode)}
198199
${announcementBar ? AnnouncementBarInlineJavaScript : ''}
199200
`,
200201
},
202+
{
203+
tagName: 'script',
204+
innerHTML: generateScriptForSSR(
205+
[theme, darkTheme],
206+
`() => (
207+
document.documentElement.getAttribute('data-theme') === 'dark'
208+
? ${darkTheme.id}
209+
: ${theme.id}
210+
)`,
211+
),
212+
},
201213
],
202214
};
203215
},

0 commit comments

Comments
 (0)