カラーモード
テーマ
テーマは配色の定義です。Misskey 本体と同じ形式なので、NoteDeck で作ったテーマは素の Misskey にもそのまま配れます。
配色ではなくレイアウトや要素の表示・非表示を変えたい場合は、見た目を変えるのカスタム CSS を使います。
構造
JSON5 で書きます。キーのクォート省略、末尾カンマ、コメントが使えます。
json5
{
id: '679b3b87-a4e9-4789-8696-b56c15cc33b0', // 必須。UUID が慣例
name: 'テーマ名', // 必須
base: 'dark', // 'light' か 'dark'
desc: '一言説明', // 任意
author: '@user@host', // 任意
props: { /* 色定義 */ },
}props に書かなかったキーは base に指定した標準テーマの値が使われます。全部書く必要はなく、変えたいところだけ書けば動きます。
id は上書きのキーです。同じ id で入れ直すと既存のテーマが置き換わるため、新しいテーマには必ず新しい id を振ってください。
値の書き方
リテラル色 — '#f00' '#ff0000' '#ff000080'(8 桁はアルファ付き)'rgb(255, 0, 0)' 'rgba(255, 0, 0, 0.5)'
参照 — '@accent' のように、同じテーマの別の値を使います。参照先がさらに参照や関数でも解決されます。存在しない名前を参照すると空になり、その色が消えます。書き間違いに注意してください。
関数 — :関数<引数<値 の形で色を加工します。閉じ括弧は書きません。
| 関数 | 効果 |
|---|---|
:lighten<10<@accent | 明るくする |
:darken<10<@accent | 暗くする |
:alpha<0.3<@accent | 不透明度を置き換える(乗算ではない) |
:hue<20<@accent | 色相を回す |
:saturate<15<@accent | 彩度を上げる(負の数で下げる) |
':alpha<0.5<:lighten<10<@accent' のように入れ子にできます。ここにない関数名は解釈されず、文字列がそのまま出て崩れて見えます。関数の入力に red のような色名は使えません。
生の CSS — 先頭に " を 1 つ置くと、以降がそのまま CSS 値になります。閉じません。他の値は var(--MI_THEME-プロパティ名) で参照できます。
json5
panelBorder: '" solid 1px var(--MI_THEME-divider)',$定数 は使えない
Misskey 本体のテーマ形式には props の中で $名前 として定数を定義する仕様がありますが、NoteDeck は未対応で空になります。@ の参照で代用してください。
作る・配る
AI カラムで「〇〇なイメージのテーマを作って」と頼めます。手で書く場合は設定フォルダに置きます。作ったものは MisStore で配布できます(提出のしかた / 書式)。