標準のテーマ エレメント
Movable Typeが処理する テーマ エレメントの記述方法を解説します。
テンプレートセット
テンプレートセットは、ウェブサイトおよびブログに適用するテンプレートの集まりです。ブログの作成や、テーマを適用するときに、テンプレートセットが適用されます。
テーマ エレメント としてのテンプレートセットは、Movable Type 4からあるテンプレートセット機能のラッパーです。レジストリへの登録や、テンプレート初期化の動作など、ほとんどの機能は、従来のテンプレートセットのノウハウをそのまま利用できます。テーマ エレメントのimporterの項目には、"template_set" を指定します。
- base_path
テンプレートファイルを配置してある場所を、テーマルート (theme.yaml を配置しているディレクトリ)からの相対パスで指定します。
- templates
テンプレート情報を記述します。詳細はテンプレートセットのドキュメントを参照してください。
elements:
template_set:
importer: template_set
data:
label: Classic Blog
base_path: templates
require: 1
templates:
archive:
category_entry_listing:
label: Category Entry Listing
mappings:
category:
archive_type: Category
ファイル
テーマで利用する静的ファイルを、ブログディレクトリにインストールできます。テーマルートのblog_staticディレクトリにサブディレクトリを作成してファイルを配置します。Theme.yamlには、作成したサブディレクトリのうち、テーマに含めたいサブディレクトリ名を配列形式で指定します。エレメントのimporterの項目には "blog_static_files" を指定します。
elements:
blog_static_files:
component: ‾
data:
- js
importer: blog_static_files
関連する環境変数
- ThemeStaticFileExtensions
テーマのファイルとして許可するファイルの拡張子の一覧です。この一覧に含まれない拡張子のファイルは、テーマ適用時にインストールされません。
カテゴリとフォルダ
テーマを適用するときに、カテゴリとフォルダを自動で作成することができます。
テーマエレメントのimporterの項目には "default_categories" または "default_folders" を指定します。data項目には、ベースネームをキーとし、作成するカテゴリ/フォルダの内容をハッシュ形式で指定します。カテゴリ/フォルダの内容は以下の要素があります。
- label
カテゴリ/フォルダの表示名を指定します。
- children
サブカテゴリ/サブフォルダを再帰的に記述します。省略可能です。
data:
foo:
label: The Foo
children:
foo_junior:
label: Foo Junior
ウェブページ
テーマを適用するときに、 ウェブページを自動で作成することができます。もし、テーマを適用するブログに、ベースネームあるいはタイトルが重複するウェブページがすでに存在していた場合には作成されません。
テーマエレメントのimporterの項目には "default_pages" を指定します。ベースネームをキーとし、ページの内容をハッシュ形式で指定します。ウェブページの内容には以下の要素があります。
- title
タイトルを指定します。省略可能です。
- text
本文を指定します。省略可能です。
- text_more
本文の続きを指定します。省略可能です。
- excerpt
要約を指定します。省略可能です。
- keywords
キーワードを指定します。省略可能です。
- status
公開状態を整数で指定します。省略可能です。
- 未公開
- 公開
- tags
タグを配列形式あるいはカンマ区切りで指定します。省略可能です。
- folder
ウェブページを配置するフォルダを指定します。フォルダが存在しない場合は自動的に作成します。スラッシュ区切りで深い階層のフォルダを指定できます。省略可能です。
data:
about:
basename: index
title: About
text: <__trans phrase="_PWT_ABOUT_BODY">
tags: @about
folder: about
ウェブサイト、ブログの設定
テーマを適用するときに、ウェブサイト、あるいはブログの設定をおこなうことができます。テーマエレメントのimporterの項目には "default_prefs" を指定します。設定項目をハッシュ形式で指定します。
default_prefs:
component: core
importer: default_prefs
data:
file_extension: php
convert_paras: 0
allow_comments_default: 0
allow_pings_default: 0
カスタムフィールド
テーマを適用するときに、カスタムフィールドを自動で作成することができます。適用するブログに、ベースネームまたは名称が重複するカスタムフィールドが存在する場合には作成されません。テーマエレメントのimporterの項目には "custom_fields" を指定します。追加するカスタムフィールドのベースネームをキーとするハッシュ形式で指定します。
custom_fields:
component: commercial
importer: custom_fields
data:
list_by_step:
default: 0
description: Show List by Step
name: List By Step
obj_type: entry
options: ‾
required: 0
tag: EntryListByStep
type: checkbox