starlight-theme-rose-pine 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/README.md +38 -0
- package/colors.json +59 -0
- package/index.ts +29 -0
- package/package.json +47 -0
- package/scripts/build-themes.ts +107 -0
- package/styles/shared.css +195 -0
- package/styles-main.css +34 -0
- package/styles-moon.css +34 -0
- package/themes/rose-pine-dawn-foam.css +44 -0
- package/themes/rose-pine-dawn-gold.css +44 -0
- package/themes/rose-pine-dawn-iris.css +44 -0
- package/themes/rose-pine-dawn-love.css +44 -0
- package/themes/rose-pine-dawn-pine.css +44 -0
- package/themes/rose-pine-dawn-rose.css +44 -0
- package/themes/rose-pine-main-foam.css +44 -0
- package/themes/rose-pine-main-gold.css +44 -0
- package/themes/rose-pine-main-iris.css +44 -0
- package/themes/rose-pine-main-love.css +44 -0
- package/themes/rose-pine-main-pine.css +44 -0
- package/themes/rose-pine-main-rose.css +44 -0
- package/themes/rose-pine-moon-foam.css +44 -0
- package/themes/rose-pine-moon-gold.css +44 -0
- package/themes/rose-pine-moon-iris.css +44 -0
- package/themes/rose-pine-moon-love.css +44 -0
- package/themes/rose-pine-moon-pine.css +44 -0
- package/themes/rose-pine-moon-rose.css +44 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# starlight-theme-rose-pine
|
|
2
|
+
|
|
3
|
+
## 0.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`ed66cb0`](https://github.com/trueberryless-org/starlight-theme-rose-pine/commit/ed66cb05c1d2d0bcd8f6bc8f627288ad5028297e) Thanks [@trueberryless](https://github.com/trueberryless)! - Initial public release
|
package/README.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://github.com/rose-pine/rose-pine-theme/raw/main/assets/icon.png" width="80" />
|
|
3
|
+
<h2 align="center">Rosé Pine for Starlight</h2>
|
|
4
|
+
</p>
|
|
5
|
+
|
|
6
|
+
<p align="center">All natural pine, faux fur and a bit of soho vibes for the classy minimalist</p>
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
|
|
10
|
+
1. Open App
|
|
11
|
+
2. Under settings, import `rose-pine.theme`
|
|
12
|
+
3. Select `Rosé Pine` from the themes dropdown
|
|
13
|
+
|
|
14
|
+
## Gallery
|
|
15
|
+
|
|
16
|
+
### Rosé Pine
|
|
17
|
+
|
|
18
|
+
<img width="256" alt="Rosé Pine with Starlight" src="https://raw.githubusercontent.com/trueberryless-org/starlight-theme-rose-pine/main/assets/main.png" />
|
|
19
|
+
|
|
20
|
+
### Rosé Pine Moon
|
|
21
|
+
|
|
22
|
+
<img width="256" alt="Rosé Pine Moon with Starlight" src="https://raw.githubusercontent.com/trueberryless-org/starlight-theme-rose-pine/main/assets/moon.png" />
|
|
23
|
+
|
|
24
|
+
### Rosé Pine Dawn
|
|
25
|
+
|
|
26
|
+
<img width="256" alt="Rosé Pine Dawn with Starlight" src="https://raw.githubusercontent.com/trueberryless-org/starlight-theme-rose-pine/main/assets/dawn.png" />
|
|
27
|
+
|
|
28
|
+
## Thanks to
|
|
29
|
+
|
|
30
|
+
- [Felix Schneider](https://github.com/trueberryless)
|
|
31
|
+
|
|
32
|
+
## Contributing
|
|
33
|
+
|
|
34
|
+
Modify `colors.json` using Rosé Pine variables, then build variants:
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
pnpm build
|
|
38
|
+
```
|
package/colors.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"flavors": {
|
|
3
|
+
"main": {
|
|
4
|
+
"base": "#191724",
|
|
5
|
+
"surface": "#1f1d2e",
|
|
6
|
+
"overlay": "#26233a",
|
|
7
|
+
"muted": "#6e6a86",
|
|
8
|
+
"subtle": "#908caa",
|
|
9
|
+
"text": "#e0def4",
|
|
10
|
+
"love": "#eb6f92",
|
|
11
|
+
"gold": "#f6c177",
|
|
12
|
+
"rose": "#ebbcba",
|
|
13
|
+
"pine": "#31748f",
|
|
14
|
+
"foam": "#9ccfd8",
|
|
15
|
+
"iris": "#c4a7e7",
|
|
16
|
+
"highlightLow": "#21202e",
|
|
17
|
+
"highlightMed": "#403d52",
|
|
18
|
+
"highlightHigh": "#524f67",
|
|
19
|
+
"type": "dark"
|
|
20
|
+
},
|
|
21
|
+
"moon": {
|
|
22
|
+
"base": "#232136",
|
|
23
|
+
"surface": "#2a273f",
|
|
24
|
+
"overlay": "#393552",
|
|
25
|
+
"muted": "#6e6a86",
|
|
26
|
+
"subtle": "#908caa",
|
|
27
|
+
"text": "#e0def4",
|
|
28
|
+
"love": "#eb6f92",
|
|
29
|
+
"gold": "#f6c177",
|
|
30
|
+
"rose": "#ea9a97",
|
|
31
|
+
"pine": "#3e8fb0",
|
|
32
|
+
"foam": "#9ccfd8",
|
|
33
|
+
"iris": "#c4a7e7",
|
|
34
|
+
"highlightLow": "#2a283e",
|
|
35
|
+
"highlightMed": "#44415a",
|
|
36
|
+
"highlightHigh": "#56526e",
|
|
37
|
+
"type": "dark"
|
|
38
|
+
},
|
|
39
|
+
"dawn": {
|
|
40
|
+
"base": "#faf4ed",
|
|
41
|
+
"surface": "#fffaf3",
|
|
42
|
+
"overlay": "#f2e9e1",
|
|
43
|
+
"muted": "#9893a5",
|
|
44
|
+
"subtle": "#797593",
|
|
45
|
+
"text": "#575279",
|
|
46
|
+
"love": "#b4637a",
|
|
47
|
+
"gold": "#ea9d34",
|
|
48
|
+
"rose": "#d7827e",
|
|
49
|
+
"pine": "#286983",
|
|
50
|
+
"foam": "#56949f",
|
|
51
|
+
"iris": "#907aa9",
|
|
52
|
+
"highlightLow": "#f4ede8",
|
|
53
|
+
"highlightMed": "#dfdad9",
|
|
54
|
+
"highlightHigh": "#cecacd",
|
|
55
|
+
"type": "light"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"accents": ["love", "gold", "rose", "pine", "foam", "iris"]
|
|
59
|
+
}
|
package/index.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { StarlightPlugin } from "@astrojs/starlight/types";
|
|
2
|
+
|
|
3
|
+
type DarkFlavor = "main" | "moon";
|
|
4
|
+
type LightFlavor = "dawn";
|
|
5
|
+
type Accent = "love" | "gold" | "rose" | "pine" | "foam" | "iris";
|
|
6
|
+
|
|
7
|
+
interface Config {
|
|
8
|
+
dark?: { flavor?: DarkFlavor; accent?: Accent };
|
|
9
|
+
light?: { flavor?: LightFlavor; accent?: Accent };
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default function createPlugin(config?: Config): StarlightPlugin {
|
|
13
|
+
const { dark, light } = config ?? {};
|
|
14
|
+
return {
|
|
15
|
+
name: "starlight-theme-rose-pine",
|
|
16
|
+
hooks: {
|
|
17
|
+
"config:setup": ({ config, updateConfig }) => {
|
|
18
|
+
updateConfig({
|
|
19
|
+
customCss: [
|
|
20
|
+
...(config.customCss ?? []),
|
|
21
|
+
"starlight-theme-rose-pine/styles/shared.css",
|
|
22
|
+
`starlight-theme-rose-pine/themes/rose-pine-${dark?.flavor ?? "main"}-${dark?.accent ?? "pine"}.css`,
|
|
23
|
+
`starlight-theme-rose-pine/themes/rose-pine-${light?.flavor ?? "dawn"}-${light?.accent ?? "pine"}.css`,
|
|
24
|
+
],
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "starlight-theme-rose-pine",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Soho vibes for Starlight",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"starlight",
|
|
7
|
+
"theme",
|
|
8
|
+
"rose pine",
|
|
9
|
+
"soho vibes"
|
|
10
|
+
],
|
|
11
|
+
"homepage": "https://github.com/trueberryless-org/starlight-theme-rose-pine",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/trueberryless-org/starlight-theme-rose-pine/issues"
|
|
14
|
+
},
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "https://github.com/trueberryless-org/starlight-theme-rose-pine.git",
|
|
18
|
+
"directory": "packages/starlight-theme-rose-pine"
|
|
19
|
+
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"author": "trueberryless <trueberryless@gmail.com> (https://trueberryless.org)",
|
|
22
|
+
"sideEffects": false,
|
|
23
|
+
"type": "module",
|
|
24
|
+
"exports": {
|
|
25
|
+
".": "./index.ts",
|
|
26
|
+
"./styles/*": "./styles/*",
|
|
27
|
+
"./themes/*": "./themes/*"
|
|
28
|
+
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "tsx scripts/build-themes.ts"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@astrojs/starlight": "^0.37.6",
|
|
34
|
+
"astro": "^5.17.1",
|
|
35
|
+
"tsx": "^4.21.0",
|
|
36
|
+
"typescript": "^5.9.3"
|
|
37
|
+
},
|
|
38
|
+
"peerDependencies": {
|
|
39
|
+
"@astrojs/starlight": ">=0.37"
|
|
40
|
+
},
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": "^18.17.1 || ^20.3.0 || >=21.0.0"
|
|
43
|
+
},
|
|
44
|
+
"publishConfig": {
|
|
45
|
+
"access": "public"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
|
|
4
|
+
import colors from "../colors.json";
|
|
5
|
+
|
|
6
|
+
const themesDir = path.join(process.cwd(), "themes");
|
|
7
|
+
if (!fs.existsSync(themesDir)) fs.mkdirSync(themesDir);
|
|
8
|
+
|
|
9
|
+
type Palette = typeof colors.flavors.main;
|
|
10
|
+
type PaletteKey = keyof Palette;
|
|
11
|
+
|
|
12
|
+
function hexToHsl(hex: string): { h: number; s: number; l: number } {
|
|
13
|
+
const r = parseInt(hex.substring(1, 3), 16) / 255;
|
|
14
|
+
const g = parseInt(hex.substring(3, 5), 16) / 255;
|
|
15
|
+
const b = parseInt(hex.substring(5, 7), 16) / 255;
|
|
16
|
+
const max = Math.max(r, g, b),
|
|
17
|
+
min = Math.min(r, g, b);
|
|
18
|
+
let h = 0,
|
|
19
|
+
s = 0,
|
|
20
|
+
l = (max + min) / 2;
|
|
21
|
+
if (max !== min) {
|
|
22
|
+
const d = max - min;
|
|
23
|
+
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
24
|
+
switch (max) {
|
|
25
|
+
case r:
|
|
26
|
+
h = (g - b) / d + (g < b ? 6 : 0);
|
|
27
|
+
break;
|
|
28
|
+
case g:
|
|
29
|
+
h = (b - r) / d + 2;
|
|
30
|
+
break;
|
|
31
|
+
case b:
|
|
32
|
+
h = (r - g) / d + 4;
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
h /= 6;
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
h: Math.round(h * 360),
|
|
39
|
+
s: Math.round(s * 100),
|
|
40
|
+
l: Math.round(l * 100),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function getHslStr(hex: string, lOffset = 0): string {
|
|
45
|
+
const { h, s, l } = hexToHsl(hex);
|
|
46
|
+
const newL = Math.min(Math.max(l + lOffset, 0), 100);
|
|
47
|
+
return `hsl(${h}, ${s}%, ${newL}%)`;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
for (const [flavorName, palette] of Object.entries(colors.flavors)) {
|
|
51
|
+
const p = palette as Palette;
|
|
52
|
+
const isDark = p.type === "dark";
|
|
53
|
+
|
|
54
|
+
for (const accentName of colors.accents) {
|
|
55
|
+
const accentHex = p[accentName as PaletteKey];
|
|
56
|
+
|
|
57
|
+
const css = `@layer rose-pine {
|
|
58
|
+
:root${p.type === "light" ? "[data-theme='light']" : ""} {
|
|
59
|
+
--sl-color-accent-low: ${getHslStr(accentHex, isDark ? -45 : -25)};
|
|
60
|
+
--sl-color-accent: ${getHslStr(accentHex)};
|
|
61
|
+
--sl-color-accent-high: ${getHslStr(accentHex, isDark ? 25 : 45)};
|
|
62
|
+
|
|
63
|
+
--sl-color-white: ${p.text};
|
|
64
|
+
--sl-color-gray-1: ${p.subtle};
|
|
65
|
+
--sl-color-gray-2: ${p.muted};
|
|
66
|
+
--sl-color-gray-3: ${p.highlightHigh};
|
|
67
|
+
--sl-color-gray-4: ${p.highlightMed};
|
|
68
|
+
--sl-color-gray-5: ${p.overlay};
|
|
69
|
+
--sl-color-gray-6: ${p.highlightLow};
|
|
70
|
+
--sl-color-gray-7: ${p.surface};
|
|
71
|
+
--sl-color-black: ${p.base};
|
|
72
|
+
|
|
73
|
+
--sl-hue-orange: ${hexToHsl(p.gold).h};
|
|
74
|
+
--sl-color-orange-low: ${getHslStr(p.gold, isDark ? -30 : 30)};
|
|
75
|
+
--sl-color-orange: ${getHslStr(p.gold)};
|
|
76
|
+
--sl-color-orange-high: ${getHslStr(p.gold, isDark ? 15 : -15)};
|
|
77
|
+
|
|
78
|
+
--sl-hue-green: ${hexToHsl(p.pine).h};
|
|
79
|
+
--sl-color-green-low: ${getHslStr(p.pine, isDark ? -10 : 30)};
|
|
80
|
+
--sl-color-green: ${getHslStr(p.pine, isDark ? 20 : 0)};
|
|
81
|
+
--sl-color-green-high: ${getHslStr(p.pine, isDark ? 15 : -15)};
|
|
82
|
+
|
|
83
|
+
--sl-hue-blue: ${hexToHsl(p.foam).h};
|
|
84
|
+
--sl-color-blue-low: ${getHslStr(p.foam, isDark ? -30 : 30)};
|
|
85
|
+
--sl-color-blue: ${getHslStr(p.foam)};
|
|
86
|
+
--sl-color-blue-high: ${getHslStr(p.foam, isDark ? 15 : -15)};
|
|
87
|
+
|
|
88
|
+
--sl-hue-purple: ${hexToHsl(p.iris).h};
|
|
89
|
+
--sl-color-purple-low: ${getHslStr(p.iris, isDark ? -30 : 30)};
|
|
90
|
+
--sl-color-purple: ${getHslStr(p.iris)};
|
|
91
|
+
--sl-color-purple-high: ${getHslStr(p.iris, isDark ? 15 : -15)};
|
|
92
|
+
|
|
93
|
+
--sl-hue-red: ${hexToHsl(p.love).h};
|
|
94
|
+
--sl-color-red-low: ${getHslStr(p.love, isDark ? -30 : 30)};
|
|
95
|
+
--sl-color-red: ${getHslStr(p.love)};
|
|
96
|
+
--sl-color-red-high: ${getHslStr(p.love, isDark ? 15 : -15)};
|
|
97
|
+
|
|
98
|
+
color-scheme: ${p.type};
|
|
99
|
+
}
|
|
100
|
+
}`;
|
|
101
|
+
|
|
102
|
+
fs.writeFileSync(
|
|
103
|
+
path.join(themesDir, `rose-pine-${flavorName}-${accentName}.css`),
|
|
104
|
+
css
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
@layer starlight, rose-pine;
|
|
2
|
+
|
|
3
|
+
@layer rose-pine {
|
|
4
|
+
:root {
|
|
5
|
+
--sl-color-text: var(--sl-color-white);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.sidebar-content a,
|
|
9
|
+
.right-sidebar-panel a,
|
|
10
|
+
.sidebar-content summary {
|
|
11
|
+
color: var(--sl-color-white) !important;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.sidebar-content a[aria-current="page"],
|
|
15
|
+
.right-sidebar-panel a[aria-current="true"] {
|
|
16
|
+
color: var(--sl-color-black) !important;
|
|
17
|
+
background-color: var(--sl-color-accent-high) !important;
|
|
18
|
+
font-weight: 600;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
:root[data-theme="light"] .sidebar-content a[aria-current="page"],
|
|
22
|
+
:root[data-theme="light"] .right-sidebar-panel a[aria-current="true"] {
|
|
23
|
+
color: var(--sl-color-accent) !important;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.sl-flex.edit-margin a,
|
|
27
|
+
.pagination-links a {
|
|
28
|
+
color: var(--sl-color-white) !important;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.sl-flex.edit-margin svg {
|
|
32
|
+
color: var(--sl-color-accent) !important;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
header,
|
|
36
|
+
.right-sidebar,
|
|
37
|
+
.content-panel {
|
|
38
|
+
border-color: var(--sl-color-gray-5);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.expressive-code pre {
|
|
42
|
+
--code-background: var(--sl-color-gray-6) !important;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.expressive-code .title {
|
|
46
|
+
background: var(--sl-color-gray-6) !important;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.sidebar-content .sl-badge {
|
|
50
|
+
background-color: var(--sl-color-gray-6) !important;
|
|
51
|
+
border: 1px solid var(--sl-color-gray-5);
|
|
52
|
+
color: var(--sl-color-white) !important;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.sidebar-content .sl-badge.default {
|
|
56
|
+
border-color: var(--sl-color-accent-high);
|
|
57
|
+
background-color: var(--sl-color-accent-high) !important;
|
|
58
|
+
color: var(--sl-color-black) !important;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
:root[data-theme="light"] .sidebar-content .sl-badge.default {
|
|
62
|
+
color: var(--sl-color-accent) !important;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.sl-badge {
|
|
66
|
+
background-color: transparent !important;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.sl-badge.default {
|
|
70
|
+
background-color: color-mix(
|
|
71
|
+
in srgb,
|
|
72
|
+
var(--sl-color-accent),
|
|
73
|
+
transparent 90%
|
|
74
|
+
) !important;
|
|
75
|
+
border: 1px solid var(--sl-color-accent-low);
|
|
76
|
+
color: var(--sl-color-accent) !important;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.sl-badge.note {
|
|
80
|
+
background-color: color-mix(
|
|
81
|
+
in srgb,
|
|
82
|
+
var(--sl-color-blue),
|
|
83
|
+
transparent 90%
|
|
84
|
+
) !important;
|
|
85
|
+
border: 1px solid var(--sl-color-blue-low);
|
|
86
|
+
color: var(--sl-color-blue) !important;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.sl-badge.success {
|
|
90
|
+
background-color: color-mix(
|
|
91
|
+
in srgb,
|
|
92
|
+
var(--sl-color-green),
|
|
93
|
+
transparent 90%
|
|
94
|
+
) !important;
|
|
95
|
+
border: 1px solid var(--sl-color-green-low);
|
|
96
|
+
color: var(--sl-color-green) !important;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.sl-badge.tip {
|
|
100
|
+
background-color: color-mix(
|
|
101
|
+
in srgb,
|
|
102
|
+
var(--sl-color-purple),
|
|
103
|
+
transparent 90%
|
|
104
|
+
) !important;
|
|
105
|
+
border: 1px solid var(--sl-color-purple-low);
|
|
106
|
+
color: var(--sl-color-purple) !important;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.sl-badge.caution {
|
|
110
|
+
background-color: color-mix(
|
|
111
|
+
in srgb,
|
|
112
|
+
var(--sl-color-orange),
|
|
113
|
+
transparent 90%
|
|
114
|
+
) !important;
|
|
115
|
+
border: 1px solid var(--sl-color-orange-low);
|
|
116
|
+
color: var(--sl-color-orange) !important;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.sl-badge.danger {
|
|
120
|
+
background-color: color-mix(
|
|
121
|
+
in srgb,
|
|
122
|
+
var(--sl-color-red),
|
|
123
|
+
transparent 90%
|
|
124
|
+
) !important;
|
|
125
|
+
border: 1px solid var(--sl-color-red-low);
|
|
126
|
+
color: var(--sl-color-red) !important;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.starlight-aside {
|
|
130
|
+
background-color: transparent !important;
|
|
131
|
+
border-inline-start-width: 3px;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.starlight-aside--note {
|
|
135
|
+
--sl-color-asides-text-accent: var(--sl-color-blue);
|
|
136
|
+
--sl-color-asides-border: var(--sl-color-blue);
|
|
137
|
+
background-color: color-mix(
|
|
138
|
+
in srgb,
|
|
139
|
+
var(--sl-color-blue),
|
|
140
|
+
transparent 92%
|
|
141
|
+
) !important;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.starlight-aside--tip {
|
|
145
|
+
--sl-color-asides-text-accent: var(--sl-color-purple);
|
|
146
|
+
--sl-color-asides-border: var(--sl-color-purple);
|
|
147
|
+
background-color: color-mix(
|
|
148
|
+
in srgb,
|
|
149
|
+
var(--sl-color-purple),
|
|
150
|
+
transparent 92%
|
|
151
|
+
) !important;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.starlight-aside--caution {
|
|
155
|
+
--sl-color-asides-text-accent: var(--sl-color-orange);
|
|
156
|
+
--sl-color-asides-border: var(--sl-color-orange);
|
|
157
|
+
background-color: color-mix(
|
|
158
|
+
in srgb,
|
|
159
|
+
var(--sl-color-orange),
|
|
160
|
+
transparent 92%
|
|
161
|
+
) !important;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.starlight-aside--danger {
|
|
165
|
+
--sl-color-asides-text-accent: var(--sl-color-red);
|
|
166
|
+
--sl-color-asides-border: var(--sl-color-red);
|
|
167
|
+
background-color: color-mix(
|
|
168
|
+
in srgb,
|
|
169
|
+
var(--sl-color-red),
|
|
170
|
+
transparent 92%
|
|
171
|
+
) !important;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.card {
|
|
175
|
+
border-radius: 0.75rem;
|
|
176
|
+
background-color: var(--sl-color-gray-5);
|
|
177
|
+
border-color: var(--sl-color-gray-4);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.sl-link-card .description {
|
|
181
|
+
color: var(--sl-color-gray-1);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.tab [aria-selected="false"] {
|
|
185
|
+
color: var(--sl-color-gray-1);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
starlight-file-tree .comment {
|
|
189
|
+
color: var(--sl-color-gray-2);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
footer .meta a {
|
|
193
|
+
color: var(--sl-color-gray-2);
|
|
194
|
+
}
|
|
195
|
+
}
|
package/styles-main.css
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@layer starlight, rose-pine;
|
|
2
|
+
|
|
3
|
+
@layer rose-pine {
|
|
4
|
+
:root,
|
|
5
|
+
::backdrop {
|
|
6
|
+
--sl-color-accent-low: #131e4f;
|
|
7
|
+
--sl-color-accent: #3447ff;
|
|
8
|
+
--sl-color-accent-high: #b3c7ff;
|
|
9
|
+
--sl-color-white: #ffffff;
|
|
10
|
+
--sl-color-gray-1: #eceef2;
|
|
11
|
+
--sl-color-gray-2: #c0c2c7;
|
|
12
|
+
--sl-color-gray-3: #888b96;
|
|
13
|
+
--sl-color-gray-4: #545861;
|
|
14
|
+
--sl-color-gray-5: #353841;
|
|
15
|
+
--sl-color-gray-6: #24272f;
|
|
16
|
+
--sl-color-black: #17181c;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
:root[data-theme="light"],
|
|
20
|
+
[data-theme="light"] ::backdrop {
|
|
21
|
+
--sl-color-accent-low: #c7d6ff;
|
|
22
|
+
--sl-color-accent: #364bff;
|
|
23
|
+
--sl-color-accent-high: #182775;
|
|
24
|
+
--sl-color-white: #17181c;
|
|
25
|
+
--sl-color-gray-1: #24272f;
|
|
26
|
+
--sl-color-gray-2: #353841;
|
|
27
|
+
--sl-color-gray-3: #545861;
|
|
28
|
+
--sl-color-gray-4: #888b96;
|
|
29
|
+
--sl-color-gray-5: #c0c2c7;
|
|
30
|
+
--sl-color-gray-6: #eceef2;
|
|
31
|
+
--sl-color-gray-7: #f5f6f8;
|
|
32
|
+
--sl-color-black: #ffffff;
|
|
33
|
+
}
|
|
34
|
+
}
|
package/styles-moon.css
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@layer starlight, rose-pine;
|
|
2
|
+
|
|
3
|
+
@layer rose-pine {
|
|
4
|
+
:root,
|
|
5
|
+
::backdrop {
|
|
6
|
+
--sl-color-accent-low: #131e4f;
|
|
7
|
+
--sl-color-accent: #3447ff;
|
|
8
|
+
--sl-color-accent-high: #b3c7ff;
|
|
9
|
+
--sl-color-white: #e0def4;
|
|
10
|
+
--sl-color-gray-1: #908caa;
|
|
11
|
+
--sl-color-gray-2: #6e6a86;
|
|
12
|
+
--sl-color-gray-3: #56526e;
|
|
13
|
+
--sl-color-gray-4: #44415a;
|
|
14
|
+
--sl-color-gray-5: #393552;
|
|
15
|
+
--sl-color-gray-6: #2a273f;
|
|
16
|
+
--sl-color-black: #232136;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
:root[data-theme="light"],
|
|
20
|
+
[data-theme="light"] ::backdrop {
|
|
21
|
+
--sl-color-accent-low: #c7d6ff;
|
|
22
|
+
--sl-color-accent: #364bff;
|
|
23
|
+
--sl-color-accent-high: #182775;
|
|
24
|
+
--sl-color-white: #17181c;
|
|
25
|
+
--sl-color-gray-1: #24272f;
|
|
26
|
+
--sl-color-gray-2: #353841;
|
|
27
|
+
--sl-color-gray-3: #545861;
|
|
28
|
+
--sl-color-gray-4: #888b96;
|
|
29
|
+
--sl-color-gray-5: #c0c2c7;
|
|
30
|
+
--sl-color-gray-6: #eceef2;
|
|
31
|
+
--sl-color-gray-7: #f5f6f8;
|
|
32
|
+
--sl-color-black: #ffffff;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
@layer rose-pine {
|
|
2
|
+
:root[data-theme="light"] {
|
|
3
|
+
--sl-color-accent-low: hsl(189, 30%, 23%);
|
|
4
|
+
--sl-color-accent: hsl(189, 30%, 48%);
|
|
5
|
+
--sl-color-accent-high: hsl(189, 30%, 93%);
|
|
6
|
+
|
|
7
|
+
--sl-color-white: #575279;
|
|
8
|
+
--sl-color-gray-1: #797593;
|
|
9
|
+
--sl-color-gray-2: #9893a5;
|
|
10
|
+
--sl-color-gray-3: #cecacd;
|
|
11
|
+
--sl-color-gray-4: #dfdad9;
|
|
12
|
+
--sl-color-gray-5: #f2e9e1;
|
|
13
|
+
--sl-color-gray-6: #f4ede8;
|
|
14
|
+
--sl-color-gray-7: #fffaf3;
|
|
15
|
+
--sl-color-black: #faf4ed;
|
|
16
|
+
|
|
17
|
+
--sl-hue-orange: 35;
|
|
18
|
+
--sl-color-orange-low: hsl(35, 81%, 86%);
|
|
19
|
+
--sl-color-orange: hsl(35, 81%, 56%);
|
|
20
|
+
--sl-color-orange-high: hsl(35, 81%, 41%);
|
|
21
|
+
|
|
22
|
+
--sl-hue-green: 197;
|
|
23
|
+
--sl-color-green-low: hsl(197, 53%, 64%);
|
|
24
|
+
--sl-color-green: hsl(197, 53%, 34%);
|
|
25
|
+
--sl-color-green-high: hsl(197, 53%, 19%);
|
|
26
|
+
|
|
27
|
+
--sl-hue-blue: 189;
|
|
28
|
+
--sl-color-blue-low: hsl(189, 30%, 78%);
|
|
29
|
+
--sl-color-blue: hsl(189, 30%, 48%);
|
|
30
|
+
--sl-color-blue-high: hsl(189, 30%, 33%);
|
|
31
|
+
|
|
32
|
+
--sl-hue-purple: 268;
|
|
33
|
+
--sl-color-purple-low: hsl(268, 21%, 87%);
|
|
34
|
+
--sl-color-purple: hsl(268, 21%, 57%);
|
|
35
|
+
--sl-color-purple-high: hsl(268, 21%, 42%);
|
|
36
|
+
|
|
37
|
+
--sl-hue-red: 343;
|
|
38
|
+
--sl-color-red-low: hsl(343, 35%, 85%);
|
|
39
|
+
--sl-color-red: hsl(343, 35%, 55%);
|
|
40
|
+
--sl-color-red-high: hsl(343, 35%, 40%);
|
|
41
|
+
|
|
42
|
+
color-scheme: light;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
@layer rose-pine {
|
|
2
|
+
:root[data-theme="light"] {
|
|
3
|
+
--sl-color-accent-low: hsl(35, 81%, 31%);
|
|
4
|
+
--sl-color-accent: hsl(35, 81%, 56%);
|
|
5
|
+
--sl-color-accent-high: hsl(35, 81%, 100%);
|
|
6
|
+
|
|
7
|
+
--sl-color-white: #575279;
|
|
8
|
+
--sl-color-gray-1: #797593;
|
|
9
|
+
--sl-color-gray-2: #9893a5;
|
|
10
|
+
--sl-color-gray-3: #cecacd;
|
|
11
|
+
--sl-color-gray-4: #dfdad9;
|
|
12
|
+
--sl-color-gray-5: #f2e9e1;
|
|
13
|
+
--sl-color-gray-6: #f4ede8;
|
|
14
|
+
--sl-color-gray-7: #fffaf3;
|
|
15
|
+
--sl-color-black: #faf4ed;
|
|
16
|
+
|
|
17
|
+
--sl-hue-orange: 35;
|
|
18
|
+
--sl-color-orange-low: hsl(35, 81%, 86%);
|
|
19
|
+
--sl-color-orange: hsl(35, 81%, 56%);
|
|
20
|
+
--sl-color-orange-high: hsl(35, 81%, 41%);
|
|
21
|
+
|
|
22
|
+
--sl-hue-green: 197;
|
|
23
|
+
--sl-color-green-low: hsl(197, 53%, 64%);
|
|
24
|
+
--sl-color-green: hsl(197, 53%, 34%);
|
|
25
|
+
--sl-color-green-high: hsl(197, 53%, 19%);
|
|
26
|
+
|
|
27
|
+
--sl-hue-blue: 189;
|
|
28
|
+
--sl-color-blue-low: hsl(189, 30%, 78%);
|
|
29
|
+
--sl-color-blue: hsl(189, 30%, 48%);
|
|
30
|
+
--sl-color-blue-high: hsl(189, 30%, 33%);
|
|
31
|
+
|
|
32
|
+
--sl-hue-purple: 268;
|
|
33
|
+
--sl-color-purple-low: hsl(268, 21%, 87%);
|
|
34
|
+
--sl-color-purple: hsl(268, 21%, 57%);
|
|
35
|
+
--sl-color-purple-high: hsl(268, 21%, 42%);
|
|
36
|
+
|
|
37
|
+
--sl-hue-red: 343;
|
|
38
|
+
--sl-color-red-low: hsl(343, 35%, 85%);
|
|
39
|
+
--sl-color-red: hsl(343, 35%, 55%);
|
|
40
|
+
--sl-color-red-high: hsl(343, 35%, 40%);
|
|
41
|
+
|
|
42
|
+
color-scheme: light;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
@layer rose-pine {
|
|
2
|
+
:root[data-theme="light"] {
|
|
3
|
+
--sl-color-accent-low: hsl(268, 21%, 32%);
|
|
4
|
+
--sl-color-accent: hsl(268, 21%, 57%);
|
|
5
|
+
--sl-color-accent-high: hsl(268, 21%, 100%);
|
|
6
|
+
|
|
7
|
+
--sl-color-white: #575279;
|
|
8
|
+
--sl-color-gray-1: #797593;
|
|
9
|
+
--sl-color-gray-2: #9893a5;
|
|
10
|
+
--sl-color-gray-3: #cecacd;
|
|
11
|
+
--sl-color-gray-4: #dfdad9;
|
|
12
|
+
--sl-color-gray-5: #f2e9e1;
|
|
13
|
+
--sl-color-gray-6: #f4ede8;
|
|
14
|
+
--sl-color-gray-7: #fffaf3;
|
|
15
|
+
--sl-color-black: #faf4ed;
|
|
16
|
+
|
|
17
|
+
--sl-hue-orange: 35;
|
|
18
|
+
--sl-color-orange-low: hsl(35, 81%, 86%);
|
|
19
|
+
--sl-color-orange: hsl(35, 81%, 56%);
|
|
20
|
+
--sl-color-orange-high: hsl(35, 81%, 41%);
|
|
21
|
+
|
|
22
|
+
--sl-hue-green: 197;
|
|
23
|
+
--sl-color-green-low: hsl(197, 53%, 64%);
|
|
24
|
+
--sl-color-green: hsl(197, 53%, 34%);
|
|
25
|
+
--sl-color-green-high: hsl(197, 53%, 19%);
|
|
26
|
+
|
|
27
|
+
--sl-hue-blue: 189;
|
|
28
|
+
--sl-color-blue-low: hsl(189, 30%, 78%);
|
|
29
|
+
--sl-color-blue: hsl(189, 30%, 48%);
|
|
30
|
+
--sl-color-blue-high: hsl(189, 30%, 33%);
|
|
31
|
+
|
|
32
|
+
--sl-hue-purple: 268;
|
|
33
|
+
--sl-color-purple-low: hsl(268, 21%, 87%);
|
|
34
|
+
--sl-color-purple: hsl(268, 21%, 57%);
|
|
35
|
+
--sl-color-purple-high: hsl(268, 21%, 42%);
|
|
36
|
+
|
|
37
|
+
--sl-hue-red: 343;
|
|
38
|
+
--sl-color-red-low: hsl(343, 35%, 85%);
|
|
39
|
+
--sl-color-red: hsl(343, 35%, 55%);
|
|
40
|
+
--sl-color-red-high: hsl(343, 35%, 40%);
|
|
41
|
+
|
|
42
|
+
color-scheme: light;
|
|
43
|
+
}
|
|
44
|
+
}
|