DawnのVersion10.0.0からカラースキーマ(
カラースキーマの設定方法、使い方について解説します。
リリースノートカラースキーマの使い方
カラースキーマを使うにあたって編集するファイルは以下の3つになります。(test.liquidはオリジナルセクションです)
セクションだけではなくsettings_schema.json, settings_data.jsonも編集しないとエラーになるので注意してください
ファイル構造
config(設定)
L settings_schema.json
L settings_data.json
sections(セクション)
L test.liquid
settings_schema.json
([]のなかに追記する)
settings_data.json
("current": {}のなかに追記する)
test.liquid
セクションのスキーマに設定するだけだと使えない
test.liquidのスキーマを設定するだけだと画像のようなエラーになります。
エラー内容
配色を表示できません。配色は、settings_dataおよびsettings_schemaで定義する必要があります。 変更内容をプレビューするには、settings_dataとsettings_schemaファイルで配色を定義する必要があります。
要はsettings_data.jsonとsettings_schema.jsonにコードを追記する必要があります。
各ファイルの解説
settings_schema.json
※“type” : “color_scheme_group”はsettings_schema.json のみ設定できます。①のdefinitionで設定した部分はここに反映されます↓↓
schemaのtypeは
②のroleの部分はここに反映されます↓↓
roleは①で設定した色を配色してプレビューしてくれます。
オレンジの部分に①のdefinitionで設定したidを入れることで下記画像のように配色されます
※roleの設定は必須なので必ず設定しましょうroleについて詳しくはこちら
settings_data.json
配色したものがjson形式で保存されるファイルになります。
あらかじめ1つ以上設定しておかないとエラーになります。
1つ定義しておけば編集や追加ができるのでコードを"current": {}の中に記述しましょう!
test.liquid
color_schemeを設定した際の管理画面での見え方↓↓
出力方法
カラーコードを出力したい場合は
{{ section.settings.color_scheme.settings.〇〇 }}
〇〇の部分はsettings_data.jsonで設定したdefinitionのなかのidを指定してあげればいいです!!
id探すの面倒な場合は
{{ section.settings.color_scheme.settings }}
で一覧が表示されるのでそれでidを確認するのもいいかと思います!
Dawnだとこんなふうに使われている
theme.liquidにこんな記述があります
何これ??はてな?って感じですが。
css変数を使っているみたいで(:root使っている)
各「color-カラースキーマのid」のクラスに対して色を入れているみたいです。
css変数とカラースキーマを使って動的に色が変わるようにしているイメージですかね!
まとめ
正直あまり使うことはなさそうな気がします。(Dawnのようにcss変数見たいな使い方はできそうですが)
うまく使いこなせれば色の管理がしやすくなりそうですが(色の 実装でいい使用例がありましたら改めて共有しまーす! color_scheme単体じゃ使えないsettings_schema.json 、settings_data.jsonも設定しないといけない!と覚えていただければと思います。