Liquid Snippets by ALSEL
🏗️ テーマ基盤上級

YAML フロントマターの形式整形

Liquid ファイルの先頭にある YAML フロントマター(メタ情報)を Prettier で自動整形するためのテストケース。空の YAML ブロックや複数ブロック、ブロック後のテキストの処理に対応した形式化ルールを示す。

用途
Liquid テンプレートファイルに記述した YAML メタデータ(設定値、レイアウト指定など)を一貫した見た目に自動修正するとき。開発時のコード品質維持に用いる。
設置場所
このコード自体はテストケース集であり、直接テーマに貼り付けるものではない。Prettier Liquid プラグイン( `@shopify/prettier-plugin-liquid` )の開発・テスト環境で参照し、YAML ブロックの整形ルールを検証する際に使用する。
注意点
このスニペットはテスト用の仕様書であって、実装ではない。実際の YAML フロントマター整形機能は Prettier プラグイン側で提供されるため、ストアテーマに直接組み込む必要はない。Liquid ファイルで YAML メタデータを使う場合、プラグインのバージョンと対応する Prettier バージョンを揃えておくと整形が正しく動く。
タグ:yaml-frontmatterprettierformattingliquid-syntaxdevelopment-tool

コード

31 行 / liquid
---
hello: world
array:
  - one
  - "{{ liquid }}"
  - three
---
<body>
  hello
</body>

It should handle empty yaml blocks
---
---
<body>
  hello
</body>

It should format text after the block correctly
printWidth: 1
---
hello: world
array:
  - one
  - "{{ liquid }}"
  - three
---
this
is
text

出典・ライセンス

License:
MIT

このコードは Shopify 著作の MIT ライセンスソースです。 原本の著作権は Shopify が保有します。日本語訳は ALSEL によるものです。

関連項目

🏗️ テーマ基盤中級

セクションスキーマのカスタムブロック定義

セクションの schema ブロック内でカスタムブロックタイプを定義する方法を示すサンプル。@theme と _private というプレフィックスで異なるブロック種別を宣言する。

📁 theme-tools·MIT·7
🏗️ テーマ基盤初級

セクション呼び出しのフォーマット

Liquid の section タグを複数行に記述する際の正しいフォーマット例。タグ名を改行で分割しても正しく認識される書き方を示す。

📁 theme-tools·MIT·7
🏗️ テーマ基盤初級

レイアウトテンプレートの指定

Liquid の `layout` タグを使い、テーマのレイアウトファイルを指定する構文。複数のレイアウト候補と whitespace 制御(ダッシュ記号)の使い方を示す。

📁 theme-tools·MIT·8
🏗️ テーマ基盤上級

Liquid フォーマッター互換のセクション表記

Prettier Liquid プラグインのテストケースで、セクションタグの様々な書式を検証する。異なる間隔・改行・ホワイトスペーストリミングの組み合わせでもセクション名が崩れないことを確認する。

📁 theme-tools·MIT·9
🏗️ テーマ基盤初級

基本的なHTMLレイアウト

Prettier Liquid プラグインのテスト用に作られた最小限の HTML テンプレート。DOCTYPE から body タグまでの基本的なドキュメント構造を示す。

📁 theme-tools·MIT·10
🏗️ テーマ基盤上級

layout タグのフォーマット

Liquid の layout タグの書式をコード品質ツール(Prettier)でフォーマットするテストケース。スペースや改行位置の違いを正規化し、レイアウト名が壊れないことを検証する。

📁 theme-tools·MIT·10