theme-shopify-section-structure について
theme-shopify-section-structureは、Shopifyテーマのセクション構成ガイドです。テーマ開発者向けに、Liquid、CSS、任意のJavaScriptファイルの整理と、余白設定やプリセットを含むschemaの構成を示します。
主な機能
- 01セクション・CSS・JSファイルの分離
- 02セクション別スタイルシートの読み込み
- 03余白設定を含むschemaの必須化
- 04schema構成のガイダンス
- 05プリセットの必須化
活用シーン
- 01Shopifyテーマセクションの作成
- 02既存セクションschemaの変更
- 03セクションへのレスポンシブな余白追加
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ niccos-shopify-workspace/ shopify-cursor-skills --skill theme-shopify-section-structureインストール後、Claude Code で/theme-shopify-section-structureを入力して読み込まれたか確認します。
同梱ファイルreferences/SHOPIFY_THEME_DOCS.md
詳細
Shopify セクション構成
適切なファイル構成、スキーマ設定、パディング設定で Shopify テーマのセクションを整理するためのガイドラインです。
使用する場面
- Shopify テーマの新しいセクションを作成する
- 既存のセクションスキーマを変更する
- セクションのファイル構成(Liquid、CSS、JS)を設定する
- セクションにパディング設定を追加する
セクションのファイル構成
各セクションには、以下が必要です。
- Liquid セクションファイル(
sections/ディレクトリ内の.liquidファイル) - 個別の CSS ファイル(
assets/ディレクトリ内) - 任意の個別の JS ファイル(
assets/ディレクトリ内)
CSS の読み込み
各セクションには、次の方法で専用のスタイルシートを含める必要があります。
{{ 'section-name.css' | asset_url | stylesheet_tag }}
重要:複数のセクションのスタイルを1つのファイルに混在させないでください。各セクションには専用の CSS ファイルが必要です。
例外:ファーストビューのセクション(例:header、announcement bar)では、クリティカル CSS を読み込むために、グローバルテーマファイル(theme.css など)のスタイルを使用できます。
JavaScript の読み込み
セクションで JavaScript が必要な場合は、個別に含めます。
<script src="{{ 'section-logic.js' | asset_url }}" defer="defer"></script>
セクションスキーマの要件
すべてのセクションスキーマには、パディング設定を必ず含める必要があります。
必須のパディング設定
スキーマに「Paddings」の見出しと、次の設定を追加します。
{
"type": "header",
"content": "Paddings"
},
{
"type": "range",
"id": "padding_top",
"label": "Padding Top",
"min": 0,
"max": 100,
"step": 1,
"unit": "px",
"default": 0
},
{
"type": "range",
"id": "padding_bottom",
"label": "Padding Bottom",
"min": 0,
"max": 100,
"step": 1,
"unit": "px",
"default": 0
},
{
"type": "range",
"id": "padding_top_mobile",
"label": "Padding Top (Mobile)",
"min": 0,
"max": 100,
"step": 1,
"unit": "px",
"default": 0
},
{
"type": "range",
"id": "padding_bottom_mobile",
"label": "Padding Bottom (Mobile)",
"min": 0,
"max": 100,
"step": 1,
"unit": "px",
"default": 0
}
スキーマのベストプラクティス
- 必要な場合にのみ設定を追加する
- スキーマを過剰に設定しない
- 少なくとも1つのプリセットを必ず含める
- 設定を整理し、論理的にまとめる
CSS でのパディングの適用
セクションの CSS でスキーマ設定を使用します。
.section-{{ section.id }}-padding {
padding-top: {{ section.settings.padding_top }}px;
padding-bottom: {{ section.settings.padding_bottom }}px;
}
@media (max-width: 749px) {
.section-{{ section.id }}-padding {
padding-top: {{ section.settings.padding_top_mobile }}px;
padding-bottom: {{ section.settings.padding_bottom_mobile }}px;
}
}
Shopify テーマのドキュメント
Shopify の公式リソースを参照してください。
セクション構成の例
sections/
└── featured-collection.liquid
assets/
├── featured-collection.css
└── featured-collection.js (optional)
手順
sections/ディレクトリに.liquid拡張子のセクションファイルを作成する- セクション名に合わせた CSS ファイルを
assets/ディレクトリに作成する stylesheet_tagフィルターを使用して、セクションに CSS を含める- 必須のパディング設定を含むスキーマを追加する
- スキーマに少なくとも1つのプリセットを追加する
- ファイルを分ける。複数のセクションのスタイルを1つの CSS ファイルに混在させない
コメント
Markdown 対応