0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HubSpot CMS 開発入門 第2回:テーマ構造と作成方法

Posted at

HubSpot CMS 開発シリーズの第2回では、HubSpot の「テーマ」について詳しく解説します。テーマはサイトのデザインや構造をコントロールする最上位の単位で、開発者が最初に作成すべき重要なパーツです。

テーマとは?

HubSpot におけるテーマは、テンプレート・モジュール・スタイル・構成ファイルなどを一つにまとめたフォルダー構造で、ウェブサイト全体のビジュアルと機能を統一的に管理します。

テーマの主な目的

  • ページやブログのテンプレートを再利用できるようにする
  • カスタムモジュールを一元管理する
  • スタイルガイドやデザインシステムに基づいた開発を可能にする
  • 編集者が視覚的にデザイン調整できるようにする(テーマフィールド)

テーマの構成例

以下が典型的なテーマフォルダー構成です:

my-theme/
├── templates/           # テンプレート(HTML)
│   ├── layout.html
│   └── blog.html
├── modules/             # 再利用可能なモジュール
│   └── hero-banner.module
├── css/                 # スタイル(CSS or SCSS)
│   └── styles.css
├── images/              # 画像
│   └── logo.png
├── theme.json           # テーマの基本情報
├── fields.json          # 編集可能なフィールドの定義
└── preview.png          # テーマのプレビュー画像

theme.json と fields.json はテーマの中心ファイルです。CLI やマーケットプレイスでのインポートに必要です。

各ファイルの説明

  • theme.json テーマのメタデータ(名前、説明、バージョンなど)
  • fields.json エディター向けの調整可能な色・フォントなどの設定項目
  • templates/ 各ページのベース構造(トップページ、ブログ、LPなど)
  • modules/ Hero セクション、CTA、画像ギャラリーなど再利用可能部品
  • css/ 共通スタイルシート
  • preview.png テーマ一覧で表示されるプレビュー画像

theme.json の例

{
  "label": "My Custom Theme",
  "screenshot_path": "preview.png",
  "author": {
    "name": "Trieu Cuong",
    "email": "you@example.com"
  }
}

fields.json の例

[
  {
    "name": "primary_color",
    "label": "Primary Color",
    "type": "color",
    "default": "#FF6600"
  },
  {
    "name": "font_family",
    "label": "Font Family",
    "type": "font",
    "default": {
      "font": "Arial",
      "fallback": "sans-serif"
    }
  }
]

これにより、HubSpot の UI 上で編集者が色やフォントを自由に変更できるようになります!

CLI を使ってテーマを作成する

hs create theme my-theme
cd my-theme

これにより、ベース構造が自動生成され、すぐに開発に取りかかることができます。

テーマをテストする方法

  • テーマをアップロード:
hs upload my-theme my-theme
  • HubSpot ポータルにログインし、デザインマネージャー でテーマを確認
  • 新しいページ作成画面でテーマが選べるか確認

ベストプラクティス

  • 命名規則:テーマ名、テンプレート名、モジュール名に意味のある英語を使用する(例:hero-banner)
  • 再利用性を意識:各モジュールは他のテンプレートでも使えるように汎用性を意識
  • UI フィールド設計:編集者にとって分かりやすい名前・説明を付ける

まとめ

HubSpot のテーマは、単なるテンプレート集ではなく、サイトのブランド体験と運用の効率性を支える土台です。

次回は、HubL テンプレートエンジンの基礎を学び、ページに動的データや条件分岐を組み込む方法を紹介します!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?