bulma-turbo-themes 0.5.0 → 0.7.4
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +0 -90
- data/README.md +41 -189
- data/assets/css/custom.css +32 -0
- data/assets/css/themes/bulma-dark.css +96 -0
- data/assets/css/themes/bulma-light.css +96 -0
- data/assets/css/themes/catppuccin-frappe.css +99 -0
- data/assets/css/themes/catppuccin-latte.css +99 -0
- data/assets/css/themes/catppuccin-macchiato.css +99 -0
- data/assets/css/themes/catppuccin-mocha.css +99 -0
- data/assets/css/themes/dracula.css +212 -0
- data/assets/css/themes/github-dark.css +103 -0
- data/assets/css/themes/github-light.css +103 -0
- data/assets/css/themes/global.css +460 -0
- data/assets/img/bulma-logo-dark.png +0 -0
- data/assets/img/bulma-logo.png +0 -0
- data/assets/img/catppuccin-logo-latte.png +0 -0
- data/assets/img/catppuccin-logo-macchiato.png +0 -0
- data/assets/img/dracula-logo.png +0 -0
- data/assets/img/github-logo-dark.png +0 -0
- data/assets/img/github-logo-light.png +0 -0
- data/assets/js/theme-selector.js +489 -0
- data/lib/bulma-turbo-themes/version.rb +6 -0
- data/lib/bulma-turbo-themes.rb +4 -3
- metadata +47 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fc14469edd28baf049584d2a55a95eb9c9fb2557b2c45e4094e61143c3365365
|
|
4
|
+
data.tar.gz: 5b1876e12f8d2dbb9909864a4f9a8fecb5dbcd346aff30c2339bd9ba8492c9e4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 31e01ee527f28119539015d7b1bdb84db00f9262598a4ab865e8ce27efba4ab257996cbc81e1f6daac7b7c12ef8201dd6b55febd7dc010075848826b683ee663
|
|
7
|
+
data.tar.gz: dd86155aa276b294b1a44bbe31456e5d05acc2e7e1698e34fad1cf90a2c9b8764816591ae7765a4899899abce315ff8547eef575af57b4030dacda46486ae1f2
|
data/CHANGELOG.md
CHANGED
|
@@ -10,96 +10,6 @@ The format is based on Keep a Changelog and this project adheres to SemVer.
|
|
|
10
10
|
|
|
11
11
|
- TBD
|
|
12
12
|
|
|
13
|
-
## [0.10.8] - 2025-12-05
|
|
14
|
-
|
|
15
|
-
### 🐛 Fixed
|
|
16
|
-
|
|
17
|
-
- update react monorepo to v19 (#165)
|
|
18
|
-
|
|
19
|
-
## [0.10.7] - 2025-12-05
|
|
20
|
-
|
|
21
|
-
### 🐛 Fixed
|
|
22
|
-
|
|
23
|
-
- update renovatebot/github-action digest to 4ebebab (#141)
|
|
24
|
-
|
|
25
|
-
## [0.10.6] - 2025-12-05
|
|
26
|
-
|
|
27
|
-
### 🐛 Fixed
|
|
28
|
-
|
|
29
|
-
- update actions/create-github-app-token action to v2 (#162)
|
|
30
|
-
|
|
31
|
-
## [0.10.5] - 2025-12-05
|
|
32
|
-
|
|
33
|
-
### 🐛 Fixed
|
|
34
|
-
|
|
35
|
-
- update actions/checkout action to v6 (#160)
|
|
36
|
-
|
|
37
|
-
## [0.10.4] - 2025-12-05
|
|
38
|
-
|
|
39
|
-
### 🐛 Fixed
|
|
40
|
-
|
|
41
|
-
- update softprops/action-gh-release digest to a06a81a (#142)
|
|
42
|
-
|
|
43
|
-
## [0.10.3] - 2025-12-05
|
|
44
|
-
|
|
45
|
-
### 🐛 Fixed
|
|
46
|
-
|
|
47
|
-
- update actions/checkout action to v5.0.1 (#144)
|
|
48
|
-
|
|
49
|
-
## [0.10.2] - 2025-12-05
|
|
50
|
-
|
|
51
|
-
### 🐛 Fixed
|
|
52
|
-
|
|
53
|
-
- update astral-sh/setup-uv action to v7.1.4 (#145)
|
|
54
|
-
|
|
55
|
-
## [0.10.1] - 2025-12-05
|
|
56
|
-
|
|
57
|
-
### 🐛 Fixed
|
|
58
|
-
|
|
59
|
-
- update actions/create-github-app-token action to v1.12.0 (#153)
|
|
60
|
-
|
|
61
|
-
## [0.10.0] - 2025-12-05
|
|
62
|
-
|
|
63
|
-
### ✨ Added
|
|
64
|
-
|
|
65
|
-
- add full theming solution with context and hooks (#151)
|
|
66
|
-
|
|
67
|
-
### 🐛 Fixed
|
|
68
|
-
|
|
69
|
-
- recognize scoped conventional commits in version bump (#154)
|
|
70
|
-
- update peter-evans/create-pull-request action to v7.0.11 (#148)
|
|
71
|
-
- add missing egress endpoints for Bun CDN downloads
|
|
72
|
-
|
|
73
|
-
## [0.9.0] - 2025-12-05
|
|
74
|
-
|
|
75
|
-
### ✨ Added
|
|
76
|
-
|
|
77
|
-
- migrate theme system to SASS (#143)
|
|
78
|
-
|
|
79
|
-
### 🐛 Fixed
|
|
80
|
-
|
|
81
|
-
- enable platformCommit for Renovate to sign commits
|
|
82
|
-
- correct JavaScript reference in gem layout (#106)
|
|
83
|
-
|
|
84
|
-
### 🔧 Changed
|
|
85
|
-
|
|
86
|
-
- add missing egress endpoints for Bun download (#149)
|
|
87
|
-
- update actions/setup-node digest to 633bb92 (#110)
|
|
88
|
-
- update peter-evans/create-pull-request digest to 271a8d0 (#109)
|
|
89
|
-
- update actions/setup-node digest to 2028fbc (#108)
|
|
90
|
-
|
|
91
|
-
## [0.8.1] - 2025-11-16
|
|
92
|
-
|
|
93
|
-
### 🐛 Fixed
|
|
94
|
-
|
|
95
|
-
- update OpenSSF badge to Best Practices (#104)
|
|
96
|
-
|
|
97
|
-
## [0.8.0] - 2025-11-16
|
|
98
|
-
|
|
99
|
-
### ✨ Added
|
|
100
|
-
|
|
101
|
-
- include layouts and data files in gem
|
|
102
|
-
|
|
103
13
|
## [0.7.4] - 2025-11-16
|
|
104
14
|
|
|
105
15
|
### 🐛 Fixed
|
data/README.md
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
# turbo-themes
|
|
1
|
+
# bulma-turbo-themes
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Modern, accessible theme packs and a drop-in theme selector for Bulma 1.x.
|
|
4
4
|
|
|
5
|
-
[](https://bun.sh/)
|
|
6
5
|
[](https://nodejs.org/)
|
|
7
|
-
[](https://codecov.io/gh/TurboCoder13/turbo-themes)
|
|
6
|
+
[](https://codecov.io/gh/TurboCoder13/bulma-turbo-themes)
|
|
8
7
|
[](LICENSE)
|
|
9
|
-
[](https://github.com/TurboCoder13/turbo-themes/actions/workflows/quality-ci-main.yml?query=branch%3Amain)
|
|
10
|
-
[](https://github.com/TurboCoder13/turbo-themes/actions/workflows/quality-ci-main.yml?query=branch%3Amain)
|
|
11
|
-
[](https://github.com/TurboCoder13/turbo-themes/actions/workflows/reporting-lighthouse-ci.yml?query=branch%3Amain)
|
|
8
|
+
[](https://github.com/TurboCoder13/bulma-turbo-themes/actions/workflows/quality-ci-main.yml?query=branch%3Amain)
|
|
9
|
+
[](https://github.com/TurboCoder13/bulma-turbo-themes/actions/workflows/quality-ci-main.yml?query=branch%3Amain)
|
|
10
|
+
[](https://github.com/TurboCoder13/bulma-turbo-themes/actions/workflows/reporting-lighthouse-ci.yml?query=branch%3Amain)
|
|
12
11
|
|
|
13
|
-
[](https://github.com/TurboCoder13/turbo-themes/actions/workflows/security-codeql.yml?query=branch%3Amain)
|
|
14
|
-
[](https://github.com/TurboCoder13/bulma-turbo-themes/actions/workflows/security-codeql.yml?query=branch%3Amain)
|
|
13
|
+
[](https://scorecard.dev/viewer/?uri=github.com/TurboCoder13/bulma-turbo-themes)
|
|
15
14
|
[](SECURITY.md)
|
|
16
|
-
[](https://github.com/TurboCoder13/turbo-themes/actions/workflows/security-sbom.yml)
|
|
15
|
+
[](https://github.com/TurboCoder13/bulma-turbo-themes/actions/workflows/security-sbom.yml)
|
|
17
16
|
|
|
18
|
-
[](https://rubygems.org/gems/turbo-themes)
|
|
17
|
+
[](https://www.npmjs.com/package/@turbocoder13/bulma-turbo-themes)
|
|
18
|
+
[](https://rubygems.org/gems/bulma-turbo-themes)
|
|
20
19
|
|
|
21
20
|
## Features
|
|
22
21
|
|
|
@@ -24,9 +23,6 @@ Universal, accessible theme packs and a drop-in theme selector.
|
|
|
24
23
|
- Accessible theme selector with keyboard and screen reader support
|
|
25
24
|
- Inline or link-based CSS delivery; CSP-friendly
|
|
26
25
|
- Tested with coverage, Lighthouse CI, and stylelint
|
|
27
|
-
- Advanced Bulma customization (breakpoints, spacing, shadows, mixins)
|
|
28
|
-
- Lazy-loaded themes with performance optimizations
|
|
29
|
-
- Full Bulma Sass variable integration
|
|
30
26
|
|
|
31
27
|
## Installation
|
|
32
28
|
|
|
@@ -36,12 +32,12 @@ Install as a Ruby gem:
|
|
|
36
32
|
|
|
37
33
|
```ruby
|
|
38
34
|
# Gemfile
|
|
39
|
-
gem "turbo-themes", "~> 0.
|
|
35
|
+
gem "bulma-turbo-themes", "~> 0.4"
|
|
40
36
|
```
|
|
41
37
|
|
|
42
38
|
```yaml
|
|
43
39
|
# _config.yml
|
|
44
|
-
theme: turbo-themes
|
|
40
|
+
theme: bulma-turbo-themes
|
|
45
41
|
```
|
|
46
42
|
|
|
47
43
|
Then run:
|
|
@@ -53,20 +49,12 @@ bundle exec jekyll serve
|
|
|
53
49
|
|
|
54
50
|
Assets are automatically available - no copying needed!
|
|
55
51
|
|
|
56
|
-
### Advanced Theming
|
|
57
|
-
|
|
58
|
-
For advanced customization options including custom breakpoints, spacing, shadows, and Bulma mixins, see the [Advanced Theming Guide](docs/ADVANCED-THEMING.md).
|
|
59
|
-
|
|
60
52
|
### For Non-Jekyll Projects
|
|
61
53
|
|
|
62
|
-
Install via
|
|
54
|
+
Install via npm:
|
|
63
55
|
|
|
64
56
|
```bash
|
|
65
|
-
|
|
66
|
-
bun add @turbocoder13/turbo-themes
|
|
67
|
-
|
|
68
|
-
# Using npm
|
|
69
|
-
npm install @turbocoder13/turbo-themes
|
|
57
|
+
npm install @turbocoder13/bulma-turbo-themes
|
|
70
58
|
```
|
|
71
59
|
|
|
72
60
|
## Quick start
|
|
@@ -88,24 +76,18 @@ npm install @turbocoder13/turbo-themes
|
|
|
88
76
|
1. Add selector markup and initialize:
|
|
89
77
|
|
|
90
78
|
```html
|
|
91
|
-
<div class="
|
|
92
|
-
<
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
>
|
|
100
|
-
<span class="icon is-small" id="theme-flavor-trigger-icon"></span>
|
|
101
|
-
Theme
|
|
102
|
-
</button>
|
|
103
|
-
<div class="navbar-dropdown" id="theme-flavor-menu" aria-labelledby="theme-flavor-trigger">
|
|
79
|
+
<div class="dropdown is-right is-theme" id="theme-flavor-dd">
|
|
80
|
+
<div class="dropdown-trigger">
|
|
81
|
+
<button id="theme-flavor-trigger" aria-haspopup="true">
|
|
82
|
+
<span id="theme-flavor-trigger-icon"></span>
|
|
83
|
+
<span id="theme-flavor-trigger-label"></span>
|
|
84
|
+
</button>
|
|
85
|
+
</div>
|
|
86
|
+
<div class="dropdown-menu" id="theme-flavor-menu" role="menu">
|
|
104
87
|
<div class="dropdown-content" id="theme-flavor-items"></div>
|
|
105
88
|
</div>
|
|
106
|
-
|
|
107
|
-
<
|
|
108
|
-
<select id="theme-flavor-select" aria-label="Theme flavor" disabled></select>
|
|
89
|
+
<div class="select is-hidden"><select id="theme-flavor-select"></select></div>
|
|
90
|
+
<span id="theme-flavor-icon"></span>
|
|
109
91
|
</div>
|
|
110
92
|
```
|
|
111
93
|
|
|
@@ -115,7 +97,7 @@ npm install @turbocoder13/turbo-themes
|
|
|
115
97
|
|
|
116
98
|
### Non-Jekyll Projects
|
|
117
99
|
|
|
118
|
-
1. Copy CSS files from `node_modules/@turbocoder13/turbo-themes/assets/css/themes/` to your project:
|
|
100
|
+
1. Copy CSS files from `node_modules/@turbocoder13/bulma-turbo-themes/assets/css/themes/` to your project:
|
|
119
101
|
- `global.css` (required)
|
|
120
102
|
- Flavor CSS files (e.g., `catppuccin-mocha.css`, `dracula.css`, `github-dark.css`) - copy the ones you want to use
|
|
121
103
|
2. Include CSS links (adjust paths to match your project structure):
|
|
@@ -128,29 +110,23 @@ npm install @turbocoder13/turbo-themes
|
|
|
128
110
|
1. Add selector markup and initialize:
|
|
129
111
|
|
|
130
112
|
```html
|
|
131
|
-
<div class="
|
|
132
|
-
<
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
>
|
|
140
|
-
<span class="icon is-small" id="theme-flavor-trigger-icon"></span>
|
|
141
|
-
Theme
|
|
142
|
-
</button>
|
|
143
|
-
<div class="navbar-dropdown" id="theme-flavor-menu" aria-labelledby="theme-flavor-trigger">
|
|
113
|
+
<div class="dropdown is-right is-theme" id="theme-flavor-dd">
|
|
114
|
+
<div class="dropdown-trigger">
|
|
115
|
+
<button id="theme-flavor-trigger" aria-haspopup="true">
|
|
116
|
+
<span id="theme-flavor-trigger-icon"></span>
|
|
117
|
+
<span id="theme-flavor-trigger-label"></span>
|
|
118
|
+
</button>
|
|
119
|
+
</div>
|
|
120
|
+
<div class="dropdown-menu" id="theme-flavor-menu" role="menu">
|
|
144
121
|
<div class="dropdown-content" id="theme-flavor-items"></div>
|
|
145
122
|
</div>
|
|
146
|
-
|
|
147
|
-
<
|
|
148
|
-
<select id="theme-flavor-select" aria-label="Theme flavor" disabled></select>
|
|
123
|
+
<div class="select is-hidden"><select id="theme-flavor-select"></select></div>
|
|
124
|
+
<span id="theme-flavor-icon"></span>
|
|
149
125
|
</div>
|
|
150
126
|
```
|
|
151
127
|
|
|
152
128
|
```ts
|
|
153
|
-
import { initTheme, wireFlavorSelector } from '@turbocoder13/turbo-themes';
|
|
129
|
+
import { initTheme, wireFlavorSelector } from '@turbocoder13/bulma-turbo-themes';
|
|
154
130
|
|
|
155
131
|
document.addEventListener('DOMContentLoaded', () => {
|
|
156
132
|
initTheme(document, window);
|
|
@@ -158,93 +134,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
158
134
|
});
|
|
159
135
|
```
|
|
160
136
|
|
|
161
|
-
### React Native / Cross-Platform
|
|
162
|
-
|
|
163
|
-
This package provides platform-agnostic design tokens that work in React Native, Expo, and other non-web environments.
|
|
164
|
-
|
|
165
|
-
#### Installation
|
|
166
|
-
|
|
167
|
-
```bash
|
|
168
|
-
bun add @turbocoder13/turbo-themes
|
|
169
|
-
# or
|
|
170
|
-
npm install @turbocoder13/turbo-themes
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
#### Basic Usage (Without Context)
|
|
174
|
-
|
|
175
|
-
```tsx
|
|
176
|
-
import { useTheme, useThemeColors } from '@turbocoder13/turbo-themes/tokens/react-native';
|
|
177
|
-
|
|
178
|
-
function MyComponent() {
|
|
179
|
-
const { colors, styles, theme } = useTheme('catppuccin-mocha');
|
|
180
|
-
|
|
181
|
-
return (
|
|
182
|
-
<View style={styles.container}>
|
|
183
|
-
<Text style={styles.h1}>{theme.label}</Text>
|
|
184
|
-
<Text style={[styles.text, { color: colors.brandPrimary }]}>
|
|
185
|
-
Primary color text
|
|
186
|
-
</Text>
|
|
187
|
-
</View>
|
|
188
|
-
);
|
|
189
|
-
}
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
#### With ThemeProvider (Recommended)
|
|
193
|
-
|
|
194
|
-
```tsx
|
|
195
|
-
import { ThemeProvider, useThemeContext } from '@turbocoder13/turbo-themes/tokens/react-native';
|
|
196
|
-
import { useColorScheme } from 'react-native';
|
|
197
|
-
|
|
198
|
-
// Wrap your app with ThemeProvider
|
|
199
|
-
function App() {
|
|
200
|
-
return (
|
|
201
|
-
<ThemeProvider
|
|
202
|
-
useColorScheme={useColorScheme}
|
|
203
|
-
followSystem
|
|
204
|
-
lightTheme="catppuccin-latte"
|
|
205
|
-
darkTheme="catppuccin-mocha"
|
|
206
|
-
>
|
|
207
|
-
<MyApp />
|
|
208
|
-
</ThemeProvider>
|
|
209
|
-
);
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
// Use the theme in any component
|
|
213
|
-
function MyApp() {
|
|
214
|
-
const { colors, styles, setTheme, toggleAppearance, appearance } = useThemeContext();
|
|
215
|
-
|
|
216
|
-
return (
|
|
217
|
-
<View style={styles.container}>
|
|
218
|
-
<Text style={styles.h1}>Welcome!</Text>
|
|
219
|
-
<Button
|
|
220
|
-
title={`Switch to ${appearance === 'dark' ? 'light' : 'dark'}`}
|
|
221
|
-
onPress={toggleAppearance}
|
|
222
|
-
/>
|
|
223
|
-
</View>
|
|
224
|
-
);
|
|
225
|
-
}
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
#### Available Exports
|
|
229
|
-
|
|
230
|
-
| Import Path | Use Case |
|
|
231
|
-
|-------------|----------|
|
|
232
|
-
| `@turbocoder13/turbo-themes/tokens` | Platform-agnostic tokens (pure data) |
|
|
233
|
-
| `@turbocoder13/turbo-themes/tokens/react-native` | React Native utilities, hooks, and context |
|
|
234
|
-
| `@turbocoder13/turbo-themes/tokens.json` | JSON tokens for Flutter, Swift, Kotlin |
|
|
235
|
-
| `@turbocoder13/turbo-themes/css/*` | CSS files for web |
|
|
236
|
-
|
|
237
|
-
#### Pre-built Styles
|
|
238
|
-
|
|
239
|
-
The React Native module includes pre-built styles for common components:
|
|
240
|
-
|
|
241
|
-
- **Layout**: `container`, `safeArea`, `centered`, `row`
|
|
242
|
-
- **Typography**: `h1`-`h6`, `text`, `textSecondary`, `caption`, `label`, `link`
|
|
243
|
-
- **Components**: `card`, `cardElevated`, `button`, `buttonOutline`, `input`, `listItem`, `badge`, `tag`, `divider`
|
|
244
|
-
- **State Colors**: `success`, `warning`, `danger`, `info`
|
|
245
|
-
|
|
246
|
-
Plus design tokens for `spacing`, `typography`, `borderRadius`, and `shadows`.
|
|
247
|
-
|
|
248
137
|
## Testing
|
|
249
138
|
|
|
250
139
|
This project includes comprehensive testing:
|
|
@@ -257,53 +146,16 @@ This project includes comprehensive testing:
|
|
|
257
146
|
Run tests:
|
|
258
147
|
|
|
259
148
|
```bash
|
|
260
|
-
# Using Bun (recommended)
|
|
261
|
-
bun run test # Unit tests with coverage
|
|
262
|
-
bun run e2e # All E2E tests
|
|
263
|
-
bun run e2e:smoke # Smoke tests only
|
|
264
|
-
bun run e2e:visual # Visual regression tests
|
|
265
|
-
bun run e2e:a11y # Accessibility tests
|
|
266
|
-
bun run e2e:ui # Playwright UI mode
|
|
267
|
-
|
|
268
|
-
# Using npm (also works)
|
|
269
149
|
npm test # Unit tests with coverage
|
|
270
150
|
npm run e2e # All E2E tests
|
|
151
|
+
npm run e2e:smoke # Smoke tests only
|
|
152
|
+
npm run e2e:visual # Visual regression tests
|
|
153
|
+
npm run e2e:a11y # Accessibility tests
|
|
154
|
+
npm run e2e:ui # Playwright UI mode
|
|
271
155
|
```
|
|
272
156
|
|
|
273
157
|
For detailed E2E testing documentation, see `docs/E2E-TESTING.md`.
|
|
274
158
|
|
|
275
|
-
## Development Setup
|
|
276
|
-
|
|
277
|
-
### Prerequisites
|
|
278
|
-
|
|
279
|
-
- **Bun** 1.3+ (recommended) - [Install Bun](https://bun.sh/docs/installation)
|
|
280
|
-
- **Node.js** 22+ (alternative)
|
|
281
|
-
- **Ruby** 3.3+ with Bundler (for Jekyll demo site)
|
|
282
|
-
|
|
283
|
-
### Quick Start
|
|
284
|
-
|
|
285
|
-
```bash
|
|
286
|
-
# Clone and install
|
|
287
|
-
git clone https://github.com/TurboCoder13/turbo-themes.git
|
|
288
|
-
cd turbo-themes
|
|
289
|
-
bun install
|
|
290
|
-
bundle install
|
|
291
|
-
|
|
292
|
-
# Build and serve
|
|
293
|
-
bun run build
|
|
294
|
-
bun run build:themes
|
|
295
|
-
bun run serve
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
### Why Bun?
|
|
299
|
-
|
|
300
|
-
This project uses [Bun](https://bun.sh/) as its primary JavaScript runtime for:
|
|
301
|
-
|
|
302
|
-
- **5-10x faster** package installation
|
|
303
|
-
- **10x faster** script startup time
|
|
304
|
-
- **~40% reduction** in CI build times
|
|
305
|
-
- Full npm compatibility (works with all existing packages)
|
|
306
|
-
|
|
307
159
|
## Documentation
|
|
308
160
|
|
|
309
161
|
- Code of Conduct: see `CODE_OF_CONDUCT.md`
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: MIT */
|
|
2
|
+
|
|
3
|
+
/* Custom tweaks and dark mode helpers */
|
|
4
|
+
|
|
5
|
+
:root {
|
|
6
|
+
color-scheme: light dark;
|
|
7
|
+
|
|
8
|
+
--bulma-primary-h: 171;
|
|
9
|
+
--bulma-primary-s: 100%;
|
|
10
|
+
--bulma-primary-l: 41%;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* Keep buttons readable across themes */
|
|
14
|
+
|
|
15
|
+
/* Toggle buttons */
|
|
16
|
+
|
|
17
|
+
.buttons.has-addons .button.is-rounded {
|
|
18
|
+
background: transparent;
|
|
19
|
+
border: 1px solid rgb(0 0 0 / 15%);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.buttons.has-addons .button.is-rounded[aria-pressed='true'],
|
|
23
|
+
.buttons.has-addons .button.is-rounded.is-active {
|
|
24
|
+
border-color: transparent;
|
|
25
|
+
background-color: #00d1b2;
|
|
26
|
+
color: #fff;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.buttons.has-addons .button img {
|
|
30
|
+
width: 1rem;
|
|
31
|
+
height: 1rem;
|
|
32
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: MIT */
|
|
2
|
+
html[data-flavor='bulma-dark'] .highlight {
|
|
3
|
+
background: var(--syntax-bg);
|
|
4
|
+
color: var(--syntax-fg);
|
|
5
|
+
}
|
|
6
|
+
html[data-flavor='bulma-dark'] .highlight pre,
|
|
7
|
+
html[data-flavor='bulma-dark'] pre.highlight {
|
|
8
|
+
background: transparent;
|
|
9
|
+
color: var(--syntax-fg);
|
|
10
|
+
}
|
|
11
|
+
html[data-flavor='bulma-dark'] .highlight code {
|
|
12
|
+
background: transparent;
|
|
13
|
+
color: var(--syntax-fg);
|
|
14
|
+
}
|
|
15
|
+
html[data-flavor='bulma-dark'] .highlight .c,
|
|
16
|
+
html[data-flavor='bulma-dark'] .highlight .cm,
|
|
17
|
+
html[data-flavor='bulma-dark'] .highlight .c1 {
|
|
18
|
+
color: var(--syntax-comment);
|
|
19
|
+
}
|
|
20
|
+
html[data-flavor='bulma-dark'] .highlight .k,
|
|
21
|
+
html[data-flavor='bulma-dark'] .highlight .kc,
|
|
22
|
+
html[data-flavor='bulma-dark'] .highlight .kd {
|
|
23
|
+
color: var(--syntax-keyword);
|
|
24
|
+
}
|
|
25
|
+
html[data-flavor='bulma-dark'] .highlight .s,
|
|
26
|
+
html[data-flavor='bulma-dark'] .highlight .s1,
|
|
27
|
+
html[data-flavor='bulma-dark'] .highlight .sb,
|
|
28
|
+
html[data-flavor='bulma-dark'] .highlight .sd,
|
|
29
|
+
html[data-flavor='bulma-dark'] .highlight .s2 {
|
|
30
|
+
color: var(--syntax-string);
|
|
31
|
+
}
|
|
32
|
+
html[data-flavor='bulma-dark'] .highlight .m,
|
|
33
|
+
html[data-flavor='bulma-dark'] .highlight .mi,
|
|
34
|
+
html[data-flavor='bulma-dark'] .highlight .mf,
|
|
35
|
+
html[data-flavor='bulma-dark'] .highlight .mh {
|
|
36
|
+
color: var(--syntax-number);
|
|
37
|
+
}
|
|
38
|
+
html[data-flavor='bulma-dark'] .highlight .nt,
|
|
39
|
+
html[data-flavor='bulma-dark'] .highlight .na {
|
|
40
|
+
color: var(--syntax-attr);
|
|
41
|
+
}
|
|
42
|
+
html[data-flavor='bulma-dark'] .highlight .nn,
|
|
43
|
+
html[data-flavor='bulma-dark'] .highlight .nc,
|
|
44
|
+
html[data-flavor='bulma-dark'] .highlight .no,
|
|
45
|
+
html[data-flavor='bulma-dark'] .highlight .nf {
|
|
46
|
+
color: var(--syntax-title);
|
|
47
|
+
}
|
|
48
|
+
html[data-flavor='bulma-dark'] {
|
|
49
|
+
--bulma-body-background-color: #0f1115;
|
|
50
|
+
--bulma-body-color: #e5e7eb;
|
|
51
|
+
--bulma-primary-h: 171;
|
|
52
|
+
--bulma-primary-s: 100%;
|
|
53
|
+
--bulma-primary-l: 41%;
|
|
54
|
+
--bulma-link: #93c5fd;
|
|
55
|
+
--bulma-info: #38bdf8;
|
|
56
|
+
--bulma-success: #22c55e;
|
|
57
|
+
--bulma-warning: #facc15;
|
|
58
|
+
--bulma-danger: #ef4444;
|
|
59
|
+
--bulma-border: #374151;
|
|
60
|
+
--theme-font-sans:
|
|
61
|
+
system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, 'Apple Color Emoji',
|
|
62
|
+
'Segoe UI Emoji';
|
|
63
|
+
--theme-font-mono:
|
|
64
|
+
ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
|
|
65
|
+
monospace;
|
|
66
|
+
--theme-text: #e5e7eb;
|
|
67
|
+
--theme-text-muted: #9ca3af;
|
|
68
|
+
--theme-link: #93c5fd;
|
|
69
|
+
--theme-code-fg: #e5e7eb;
|
|
70
|
+
--theme-code-bg: #1f2937;
|
|
71
|
+
--theme-pre-fg: #e5e7eb;
|
|
72
|
+
--theme-pre-bg: #111827;
|
|
73
|
+
--theme-pre-border: #374151;
|
|
74
|
+
--theme-table-border: #374151;
|
|
75
|
+
--theme-table-stripe: #111827;
|
|
76
|
+
--theme-table-thead-bg: #1f2937;
|
|
77
|
+
--theme-label-color: #e5e7eb;
|
|
78
|
+
--theme-h1: #22c55e;
|
|
79
|
+
--theme-h2: #93c5fd;
|
|
80
|
+
--theme-h3: #38bdf8;
|
|
81
|
+
--theme-h4: #facc15;
|
|
82
|
+
--theme-h5: #00d1b2;
|
|
83
|
+
--theme-h6: #ef4444;
|
|
84
|
+
--syntax-fg: #e5e7eb;
|
|
85
|
+
--syntax-bg: #111827;
|
|
86
|
+
--syntax-keyword: #facc15;
|
|
87
|
+
--syntax-string: #22c55e;
|
|
88
|
+
--syntax-number: #facc15;
|
|
89
|
+
--syntax-comment: #9ca3af;
|
|
90
|
+
--syntax-title: #38bdf8;
|
|
91
|
+
--syntax-attr: #93c5fd;
|
|
92
|
+
--theme-surface-0: #0f1115;
|
|
93
|
+
--theme-surface-1: #111827;
|
|
94
|
+
--theme-surface-2: #111827;
|
|
95
|
+
color-scheme: dark;
|
|
96
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: MIT */
|
|
2
|
+
html[data-flavor='bulma-light'] .highlight {
|
|
3
|
+
background: var(--syntax-bg);
|
|
4
|
+
color: var(--syntax-fg);
|
|
5
|
+
}
|
|
6
|
+
html[data-flavor='bulma-light'] .highlight pre,
|
|
7
|
+
html[data-flavor='bulma-light'] pre.highlight {
|
|
8
|
+
background: transparent;
|
|
9
|
+
color: var(--syntax-fg);
|
|
10
|
+
}
|
|
11
|
+
html[data-flavor='bulma-light'] .highlight code {
|
|
12
|
+
background: transparent;
|
|
13
|
+
color: var(--syntax-fg);
|
|
14
|
+
}
|
|
15
|
+
html[data-flavor='bulma-light'] .highlight .c,
|
|
16
|
+
html[data-flavor='bulma-light'] .highlight .cm,
|
|
17
|
+
html[data-flavor='bulma-light'] .highlight .c1 {
|
|
18
|
+
color: var(--syntax-comment);
|
|
19
|
+
}
|
|
20
|
+
html[data-flavor='bulma-light'] .highlight .k,
|
|
21
|
+
html[data-flavor='bulma-light'] .highlight .kc,
|
|
22
|
+
html[data-flavor='bulma-light'] .highlight .kd {
|
|
23
|
+
color: var(--syntax-keyword);
|
|
24
|
+
}
|
|
25
|
+
html[data-flavor='bulma-light'] .highlight .s,
|
|
26
|
+
html[data-flavor='bulma-light'] .highlight .s1,
|
|
27
|
+
html[data-flavor='bulma-light'] .highlight .sb,
|
|
28
|
+
html[data-flavor='bulma-light'] .highlight .sd,
|
|
29
|
+
html[data-flavor='bulma-light'] .highlight .s2 {
|
|
30
|
+
color: var(--syntax-string);
|
|
31
|
+
}
|
|
32
|
+
html[data-flavor='bulma-light'] .highlight .m,
|
|
33
|
+
html[data-flavor='bulma-light'] .highlight .mi,
|
|
34
|
+
html[data-flavor='bulma-light'] .highlight .mf,
|
|
35
|
+
html[data-flavor='bulma-light'] .highlight .mh {
|
|
36
|
+
color: var(--syntax-number);
|
|
37
|
+
}
|
|
38
|
+
html[data-flavor='bulma-light'] .highlight .nt,
|
|
39
|
+
html[data-flavor='bulma-light'] .highlight .na {
|
|
40
|
+
color: var(--syntax-attr);
|
|
41
|
+
}
|
|
42
|
+
html[data-flavor='bulma-light'] .highlight .nn,
|
|
43
|
+
html[data-flavor='bulma-light'] .highlight .nc,
|
|
44
|
+
html[data-flavor='bulma-light'] .highlight .no,
|
|
45
|
+
html[data-flavor='bulma-light'] .highlight .nf {
|
|
46
|
+
color: var(--syntax-title);
|
|
47
|
+
}
|
|
48
|
+
html[data-flavor='bulma-light'] {
|
|
49
|
+
--bulma-body-background-color: #ffffff;
|
|
50
|
+
--bulma-body-color: #363636;
|
|
51
|
+
--bulma-primary-h: 171;
|
|
52
|
+
--bulma-primary-s: 100%;
|
|
53
|
+
--bulma-primary-l: 41%;
|
|
54
|
+
--bulma-link: #485fc7;
|
|
55
|
+
--bulma-info: #209cee;
|
|
56
|
+
--bulma-success: #48c774;
|
|
57
|
+
--bulma-warning: #ffdd57;
|
|
58
|
+
--bulma-danger: #f14668;
|
|
59
|
+
--bulma-border: #dbdbdb;
|
|
60
|
+
--theme-font-sans:
|
|
61
|
+
system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, 'Apple Color Emoji',
|
|
62
|
+
'Segoe UI Emoji';
|
|
63
|
+
--theme-font-mono:
|
|
64
|
+
ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
|
|
65
|
+
monospace;
|
|
66
|
+
--theme-text: #363636;
|
|
67
|
+
--theme-text-muted: #4a4a4a;
|
|
68
|
+
--theme-link: #485fc7;
|
|
69
|
+
--theme-code-fg: #f14668;
|
|
70
|
+
--theme-code-bg: #f6f8fa;
|
|
71
|
+
--theme-pre-fg: #24292e;
|
|
72
|
+
--theme-pre-bg: #f6f8fa;
|
|
73
|
+
--theme-pre-border: #e1e4e8;
|
|
74
|
+
--theme-table-border: #dbdbdb;
|
|
75
|
+
--theme-table-stripe: #f5f5f5;
|
|
76
|
+
--theme-table-thead-bg: #f5f5f5;
|
|
77
|
+
--theme-label-color: #363636;
|
|
78
|
+
--theme-h1: #48c774;
|
|
79
|
+
--theme-h2: #485fc7;
|
|
80
|
+
--theme-h3: #209cee;
|
|
81
|
+
--theme-h4: #ffdd57;
|
|
82
|
+
--theme-h5: #00d1b2;
|
|
83
|
+
--theme-h6: #f14668;
|
|
84
|
+
--syntax-fg: #24292e;
|
|
85
|
+
--syntax-bg: #f6f8fa;
|
|
86
|
+
--syntax-keyword: #ffdd57;
|
|
87
|
+
--syntax-string: #48c774;
|
|
88
|
+
--syntax-number: #ffdd57;
|
|
89
|
+
--syntax-comment: #4a4a4a;
|
|
90
|
+
--syntax-title: #209cee;
|
|
91
|
+
--syntax-attr: #485fc7;
|
|
92
|
+
--theme-surface-0: #ffffff;
|
|
93
|
+
--theme-surface-1: #ffffff;
|
|
94
|
+
--theme-surface-2: #ffffff;
|
|
95
|
+
color-scheme: light;
|
|
96
|
+
}
|