制作担当者向け作業環境としてのデザインシステムを開発者が構築するためのHubSpot CMSテーマの作成について紹介します。
fields.json
ファイルに貼り付けることができます。
theme.json
とfields.json
の2つのJSONファイルが必要です。これらのファイルをルート テーマ フォルダーに含める必要があります。
サンプルから始めるには、HubSpot CMSボイラーテンプレートを参照してください。
theme.json
ファイルには、テーマの読み取り可能なラベル、プレビュースクリーンショット、テーマの動作のためのさまざまな設定など、テーマディレクトリーのメタ情報が含まれます。theme.json
ファイルの例を次に示します。
パラメーター | タイプ | 説明 |
---|---|---|
label | 文字列 | テーマの読み取り可能なラベル。テンプレート選択画面やテーマエディターなど、HubSpotアプリ全体にわたってテーマが表示されるさまざまな箇所で使用されます。 |
preview_path | 文字列 | テーマ内のテンプレートファイル(既定のテンプレート)への相対パス。これはテーマエディターでテーマをプレビューする際に使用されます。 |
screenshot_path | 文字列 | 画像ファイルへの相対パス。この画像は、テーマが選択されるさまざまな箇所(テンプレート選択画面など)で、テーマの外観を示すスナップショットの提供に使用されます。 |
enable_domain_stylesheets | ブール値 | ウェブサイト設定でドメインに添付されたスタイルシートをテーマ内のテンプレートに含めるかどうかを指定します。既定値はfalse です。 |
version | 文字列 | . に対応した整数のバージョン番号。 |
Author | オブジェクト | テーマプロバイダーとしての開発者自身に関する情報を提示するオブジェクト。name プロバイダーの名前。 email プロバイダーのサポート担当のEメールアドレス。 url プロバイダーのウェブサイト。 |
documentation_url | 文字列 | テーマドキュメントのリンク。 |
example_url | 文字列 | テーマの実例リンク。 |
license | 文字列 | 有効なSPDX IDまたはテーマ内のライセンスの相対パス。このライセンスは、テーマの作成者に対してどのような使用と変更を許可するかを規定します。マーケットプレイスに提出する場合に便利です。 |
is_available_for_new_content | ブール値 | 制作担当者のページにテーマが選択対象として表示されるかどうかを指定するブール値。既定値はtrue です。 |
fields.json
ファイルは、テーマエディターで利用可能なフィールドとフィールドグループ(スタイルフィールドを含む)を制御します。含めるフィールドは、ページエディターでの制作担当者による制御をどの程度可能にするかに応じて異なります。テーマ内で利用可能なフィールドの数は、モジュールと比べて限られています。これは、グローバルコンテンツがテーマのコンテンツに適している一方、テーマフィールドはスタイルオプションとして最適なためです。
例えば、テーマのfield.json
にサイトのタグラインのテキストフィールドを追加する代わりに、それをグローバルモジュールとして追加します。これにより、制作担当者はテーマエディターではなくページエディター内でタグラインを更新できるようになります。
テーマ内で使用できるフィールドを次に示します。
テーマフィールドで使用できるオプションに関する包括的なドキュメントについては、モジュールとテーマフィールドのドキュメントを参照してください。
fields.json
の値へのパスにthemeを使用したドット表記とプレフィックスを使用します。スタイルシートでテーマフィールド値を{{ theme.path.to.value }}
のような構文で使用できます。例えば、以下のフォントフィールドで説明します。
?testmode=true
を追加して、Enterキーを押します。その後、テストモードになります。?testmode=true
をアドレスバーのURLに追加します。