1
0
mirror of https://github.com/Unleash/unleash.git synced 2026-02-20 13:57:42 +01:00
unleash.unleash/website/src/theme/prism-include-languages.js
Alvin Bryan 8a9d013545
Fixed syntax highlighting in the docs (#6678)
Adds support for Svelte syntax highlighting and lets us add support for
additional languages in the future
2024-03-25 09:10:41 +00:00

23 lines
899 B
JavaScript

import siteConfig from '@generated/docusaurus.config';
export default function prismIncludeLanguages(PrismObject) {
const {
themeConfig: { prism },
} = siteConfig;
const { additionalLanguages } = prism;
// Prism components work on the Prism instance on the window, while prism-
// react-renderer uses its own Prism instance. We temporarily mount the
// instance onto window, import components to enhance it, then remove it to
// avoid polluting global namespace.
// You can mutate PrismObject: registering plugins, deleting languages... As
// long as you don't re-assign it
globalThis.Prism = PrismObject;
additionalLanguages.forEach((lang) => {
// eslint-disable-next-line global-require, import/no-dynamic-require
require(`prismjs/components/prism-${lang}`);
});
require('prism-svelte');
delete globalThis.Prism;
}