bulma-turbo-themes 0.5.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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +409 -0
- data/LICENSE +21 -0
- data/README.md +323 -0
- data/lib/bulma-turbo-themes.rb +8 -0
- metadata +69 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 6030bde47c69b18740775a31fd0fba64c9fcfb14bb09a97ec05f0154ebfa8961
|
|
4
|
+
data.tar.gz: 4edb7dd40621d67af5d8d8970459a8e0a9373fe96c1618cbaa1411cd3192210f
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 5b54a84786a9c5b43ad36b348080cb8a24f2a1e1f014b7d9366b1a7da11dc854351523f7560b853ac4747735130e7087e9a408d6a1de0b24d49cdec8d3498c65
|
|
7
|
+
data.tar.gz: 97b1ee60bcac1e13768978282e32e48a666afc5646bc8a7c9e9cb1c4d7d0da2ad368bf33dd336bea4d0ce6775777bd0fae71ab0514926710b1e508c91c0cf589
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on Keep a Changelog and this project adheres to SemVer.
|
|
6
|
+
|
|
7
|
+
## [Unreleased]
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- TBD
|
|
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
|
+
## [0.7.4] - 2025-11-16
|
|
104
|
+
|
|
105
|
+
### 🐛 Fixed
|
|
106
|
+
|
|
107
|
+
- add missing RubyGems endpoints to build job egress policy
|
|
108
|
+
|
|
109
|
+
## [0.7.3] - 2025-11-16
|
|
110
|
+
|
|
111
|
+
### 🐛 Fixed
|
|
112
|
+
|
|
113
|
+
- allow bundler download cdn
|
|
114
|
+
|
|
115
|
+
## [0.7.2] - 2025-11-16
|
|
116
|
+
|
|
117
|
+
### 🐛 Fixed
|
|
118
|
+
|
|
119
|
+
- allow release assets for gem publish
|
|
120
|
+
|
|
121
|
+
## [0.7.1] - 2025-11-16
|
|
122
|
+
|
|
123
|
+
### 🐛 Fixed
|
|
124
|
+
|
|
125
|
+
- add cache.ruby-lang.org to publish job egress policy
|
|
126
|
+
|
|
127
|
+
## [0.7.0] - 2025-11-16
|
|
128
|
+
|
|
129
|
+
### ✨ Added
|
|
130
|
+
|
|
131
|
+
- implement enterprise-level build/publish separation
|
|
132
|
+
|
|
133
|
+
## [0.6.5] - 2025-11-16
|
|
134
|
+
|
|
135
|
+
### 🐛 Fixed
|
|
136
|
+
|
|
137
|
+
- add Rakefile and build-gem.sh documentation
|
|
138
|
+
- improve Rakefile with best practices
|
|
139
|
+
- add Rakefile and use release-gem action for trusted publishing
|
|
140
|
+
|
|
141
|
+
## [0.6.4] - 2025-11-16
|
|
142
|
+
|
|
143
|
+
### 🐛 Fixed
|
|
144
|
+
|
|
145
|
+
- use configure-rubygems-credentials for OIDC auth
|
|
146
|
+
|
|
147
|
+
## [0.6.3] - 2025-11-16
|
|
148
|
+
|
|
149
|
+
### 🐛 Fixed
|
|
150
|
+
|
|
151
|
+
- use OIDC trusted publisher for RubyGems release
|
|
152
|
+
|
|
153
|
+
### 🔧 Changed
|
|
154
|
+
|
|
155
|
+
- resolve workflow failures in gem publishing and release creation
|
|
156
|
+
|
|
157
|
+
## [0.6.2] - 2025-11-16
|
|
158
|
+
|
|
159
|
+
### 🐛 Fixed
|
|
160
|
+
|
|
161
|
+
- add missing network endpoints for publish workflows
|
|
162
|
+
- Lighthouse reports not appearing on site and deploy-pages Ruby version
|
|
163
|
+
|
|
164
|
+
## [0.6.2] - 2025-11-16
|
|
165
|
+
|
|
166
|
+
### 🐛 Fixed
|
|
167
|
+
|
|
168
|
+
- add missing network endpoints for publish workflows
|
|
169
|
+
- Lighthouse reports not appearing on site and deploy-pages Ruby version
|
|
170
|
+
|
|
171
|
+
## [0.6.1] - 2025-11-16
|
|
172
|
+
|
|
173
|
+
### 🐛 Fixed
|
|
174
|
+
|
|
175
|
+
- add missing id-token permission and correct Ruby version
|
|
176
|
+
|
|
177
|
+
## [0.6.0] - 2025-11-16
|
|
178
|
+
|
|
179
|
+
### ✨ Added
|
|
180
|
+
|
|
181
|
+
- use GitHub App for release automation matching py-lintro pattern
|
|
182
|
+
|
|
183
|
+
### 🐛 Fixed
|
|
184
|
+
|
|
185
|
+
- prevent version PR infinite loop and add download retry logic
|
|
186
|
+
|
|
187
|
+
## [0.5.2] - 2025-11-15
|
|
188
|
+
|
|
189
|
+
### 🐛 Fixed
|
|
190
|
+
|
|
191
|
+
- handle existing PR gracefully in version bump workflow
|
|
192
|
+
- add actions:write permission for workflow_dispatch triggers
|
|
193
|
+
|
|
194
|
+
## [0.5.2] - 2025-11-15
|
|
195
|
+
|
|
196
|
+
### 🐛 Fixed
|
|
197
|
+
|
|
198
|
+
- add actions:write permission for workflow_dispatch triggers
|
|
199
|
+
|
|
200
|
+
## [0.5.2] - 2025-11-15
|
|
201
|
+
|
|
202
|
+
### 🐛 Fixed
|
|
203
|
+
|
|
204
|
+
- trigger publish workflows directly after tag creation
|
|
205
|
+
|
|
206
|
+
## [0.5.1] - 2025-11-15
|
|
207
|
+
|
|
208
|
+
### 🐛 Fixed
|
|
209
|
+
|
|
210
|
+
- trigger publish workflows directly after tag creation
|
|
211
|
+
|
|
212
|
+
## [0.5.0] - 2025-11-15
|
|
213
|
+
|
|
214
|
+
### ✨ Added
|
|
215
|
+
|
|
216
|
+
- implement Jekyll gem wrapper for bulma-turbo-themes (#80)
|
|
217
|
+
- add comprehensive Playwright E2E test suite with accessibility checks (#44)
|
|
218
|
+
- implement PR-based release workflow system (#31)
|
|
219
|
+
|
|
220
|
+
### 🐛 Fixed
|
|
221
|
+
|
|
222
|
+
- skip pre-commit hooks in automated version PR creation
|
|
223
|
+
- optimize complete release train workflow pipeline (#86)
|
|
224
|
+
- separate CI build script from local development build (#84)
|
|
225
|
+
- fix version PR branch checkout failure (#85)
|
|
226
|
+
- add CI environment detection and explicit --no-serve flag (#82)
|
|
227
|
+
- add checkout step to deployment workflows (#81)
|
|
228
|
+
- add Playwright browser caching and skip E2E tests in build workflow (#79)
|
|
229
|
+
- resolve hadolint binary naming and checksum verification issues (#78)
|
|
230
|
+
- remove monitoring uptime workflow (#30)
|
|
231
|
+
|
|
232
|
+
### 🔧 Changed
|
|
233
|
+
|
|
234
|
+
- update dependency ruby to v3.4.7 (#83)
|
|
235
|
+
- update ossf/scorecard-action digest to 4eaacf0 (#72)
|
|
236
|
+
- update softprops/action-gh-release digest to 5be0e66 (#76)
|
|
237
|
+
- update turbocoder13/py-lintro digest to b3fb40d (#77)
|
|
238
|
+
- update actions/download-artifact digest (#71)
|
|
239
|
+
- update actions/checkout digest to 08c6903 (#70)
|
|
240
|
+
- update dependency ruby (#68)
|
|
241
|
+
- update dependency jsdom to v27.1.0 (#67)
|
|
242
|
+
- update dependency eslint to v9.39.1 (#65)
|
|
243
|
+
- update dependency html-proofer to v5.1.0 (#66)
|
|
244
|
+
- update dependency happy-dom to v20.0.10 (#57)
|
|
245
|
+
- update softprops/action-gh-release digest to 00362be (#55)
|
|
246
|
+
- update github artifact actions (#60)
|
|
247
|
+
- update turbocoder13/py-lintro digest to 1e25709 (#56)
|
|
248
|
+
- update actions/setup-node action to v6 (#58)
|
|
249
|
+
- update actions/upload-pages-artifact action to v4 (#59)
|
|
250
|
+
- update github/codeql-action digest to 71d0a56 (#61)
|
|
251
|
+
- update peter-evans/create-or-update-comment action to v5 (#62)
|
|
252
|
+
- update peter-evans/find-comment action to v4 (#63)
|
|
253
|
+
- update sigstore/cosign-installer action to v4 (#64)
|
|
254
|
+
- update ruby/setup-ruby digest to d5126b9 (#54)
|
|
255
|
+
- update ossf/scorecard-action digest to ee561a8 (#53)
|
|
256
|
+
- update actions/checkout digest to ff7abcd (#45)
|
|
257
|
+
- update actions/github-script digest to ed59741 (#48)
|
|
258
|
+
- update actions/upload-artifact digest to 330a01c (#52)
|
|
259
|
+
- update actions/setup-node digest to dda4788 (#51)
|
|
260
|
+
- update github/codeql-action digest to ae78991 (#50)
|
|
261
|
+
- update actions/download-artifact digest to 018cc2c (#49)
|
|
262
|
+
- update actions/github-script action to v8 (#47)
|
|
263
|
+
- update actions/checkout action to v5 (#46)
|
|
264
|
+
- update sigstore/cosign-installer action to v3.10.1 (#43)
|
|
265
|
+
- update dependency happy-dom to v20.0.8 (#42)
|
|
266
|
+
- update codecov/codecov-action action to v5.5.1 (#41)
|
|
267
|
+
- update actions/upload-artifact action to v4.6.2 (#40)
|
|
268
|
+
- update actions/setup-node action to v4.4.0 (#39)
|
|
269
|
+
- update actions/upload-artifact digest to 2848b2c (#38)
|
|
270
|
+
- check for existing remote branch before creating local one (#36)
|
|
271
|
+
- update actions/github-script digest to ed59741 (#33)
|
|
272
|
+
- update actions/checkout digest to ff7abcd (#32)
|
|
273
|
+
- update dependency stylelint-config-standard to v39 (#29)
|
|
274
|
+
- update dependency lint-staged to v16 (#28)
|
|
275
|
+
- update typescript-eslint monorepo to v8.46.1 (#27)
|
|
276
|
+
- update dependency ruby to v3.4.7 (#26)
|
|
277
|
+
- update dependency eslint to v9.38.0 (#25)
|
|
278
|
+
|
|
279
|
+
## [0.4.0] - 2025-10-21
|
|
280
|
+
|
|
281
|
+
### ✨ Added
|
|
282
|
+
|
|
283
|
+
- implement PR-based release workflow system (#31)
|
|
284
|
+
|
|
285
|
+
### 🐛 Fixed
|
|
286
|
+
|
|
287
|
+
- remove monitoring uptime workflow (#30)
|
|
288
|
+
|
|
289
|
+
### 🔧 Changed
|
|
290
|
+
|
|
291
|
+
- update actions/setup-node action to v4.4.0 (#39)
|
|
292
|
+
- update actions/upload-artifact digest to 2848b2c (#38)
|
|
293
|
+
- check for existing remote branch before creating local one (#36)
|
|
294
|
+
- update actions/github-script digest to ed59741 (#33)
|
|
295
|
+
- update actions/checkout digest to ff7abcd (#32)
|
|
296
|
+
- update dependency stylelint-config-standard to v39 (#29)
|
|
297
|
+
- update dependency lint-staged to v16 (#28)
|
|
298
|
+
- update typescript-eslint monorepo to v8.46.1 (#27)
|
|
299
|
+
- update dependency ruby to v3.4.7 (#26)
|
|
300
|
+
- update dependency eslint to v9.38.0 (#25)
|
|
301
|
+
|
|
302
|
+
## [0.4.0] - 2025-10-21
|
|
303
|
+
|
|
304
|
+
### ✨ Added
|
|
305
|
+
|
|
306
|
+
- implement PR-based release workflow system (#31)
|
|
307
|
+
|
|
308
|
+
### 🐛 Fixed
|
|
309
|
+
|
|
310
|
+
- remove monitoring uptime workflow (#30)
|
|
311
|
+
|
|
312
|
+
### 🔧 Changed
|
|
313
|
+
|
|
314
|
+
- update actions/upload-artifact digest to 2848b2c (#38)
|
|
315
|
+
- check for existing remote branch before creating local one (#36)
|
|
316
|
+
- update actions/github-script digest to ed59741 (#33)
|
|
317
|
+
- update actions/checkout digest to ff7abcd (#32)
|
|
318
|
+
- update dependency stylelint-config-standard to v39 (#29)
|
|
319
|
+
- update dependency lint-staged to v16 (#28)
|
|
320
|
+
- update typescript-eslint monorepo to v8.46.1 (#27)
|
|
321
|
+
- update dependency ruby to v3.4.7 (#26)
|
|
322
|
+
- update dependency eslint to v9.38.0 (#25)
|
|
323
|
+
|
|
324
|
+
## [0.4.0] - 2025-10-19
|
|
325
|
+
|
|
326
|
+
### ✨ Added
|
|
327
|
+
|
|
328
|
+
- implement PR-based release workflow system (#31)
|
|
329
|
+
|
|
330
|
+
### 🐛 Fixed
|
|
331
|
+
|
|
332
|
+
- remove monitoring uptime workflow (#30)
|
|
333
|
+
|
|
334
|
+
### 🔧 Changed
|
|
335
|
+
|
|
336
|
+
- check for existing remote branch before creating local one (#36)
|
|
337
|
+
- update actions/github-script digest to ed59741 (#33)
|
|
338
|
+
- update actions/checkout digest to ff7abcd (#32)
|
|
339
|
+
- update dependency stylelint-config-standard to v39 (#29)
|
|
340
|
+
- update dependency lint-staged to v16 (#28)
|
|
341
|
+
- update typescript-eslint monorepo to v8.46.1 (#27)
|
|
342
|
+
- update dependency ruby to v3.4.7 (#26)
|
|
343
|
+
- update dependency eslint to v9.38.0 (#25)
|
|
344
|
+
|
|
345
|
+
## [0.4.0] - 2025-10-19
|
|
346
|
+
|
|
347
|
+
### ✨ Added
|
|
348
|
+
|
|
349
|
+
- implement PR-based release workflow system (#31)
|
|
350
|
+
|
|
351
|
+
### 🐛 Fixed
|
|
352
|
+
|
|
353
|
+
- remove monitoring uptime workflow (#30)
|
|
354
|
+
|
|
355
|
+
### 🔧 Changed
|
|
356
|
+
|
|
357
|
+
- update actions/github-script digest to ed59741 (#33)
|
|
358
|
+
- update actions/checkout digest to ff7abcd (#32)
|
|
359
|
+
- update dependency stylelint-config-standard to v39 (#29)
|
|
360
|
+
- update dependency lint-staged to v16 (#28)
|
|
361
|
+
- update typescript-eslint monorepo to v8.46.1 (#27)
|
|
362
|
+
- update dependency ruby to v3.4.7 (#26)
|
|
363
|
+
- update dependency eslint to v9.38.0 (#25)
|
|
364
|
+
|
|
365
|
+
## [0.3.0] - 2025-10-19
|
|
366
|
+
|
|
367
|
+
### ✨ Added
|
|
368
|
+
|
|
369
|
+
- implement PR-based release workflow system (#31)
|
|
370
|
+
|
|
371
|
+
### 🐛 Fixed
|
|
372
|
+
|
|
373
|
+
- remove monitoring uptime workflow (#30)
|
|
374
|
+
|
|
375
|
+
### 🔧 Changed
|
|
376
|
+
|
|
377
|
+
- update actions/github-script digest to ed59741 (#33)
|
|
378
|
+
- update actions/checkout digest to ff7abcd (#32)
|
|
379
|
+
- update dependency stylelint-config-standard to v39 (#29)
|
|
380
|
+
- update dependency lint-staged to v16 (#28)
|
|
381
|
+
- update typescript-eslint monorepo to v8.46.1 (#27)
|
|
382
|
+
- update dependency ruby to v3.4.7 (#26)
|
|
383
|
+
- update dependency eslint to v9.38.0 (#25)
|
|
384
|
+
|
|
385
|
+
## [0.2.0] - 2025-10-19
|
|
386
|
+
|
|
387
|
+
### ✨ Added
|
|
388
|
+
|
|
389
|
+
- implement PR-based release workflow system (#31)
|
|
390
|
+
|
|
391
|
+
### 🐛 Fixed
|
|
392
|
+
|
|
393
|
+
- remove monitoring uptime workflow (#30)
|
|
394
|
+
|
|
395
|
+
### 🔧 Changed
|
|
396
|
+
|
|
397
|
+
- update actions/github-script digest to ed59741 (#33)
|
|
398
|
+
- update actions/checkout digest to ff7abcd (#32)
|
|
399
|
+
- update dependency stylelint-config-standard to v39 (#29)
|
|
400
|
+
- update dependency lint-staged to v16 (#28)
|
|
401
|
+
- update typescript-eslint monorepo to v8.46.1 (#27)
|
|
402
|
+
- update dependency ruby to v3.4.7 (#26)
|
|
403
|
+
- update dependency eslint to v9.38.0 (#25)
|
|
404
|
+
|
|
405
|
+
## [0.1.0] - 2025-10-04
|
|
406
|
+
|
|
407
|
+
### Added
|
|
408
|
+
|
|
409
|
+
- Initial project setup, demo site, themes, and selector
|
data/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Turbo Coder
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
# turbo-themes
|
|
2
|
+
|
|
3
|
+
Universal, accessible theme packs and a drop-in theme selector.
|
|
4
|
+
|
|
5
|
+
[](https://bun.sh/)
|
|
6
|
+
[](https://nodejs.org/)
|
|
7
|
+
[](https://codecov.io/gh/TurboCoder13/turbo-themes)
|
|
8
|
+
[](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)
|
|
12
|
+
|
|
13
|
+
[](https://github.com/TurboCoder13/turbo-themes/actions/workflows/security-codeql.yml?query=branch%3Amain)
|
|
14
|
+
[](https://www.bestpractices.dev/projects/11471)
|
|
15
|
+
[](SECURITY.md)
|
|
16
|
+
[](https://github.com/TurboCoder13/turbo-themes/actions/workflows/security-sbom.yml)
|
|
17
|
+
|
|
18
|
+
[](https://www.npmjs.com/package/@turbocoder13/turbo-themes)
|
|
19
|
+
[](https://rubygems.org/gems/turbo-themes)
|
|
20
|
+
|
|
21
|
+
## Features
|
|
22
|
+
|
|
23
|
+
- Catppuccin, Dracula, GitHub (light/dark) flavor packs
|
|
24
|
+
- Accessible theme selector with keyboard and screen reader support
|
|
25
|
+
- Inline or link-based CSS delivery; CSP-friendly
|
|
26
|
+
- 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
|
+
|
|
31
|
+
## Installation
|
|
32
|
+
|
|
33
|
+
### For Jekyll Sites (Recommended)
|
|
34
|
+
|
|
35
|
+
Install as a Ruby gem:
|
|
36
|
+
|
|
37
|
+
```ruby
|
|
38
|
+
# Gemfile
|
|
39
|
+
gem "turbo-themes", "~> 0.10"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```yaml
|
|
43
|
+
# _config.yml
|
|
44
|
+
theme: turbo-themes
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Then run:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
bundle install
|
|
51
|
+
bundle exec jekyll serve
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Assets are automatically available - no copying needed!
|
|
55
|
+
|
|
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
|
+
### For Non-Jekyll Projects
|
|
61
|
+
|
|
62
|
+
Install via Bun (recommended) or npm:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Using Bun (recommended - 5-10x faster)
|
|
66
|
+
bun add @turbocoder13/turbo-themes
|
|
67
|
+
|
|
68
|
+
# Using npm
|
|
69
|
+
npm install @turbocoder13/turbo-themes
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Quick start
|
|
73
|
+
|
|
74
|
+
### Jekyll Sites
|
|
75
|
+
|
|
76
|
+
1. Install the gem (see above)
|
|
77
|
+
2. Include CSS links in your layout:
|
|
78
|
+
|
|
79
|
+
```html
|
|
80
|
+
<link
|
|
81
|
+
id="theme-global-css"
|
|
82
|
+
rel="stylesheet"
|
|
83
|
+
href="{{ '/assets/css/themes/global.css' | relative_url }}"
|
|
84
|
+
/>
|
|
85
|
+
<link id="theme-flavor-css" rel="stylesheet" href="#" />
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
1. Add selector markup and initialize:
|
|
89
|
+
|
|
90
|
+
```html
|
|
91
|
+
<div class="navbar-item has-dropdown is-hoverable">
|
|
92
|
+
<button
|
|
93
|
+
class="navbar-link"
|
|
94
|
+
id="theme-flavor-trigger"
|
|
95
|
+
type="button"
|
|
96
|
+
aria-haspopup="true"
|
|
97
|
+
aria-expanded="false"
|
|
98
|
+
aria-controls="theme-flavor-menu"
|
|
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">
|
|
104
|
+
<div class="dropdown-content" id="theme-flavor-items"></div>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
<div class="select is-rounded is-small is-hidden">
|
|
108
|
+
<select id="theme-flavor-select" aria-label="Theme flavor" disabled></select>
|
|
109
|
+
</div>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
```html
|
|
113
|
+
<script src="{{ '/assets/js/theme-selector.js' | relative_url }}"></script>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Non-Jekyll Projects
|
|
117
|
+
|
|
118
|
+
1. Copy CSS files from `node_modules/@turbocoder13/turbo-themes/assets/css/themes/` to your project:
|
|
119
|
+
- `global.css` (required)
|
|
120
|
+
- Flavor CSS files (e.g., `catppuccin-mocha.css`, `dracula.css`, `github-dark.css`) - copy the ones you want to use
|
|
121
|
+
2. Include CSS links (adjust paths to match your project structure):
|
|
122
|
+
|
|
123
|
+
```html
|
|
124
|
+
<link id="theme-global-css" rel="stylesheet" href="/assets/css/themes/global.css" />
|
|
125
|
+
<link id="theme-flavor-css" rel="stylesheet" href="#" />
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
1. Add selector markup and initialize:
|
|
129
|
+
|
|
130
|
+
```html
|
|
131
|
+
<div class="navbar-item has-dropdown is-hoverable">
|
|
132
|
+
<button
|
|
133
|
+
class="navbar-link"
|
|
134
|
+
id="theme-flavor-trigger"
|
|
135
|
+
type="button"
|
|
136
|
+
aria-haspopup="true"
|
|
137
|
+
aria-expanded="false"
|
|
138
|
+
aria-controls="theme-flavor-menu"
|
|
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">
|
|
144
|
+
<div class="dropdown-content" id="theme-flavor-items"></div>
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
147
|
+
<div class="select is-rounded is-small is-hidden">
|
|
148
|
+
<select id="theme-flavor-select" aria-label="Theme flavor" disabled></select>
|
|
149
|
+
</div>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
import { initTheme, wireFlavorSelector } from '@turbocoder13/turbo-themes';
|
|
154
|
+
|
|
155
|
+
document.addEventListener('DOMContentLoaded', () => {
|
|
156
|
+
initTheme(document, window);
|
|
157
|
+
wireFlavorSelector(document, window);
|
|
158
|
+
});
|
|
159
|
+
```
|
|
160
|
+
|
|
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
|
+
## Testing
|
|
249
|
+
|
|
250
|
+
This project includes comprehensive testing:
|
|
251
|
+
|
|
252
|
+
- **Unit Tests**: Vitest with coverage reporting
|
|
253
|
+
- **E2E Tests**: Playwright with Page Object Model pattern
|
|
254
|
+
- **Accessibility Tests**: axe-core integration for WCAG compliance
|
|
255
|
+
- **Visual Regression**: Playwright screenshots and snapshots
|
|
256
|
+
|
|
257
|
+
Run tests:
|
|
258
|
+
|
|
259
|
+
```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
|
+
npm test # Unit tests with coverage
|
|
270
|
+
npm run e2e # All E2E tests
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
For detailed E2E testing documentation, see `docs/E2E-TESTING.md`.
|
|
274
|
+
|
|
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
|
+
## Documentation
|
|
308
|
+
|
|
309
|
+
- Code of Conduct: see `CODE_OF_CONDUCT.md`
|
|
310
|
+
- Contributing Guide: see `CONTRIBUTING.md`
|
|
311
|
+
- Security Policy: see `SECURITY.md`
|
|
312
|
+
- Release process: see `docs/RELEASE-TRAIN.md`
|
|
313
|
+
- E2E Testing: see `docs/E2E-TESTING.md`
|
|
314
|
+
- Workflows & Actions: see `.github/workflows/README.md` and `.github/actions/README.md`
|
|
315
|
+
- Scripts: see `scripts/README.md`
|
|
316
|
+
|
|
317
|
+
## Governance
|
|
318
|
+
|
|
319
|
+
See `GOVERNANCE.md` and `MAINTAINERS.md`.
|
|
320
|
+
|
|
321
|
+
## License
|
|
322
|
+
|
|
323
|
+
MIT © Turbo Coder
|
metadata
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: bulma-turbo-themes
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.5.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Turbo Coder
|
|
8
|
+
bindir: bin
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: turbo-themes
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - "~>"
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '1.0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - "~>"
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '1.0'
|
|
26
|
+
description: This gem has been renamed to 'turbo-themes'. Please update your Gemfile
|
|
27
|
+
to `gem "turbo-themes"`.
|
|
28
|
+
email:
|
|
29
|
+
- turbocoder13@users.noreply.github.com
|
|
30
|
+
executables: []
|
|
31
|
+
extensions: []
|
|
32
|
+
extra_rdoc_files: []
|
|
33
|
+
files:
|
|
34
|
+
- CHANGELOG.md
|
|
35
|
+
- LICENSE
|
|
36
|
+
- README.md
|
|
37
|
+
- lib/bulma-turbo-themes.rb
|
|
38
|
+
homepage: https://github.com/TurboCoder13/turbo-themes
|
|
39
|
+
licenses:
|
|
40
|
+
- MIT
|
|
41
|
+
metadata:
|
|
42
|
+
bug_tracker_uri: https://github.com/TurboCoder13/turbo-themes/issues
|
|
43
|
+
changelog_uri: https://github.com/TurboCoder13/turbo-themes/blob/main/CHANGELOG.md
|
|
44
|
+
documentation_uri: https://turbocoder13.github.io/turbo-themes/
|
|
45
|
+
homepage_uri: https://github.com/TurboCoder13/turbo-themes
|
|
46
|
+
source_code_uri: https://github.com/TurboCoder13/turbo-themes
|
|
47
|
+
post_install_message: |
|
|
48
|
+
⚠️ DEPRECATION WARNING ⚠️
|
|
49
|
+
The 'bulma-turbo-themes' gem has been renamed to 'turbo-themes'.
|
|
50
|
+
Please update your Gemfile:
|
|
51
|
+
gem "turbo-themes"
|
|
52
|
+
rdoc_options: []
|
|
53
|
+
require_paths:
|
|
54
|
+
- lib
|
|
55
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
56
|
+
requirements:
|
|
57
|
+
- - ">="
|
|
58
|
+
- !ruby/object:Gem::Version
|
|
59
|
+
version: 2.6.0
|
|
60
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
61
|
+
requirements:
|
|
62
|
+
- - ">="
|
|
63
|
+
- !ruby/object:Gem::Version
|
|
64
|
+
version: '0'
|
|
65
|
+
requirements: []
|
|
66
|
+
rubygems_version: 3.6.9
|
|
67
|
+
specification_version: 4
|
|
68
|
+
summary: 'DEPRECATED: Use ''turbo-themes'' gem instead.'
|
|
69
|
+
test_files: []
|