.info.ymlファイルを作成する
最終更新日 2020 年 11 月 23 日
テーマフォルダのルートに .info.yml ファイルを作成します。テーマフォルダ名は .info.yml ファイルのファイル名と同じ名前にする必要があります。もしテーマ名が "Fluffiness" の場合、テーマフォルダ名は "fluffiness / " で、.info.yml ファイル名は "fluffiness / fluffiness.info.yml" です。この .info.yml ファイルが存在する場合、このテーマは、管理画面の 管理 ”>” テーマに表示されます。モジュールや別のテーマで、使用されていないテーマ名をつけるようにしてください。テーマ名は、1つの Drupal セットアップの中で、固有の名前でなければなりません。そうでない場合、テーマコンポーネントが正しく読み込まれません。
フォルダ名(および .info.yml ファイル名)にスペースがある場合は、テーマ名のスペースをアンダースコアに置き換えます。
YAMLファイルの構造に詳しくない場合は、YAMLファイルフォーマットの簡単な紹介を読んでください。
- タブは使用できません。スペースのみを使用してください。
- プロパティとリストのインデントは、 2 スペースにする必要があります。
例)
name: Fluffiness
type: theme
description: 'A cuddly theme that offers extra fluffiness.'
core: 8.x
core_version_requirement: ^8 || ^9
libraries:
- fluffiness/global-styling
base theme: classy
regions:
header: Header
content: Content
sidebar_first: 'Sidebar first'
footer: Footer
Drupalサイト内では、コアが提供するさまざまな .info.ymlファイルのサンプルを見つけることができます。例としては、core/themes/starkフォルダ内の stark.info.yml ファイルなどです。
キーと値のペア
次のキーと値のペアは、テーマのメタデータやいくつかの基本的な機能を定義します。(\Drupal\Core\Extension\InfoParserInterface::parse() 参照)
- name (必須)
- type (必須)
- description (オプション)
- dependencies(オプション)
- package (オプション)
- core (必須、ただし core_version_requirement を含める場合はオプション)
- php (オプション)
- version (オプション)
- libraries (オプション)
- libraries-override (オプション)
- libraries-extend (オプション)
- base theme (Drupal 9 で必須、Drupal 8 でオプション)
- hidden (オプション)
- engine (オプション)
- logo (オプション)
- screenshot (オプション)
- regions (オプション)
- regions_hidden (オプション)
- features (オプション)
- stylesheets-remove (廃止予定)
- ckeditor_stylesheets (オプション)
name(必須)
ヒューマンリーダブルなテーマの名前を設定します。これは「テーマ」ページに表示されます。
name: Fluffiness
type (必須)
ファイルで拡張機能のタイプを設定します("module", "theme", "profile" など)。テーマの場合は"theme"に設定する必要があります。
type: theme
description (オプション)
「テーマ」ページに表示されるテーマの説明です。
description: An extra cuddly Drupal theme available in grey and blue.
dependencies (オプション)
Drupal 8.9 で導入されました
変更履歴:https://www.drupal.org/node/2937955
依存関係を記した文字列の配列
dependencies:
- drupal:views
- paragraphs:paragraphs
- components:components (>=8.x-2.x)
package (オプション)
テーマをグループ化するパッケージを指定します。
package: Core
core (必須)
テーマと互換性のあるDrupal coreのバージョンを指定します。
core: 8.x
core_version_requirement を指定する場合は省略可能です。また、Drupal 8.7.7 およびそれ以下はサポートしません。変更履歴を参照してください。
php (オプション)
最低限必要とされるPHPのバージョン。 デフォルトは、DRUPAL_MINIMUM_PHP constant の値になります。
php: 5.5.9
version (オプション)
バージョンを指定します。drupal.orgで提供されているテーマの場合は、バージョン番号はパッケージングスクリプトによって自動的に記入されますので、手動で設定せずに、version の行自体を完全に省略してください。
version: 8.x-1.0
または
version: '1.0'
libraries (オプション)
このテーマが有効なすべてのページに追加するライブラリの一覧を設定します。CSSアセットとJavaScriptアセットの両方を含むことが可能です。
詳しくは「テーマとライブラリアセットについて」のページ参照。
libraries:
- fluffiness/global-styling
libraries-override (オプション)
オーバーライドするライブラリとアセットを設定します。
libraries-override: contextual/drupal.contextual-links: css: component: /core/themes/stable/css/contextual/contextual.module.css: false
libraries-extend (オプション)
ライブラリーを加える際の、ライブラリーやアセットの一覧。詳しくは「ライブラリーのオーバーライドと拡張」のページを参照。
libraries-extend:
core/drupal.user:
- classy/user1
- classy/user2
base theme (必須)
ベーステーマを指定すると、別のテーマからリソースを継承できます。classy テーマ、または stableテーマ (キーが指定されていない場合はデフォルトでstableテーマが適用されます。)を使うのがお勧めです。ベーステーマを設定することで、テーマが将来のコアテーマの変更を継承しやすくなります。
base theme: classy
hidden (オプション)
管理画面からのテーマの有効/無効の設定ができないように、「テーマ」ページからテーマを非表示にするかどうかを設定します。
hidden: true
engine (オプション)
テーマのテンプレートエンジンを設定します。デフォルトは "twig"です。
engine: twig
logo (オプション)
8.6.xで導入されました |
---|
変更履歴:https://www.drupal.org/node/2939152 |
テーマのファイルに対するロゴのパス。デフォルトでは、Drupalはテーマフォルダのルートにある "logo.svg"という名前のファイルを探し、これをテーマのロゴとして使用します。
logo: images/logo.png
screenshot (オプション)
.info.ymlファイルを基準にしたスクリーンショット画像ファイルへのパスを設定します。スクリーンショット画像ファイルは、幅が588pixel、高さが438pixelですが、表示時には、小さいサイズになります。 デフォルトでは、テーマフォルダルートの "screenshot.png"ファイルを 「テーマ」ページのテーマイメージとして使用します。
screenshot: fluffiness.png
regions (オプション)
リージョンのリスト(注意:リージョンキーの前に、ダッシュ ” - ”はつきません)。contentリージョンは必須です。 詳しくは、「テーマにリージョンを追加する」ページを参照。
regions:
header: Header
content: Content
sidebar_first: 'First sidebar'
regions_hidden (オプション)
ベーステーマから継承したリージョンで、削除するリージョンをリストで設定します。
regions_hidden:
- sidebar_last
features (オプション)
テーマの「設定」ページで公開する機能をリストで設定します。
features:
- comment_user_verification
- comment_user_picture
- favicon
- logo
- node_user_picture
stylesheets-remove (廃止予定)
このテーマが有効なすべてのページにおいて削除する、他のテーマやモジュールに由来のスタイルシートの一覧を設定します。同じ名前を持つファイルが存在する場合もあるので、ルートを基準にした絶対パスで設定します。 ファイルが、モジュールまたはテーマで使用するライブラリの一部の場合、絶対パスではなく、”@” の後に、モジュール名またはライブラリ名を書き(モジュールまたはライブラリを読み込みます)、モジュールまたはライブラリ内のパスを記載します。 "@"はYAMLの予約済みインジケータのため、値を引用符で囲む必要があります。
注:このキーは推奨されておらず、Drupal 9 で削除されます。ほとんどの場合、libraries-override で設定が可能です。
ckeditor_stylesheets (オプション)
CKEditorのフレーム内に追加するスタイルシートをリストで設定します。
ckeditor_stylesheets:
- https://fonts.googleapis.com/css?family=Open+Sans
- css/base/elements.css
詳しくは
- .Drupal テーマにスタイルシート(CSS)とJavaScript(JS)を追加する
- * .info.ymlファイルで利用可能なすべてのキーに関する説明:Let Drupal 8 know about your module with a .info.yml file