BoxPistols / BoxPistols/BoostRecord

Rockabilly カラーテーマを外部へ配信する

Open
#138 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
1
Forks
0
Avg merge
11m
Merged PRs (30d)
19

Description

RockabillyはThe BoostersのUIテーマとして作った独自配色で、今回エディタ(CodeMirror)テーマとしても使えるようにした。他のエディタ・ターミナルでも使える形に切り出してあるので、外部へ配布する。

## 現状

配色の原盤は `assets/rockabilly/palette.json` ただ1つ。`node assets/rockabilly/build.mjs` が以下を生成する。

| 形式 | 出力 |
| --- | --- |
| CodeMirror 5 | `dist/codemirror/rockabilly.css` |
| VS Code | `dist/vscode/`(拡張機能の雛形一式) |
| iTerm2 | `dist/iterm2/Rockabilly.itermcolors` |
| Windows Terminal | `dist/windows-terminal/rockabilly.json` |
| Alacritty | `dist/alacritty/rockabilly.toml` |
| kitty | `dist/kitty/rockabilly.conf` |
| WezTerm | `dist/wezterm/rockabilly.lua` |
| base16 / tinted-theming | `dist/base16/base16-rockabilly.yaml` |
| CSSカスタムプロパティ | `dist/css/rockabilly.css` |

色は33色すべて地 `#1C1C1E` に対するコントラストを実測済みで、本文として読む色はWCAG 2.1の4.5:1を満たす(`assets/rockabilly/check-contrast.mjs`)。朱赤 `#D7263D` は3.43:1なので文字には使わず、カーソル・枠など非テキストに限っている。

## やること

- [ ] 名前の空き確認(VS Code Marketplace / npm / tinted-themingのschemes)。Web検索では見つからなかったが、検索エンジンはMarketplaceを網羅していないので直接確認する
- [ ] 独立リポジトリへ切り出す。本体はGPL-3.0、配色はMITで出す想定なので、同居させると説明が要る
- [ ] スクリーンショットとアイコンを用意する(同じコードを各ツールで撮る。JavaScript / Python / Markdownの3つで足りる)
- [ ] VS Code Marketplaceへpublish(Azure DevOpsの組織、PAT、`vsce` が要る。`dist/vscode/package.json` の `publisher` は仮置き)
- [ ] iterm2colorschemesへPR(Alacritty / kitty / WezTerm / Windows Terminalも同じリポジトリで受け付けている)
- [ ] tinted-themingのschemesへPR。**波及が一番大きい**(base16対応の数百アプリに一度に載る)。生成したYAMLは新スキーマの形で書いてあるが、向こうのバリデータに通していない
- [ ] JetBrains (.icls) / Sublime (.sublime-color-scheme) の生成器(優先度は低い。Vimはbase16経由で載る)

段取りの詳細は `assets/rockabilly/DISTRIBUTION.md`。

## 注意

公開前に必ず通す。

```
node assets/rockabilly/check-contrast.mjs
node assets/rockabilly/build.mjs
npx jest tests/lib/rockabillyPalette.test.js
git status # dist/ に差分が残っていないか
```

Contributor guide

Open the contributing guide

Research direction

Start with assets/rockabilly/DISTRIBUTION.md, assets/rockabilly/palette.json, and node assets/rockabilly/build.mjs to understand the distribution checklist and generated outputs. Run check-contrast.mjs, build.mjs, and tests/lib/rockabillyPalette.test.js first. Done means the planned external distributions, repository split, assets, and submissions are completed, with no unexpected dist/ changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, nodejs, vscode
Domain
release, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.