vole
Clone
Read only, no credentials:
https://rodent.software/git/vole.git
Write over SSH with a registered key:
git clone ssh://git@0.0.0.0:2222/vole.git
A free and open-source forge that lives in your Git repo.
Add six more built-in palette themes
97b3b0223992b99e3a862c366fa2a830add058b5 · Keenan Nemetz · 1d ago · parent b42d384d
Add six more built-in palette themes Rosé Pine Moon and Dawn, Kanagawa Wave, Dracula, Tokyo Night, and Ayu Light join the picker. Each has the full token set, including syntax colours, and the six new ids are reserved against instance theme packs. Record the five upstream projects and their MIT license texts in NOTICE.
server/web/static/palettes.css +258
| @@ -177,3 +177,261 @@ | |||
| 177 | 177 | --syn-added: #859900; | |
| 178 | 178 | --syn-deleted: #dc322f; | |
| 179 | 179 | } | |
| 180 | |||
| 181 | /* ---------- Rosé Pine Moon ---------- */ | ||
| 182 | |||
| 183 | :root[data-theme="rose-pine-moon"] { | ||
| 184 | color-scheme: dark; | ||
| 185 | |||
| 186 | --bg: #232136; | ||
| 187 | --bg-panel: #2a273f; | ||
| 188 | --bg-raised: #393552; | ||
| 189 | --bg-hover: #44415a; | ||
| 190 | --bg-active: #524f67; | ||
| 191 | --border: #393552; | ||
| 192 | --border-strong: #524f67; | ||
| 193 | |||
| 194 | --fg: #e0def4; | ||
| 195 | --fg-muted: #908caa; | ||
| 196 | --fg-faint: #6e6a86; | ||
| 197 | |||
| 198 | --accent: #c4a7e7; | ||
| 199 | --accent-fg: #232136; | ||
| 200 | --accent-soft: rgba(196, 167, 231, 0.16); | ||
| 201 | --running: #3e8fb0; | ||
| 202 | --good: #9ccfd8; | ||
| 203 | --good-soft: rgba(156, 207, 216, 0.14); | ||
| 204 | --bad: #eb6f92; | ||
| 205 | --bad-soft: rgba(235, 111, 146, 0.14); | ||
| 206 | --warn: #f6c177; | ||
| 207 | --warn-soft: rgba(246, 193, 119, 0.14); | ||
| 208 | --merged: #ea9a97; | ||
| 209 | --merged-soft: rgba(234, 154, 151, 0.14); | ||
| 210 | |||
| 211 | --syn-comment: #6e6a86; | ||
| 212 | --syn-punctuation: #908caa; | ||
| 213 | --syn-operator: #ea9a97; | ||
| 214 | --syn-number: #f6c177; | ||
| 215 | --syn-string: #9ccfd8; | ||
| 216 | --syn-keyword: #eb6f92; | ||
| 217 | --syn-function: #3e8fb0; | ||
| 218 | --syn-type: #c4a7e7; | ||
| 219 | --syn-variable: #e0def4; | ||
| 220 | --syn-added: #9ccfd8; | ||
| 221 | --syn-deleted: #eb6f92; | ||
| 222 | } | ||
| 223 | |||
| 224 | /* ---------- Rosé Pine Dawn ---------- */ | ||
| 225 | |||
| 226 | :root[data-theme="rose-pine-dawn"] { | ||
| 227 | color-scheme: light; | ||
| 228 | |||
| 229 | --bg: #faf4ed; | ||
| 230 | --bg-panel: #fffaf3; | ||
| 231 | --bg-raised: #f2e9e1; | ||
| 232 | --bg-hover: #dfdad9; | ||
| 233 | --bg-active: #cecacd; | ||
| 234 | --border: #f2e9e1; | ||
| 235 | --border-strong: #dfdad9; | ||
| 236 | |||
| 237 | --fg: #464261; | ||
| 238 | --fg-muted: #797593; | ||
| 239 | --fg-faint: #9893a5; | ||
| 240 | |||
| 241 | --accent: #907aa9; | ||
| 242 | --accent-fg: #faf4ed; | ||
| 243 | --accent-soft: rgba(144, 122, 169, 0.12); | ||
| 244 | --running: #56949f; | ||
| 245 | --good: #286983; | ||
| 246 | --good-soft: rgba(40, 105, 131, 0.12); | ||
| 247 | --bad: #b4637a; | ||
| 248 | --bad-soft: rgba(180, 99, 122, 0.10); | ||
| 249 | --warn: #ea9d34; | ||
| 250 | --warn-soft: rgba(234, 157, 52, 0.12); | ||
| 251 | --merged: #d7827e; | ||
| 252 | --merged-soft: rgba(215, 130, 126, 0.12); | ||
| 253 | |||
| 254 | --syn-comment: #9893a5; | ||
| 255 | --syn-punctuation: #797593; | ||
| 256 | --syn-operator: #d7827e; | ||
| 257 | --syn-number: #907aa9; | ||
| 258 | --syn-string: #56949f; | ||
| 259 | --syn-keyword: #b4637a; | ||
| 260 | --syn-function: #286983; | ||
| 261 | --syn-type: #ea9d34; | ||
| 262 | --syn-variable: #464261; | ||
| 263 | --syn-added: #286983; | ||
| 264 | --syn-deleted: #b4637a; | ||
| 265 | } | ||
| 266 | |||
| 267 | /* ---------- Kanagawa Wave ---------- */ | ||
| 268 | |||
| 269 | :root[data-theme="kanagawa-wave"] { | ||
| 270 | color-scheme: dark; | ||
| 271 | |||
| 272 | --bg: #1f1f28; | ||
| 273 | --bg-panel: #181820; | ||
| 274 | --bg-raised: #2a2a37; | ||
| 275 | --bg-hover: #363646; | ||
| 276 | --bg-active: #54546d; | ||
| 277 | --border: #2a2a37; | ||
| 278 | --border-strong: #54546d; | ||
| 279 | |||
| 280 | --fg: #dcd7ba; | ||
| 281 | --fg-muted: #c8c093; | ||
| 282 | --fg-faint: #727169; | ||
| 283 | |||
| 284 | --accent: #7e9cd8; | ||
| 285 | --accent-fg: #1f1f28; | ||
| 286 | --accent-soft: rgba(126, 156, 216, 0.16); | ||
| 287 | --running: #7fb4ca; | ||
| 288 | --good: #98bb6c; | ||
| 289 | --good-soft: rgba(152, 187, 108, 0.14); | ||
| 290 | --bad: #c34043; | ||
| 291 | --bad-soft: rgba(195, 64, 67, 0.14); | ||
| 292 | --warn: #dca561; | ||
| 293 | --warn-soft: rgba(220, 165, 97, 0.14); | ||
| 294 | --merged: #957fb8; | ||
| 295 | --merged-soft: rgba(149, 127, 184, 0.14); | ||
| 296 | |||
| 297 | --syn-comment: #727169; | ||
| 298 | --syn-punctuation: #c8c093; | ||
| 299 | --syn-operator: #ffa066; | ||
| 300 | --syn-number: #d27e99; | ||
| 301 | --syn-string: #98bb6c; | ||
| 302 | --syn-keyword: #e46876; | ||
| 303 | --syn-function: #7e9cd8; | ||
| 304 | --syn-type: #e6c384; | ||
| 305 | --syn-variable: #dcd7ba; | ||
| 306 | --syn-added: #98bb6c; | ||
| 307 | --syn-deleted: #c34043; | ||
| 308 | } | ||
| 309 | |||
| 310 | /* ---------- Dracula ---------- */ | ||
| 311 | |||
| 312 | :root[data-theme="dracula"] { | ||
| 313 | color-scheme: dark; | ||
| 314 | |||
| 315 | --bg: #282a36; | ||
| 316 | --bg-panel: #21222c; | ||
| 317 | --bg-raised: #44475a; | ||
| 318 | --bg-hover: #52556b; | ||
| 319 | --bg-active: #5f6379; | ||
| 320 | --border: #44475a; | ||
| 321 | --border-strong: #6272a4; | ||
| 322 | |||
| 323 | --fg: #f8f8f2; | ||
| 324 | --fg-muted: #c5c8d6; | ||
| 325 | --fg-faint: #8f93b0; | ||
| 326 | |||
| 327 | --accent: #bd93f9; | ||
| 328 | --accent-fg: #282a36; | ||
| 329 | --accent-soft: rgba(189, 147, 249, 0.16); | ||
| 330 | --running: #8be9fd; | ||
| 331 | --good: #50fa7b; | ||
| 332 | --good-soft: rgba(80, 250, 123, 0.14); | ||
| 333 | --bad: #ff5555; | ||
| 334 | --bad-soft: rgba(255, 85, 85, 0.14); | ||
| 335 | --warn: #f1fa8c; | ||
| 336 | --warn-soft: rgba(241, 250, 140, 0.14); | ||
| 337 | --merged: #ff79c6; | ||
| 338 | --merged-soft: rgba(255, 121, 198, 0.14); | ||
| 339 | |||
| 340 | --syn-comment: #6272a4; | ||
| 341 | --syn-punctuation: #b0b3c5; | ||
| 342 | --syn-operator: #ff79c6; | ||
| 343 | --syn-number: #bd93f9; | ||
| 344 | --syn-string: #f1fa8c; | ||
| 345 | --syn-keyword: #ff79c6; | ||
| 346 | --syn-function: #50fa7b; | ||
| 347 | --syn-type: #8be9fd; | ||
| 348 | --syn-variable: #f8f8f2; | ||
| 349 | --syn-added: #50fa7b; | ||
| 350 | --syn-deleted: #ff5555; | ||
| 351 | } | ||
| 352 | |||
| 353 | /* ---------- Tokyo Night ---------- */ | ||
| 354 | |||
| 355 | :root[data-theme="tokyo-night"] { | ||
| 356 | color-scheme: dark; | ||
| 357 | |||
| 358 | --bg: #1a1b26; | ||
| 359 | --bg-panel: #16161e; | ||
| 360 | --bg-raised: #292e42; | ||
| 361 | --bg-hover: #2f334d; | ||
| 362 | --bg-active: #363b54; | ||
| 363 | --border: #292e42; | ||
| 364 | --border-strong: #3b4261; | ||
| 365 | |||
| 366 | --fg: #c0caf5; | ||
| 367 | --fg-muted: #a9b1d6; | ||
| 368 | --fg-faint: #565f89; | ||
| 369 | |||
| 370 | --accent: #7aa2f7; | ||
| 371 | --accent-fg: #1a1b26; | ||
| 372 | --accent-soft: rgba(122, 162, 247, 0.16); | ||
| 373 | --running: #7dcfff; | ||
| 374 | --good: #9ece6a; | ||
| 375 | --good-soft: rgba(158, 206, 106, 0.14); | ||
| 376 | --bad: #f7768e; | ||
| 377 | --bad-soft: rgba(247, 118, 142, 0.14); | ||
| 378 | --warn: #e0af68; | ||
| 379 | --warn-soft: rgba(224, 175, 104, 0.14); | ||
| 380 | --merged: #bb9af7; | ||
| 381 | --merged-soft: rgba(187, 154, 247, 0.14); | ||
| 382 | |||
| 383 | --syn-comment: #565f89; | ||
| 384 | --syn-punctuation: #a9b1d6; | ||
| 385 | --syn-operator: #89ddff; | ||
| 386 | --syn-number: #ff9e64; | ||
| 387 | --syn-string: #9ece6a; | ||
| 388 | --syn-keyword: #bb9af7; | ||
| 389 | --syn-function: #7aa2f7; | ||
| 390 | --syn-type: #2ac3de; | ||
| 391 | --syn-variable: #c0caf5; | ||
| 392 | --syn-added: #9ece6a; | ||
| 393 | --syn-deleted: #f7768e; | ||
| 394 | } | ||
| 395 | |||
| 396 | /* ---------- Ayu Light ---------- */ | ||
| 397 | |||
| 398 | :root[data-theme="ayu-light"] { | ||
| 399 | color-scheme: light; | ||
| 400 | |||
| 401 | --bg: #fcfcfc; | ||
| 402 | --bg-panel: #f8f9fa; | ||
| 403 | --bg-raised: #ebeef0; | ||
| 404 | --bg-hover: #e1e5e8; | ||
| 405 | --bg-active: #d6dbdf; | ||
| 406 | --border: #e1e5e8; | ||
| 407 | --border-strong: #c9cfd4; | ||
| 408 | |||
| 409 | --fg: #5c6773; | ||
| 410 | --fg-muted: #6b7d8f; | ||
| 411 | --fg-faint: #9aa5af; | ||
| 412 | |||
| 413 | --accent: #d97706; | ||
| 414 | --accent-fg: #fcfcfc; | ||
| 415 | --accent-soft: rgba(217, 119, 6, 0.12); | ||
| 416 | --running: #22a4e6; | ||
| 417 | --good: #5c8a00; | ||
| 418 | --good-soft: rgba(92, 138, 0, 0.12); | ||
| 419 | --bad: #e65050; | ||
| 420 | --bad-soft: rgba(230, 80, 80, 0.10); | ||
| 421 | --warn: #b8860b; | ||
| 422 | --warn-soft: rgba(184, 134, 11, 0.12); | ||
| 423 | --merged: #a37acc; | ||
| 424 | --merged-soft: rgba(163, 122, 204, 0.12); | ||
| 425 | |||
| 426 | --syn-comment: #9aa5af; | ||
| 427 | --syn-punctuation: #6b7d8f; | ||
| 428 | --syn-operator: #ed9366; | ||
| 429 | --syn-number: #a37acc; | ||
| 430 | --syn-string: #5c8a00; | ||
| 431 | --syn-keyword: #d97706; | ||
| 432 | --syn-function: #22a4e6; | ||
| 433 | --syn-type: #22a4e6; | ||
| 434 | --syn-variable: #5c6773; | ||
| 435 | --syn-added: #5c8a00; | ||
| 436 | --syn-deleted: #e65050; | ||
| 437 | } | ||