starlight-theme-catppuccin
Version:
<h3 align="center"> <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/logos/exports/1544x1544_circle.png" width="100" alt="Logo"/><br/> <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transp
43 lines (39 loc) • 922 B
text/typescript
import type { StarlightPlugin } from "@astrojs/starlight/types";
type DarkFlavors = "mocha" | "macchiato" | "frappe";
type Accents =
| "rosewater"
| "flamingo"
| "pink"
| "mauve"
| "red"
| "maroon"
| "peach"
| "yellow"
| "green"
| "teal"
| "sky"
| "sapphire"
| "blue"
| "lavender";
interface Config {
dark?: `${DarkFlavors}-${Accents}`;
light?: `latte-${Accents}`;
}
export default function createPlugin(config?: Config): StarlightPlugin {
const { dark, light } = config ?? {}
return {
name: "starlight-theme-catppuccin",
hooks: {
setup: ({ config, updateConfig }) => {
updateConfig({
customCss: [
...config.customCss ?? [],
`starlight-theme-catppuccin/themes/catppuccin-${dark ?? 'mocha-mauve'}.css`,
`starlight-theme-catppuccin/themes/catppuccin-${light ?? 'latte-mauve'}.css`,
"starlight-theme-catppuccin/styles/shared.css",
],
});
},
},
};
}