テーマ設定

Grav では、Twig や PHP ファイルからテーマの設定や設計図の情報に簡単にアクセスすることができます。

Accessing Theme Blueprint Information

現在アクティブなテーマの blueprints.yaml ファイルからの情報は、 theme オブジェクトから取得することができます。例として、次の blueprints.yaml ファイルを使用してみましょう。

name: Antimatter
slug: antimatter
type: theme
version: 1.7.0
description: "Antimatter is the default theme included with **Grav**"
icon: empire
author:
  name: Team Grav
  email: devs@getgrav.org
  url: https://getgrav.org
homepage: https://github.com/getgrav/grav-theme-antimatter
demo: http://demo.getgrav.org/blog-skeleton
keywords: antimatter, theme, core, modern, fast, responsive, html5, css3
bugs: https://github.com/getgrav/grav-theme-antimatter/issues
license: MIT

これらの項目には、標準の dot-syntax を使って theme を介して到達することができます。

Author Email: 
Theme License: 

PHP で Grav Plugin 内でこれらと同じ値に到達することができます。

$theme_author_email = $this->grav['theme']['author']['email'];
$theme_license = $this->grav['theme']['license'];

テーマの設定にアクセスする

テーマにも設定ファイルがあります。テーマの設定ファイルは <themename>.yaml という名前です。デフォルトのファイルはテーマのルートフォルダ (user/themes/<themename>) に保存されています。

テーマのデフォルトの YAML ファイルを実際に変更するのではなく、user/config/themes フォルダにある設定を上書きすることを 強く お勧めします。こうすることで、テーマの元の設定がそのまま残り、必要なときにいつでも素早く変更にアクセスしたり、元に戻したりすることができるようになります。

例えば、Antimatter テーマを考えてみましょう。 デフォルトでは、テーマのルート・フォルダに antimatter.yaml というファイルが存在します。この設定ファイルの内容は次のようなものです。

enabled: true
color: blue

これは単純な設定ですが、テーマの構成設定で何ができるかを知ることができます。これらの設定をオーバーライドして、新しい設定を追加してみましょう。

user/config/themes/antimatter.yaml ファイルを作成して、以下の内容を記述します。

*ここで enabled が繰り返されないことに注意してください。もし、設定ファイルが単に置き換えられるのではなく、マージされるのであれば、明示的に記述されるべきです。

color: red
info: Grav is awesome!

そして、テーマテンプレートの中で grav.theme.config オブジェクトを使用してこれらの変数にアクセスすることができます。

<h1 style="color:"></h1>

このようにレンダリングされます。

Grav is awesome!

PHP でも、現在のテーマの設定にアクセスすることができます。

$color = $this->grav['theme']->config()['color'];
$info = $this->grav['theme']->config()['info'];

シンプルに! テーマの設定は無限大。 好きなように使ってください。:)

Alternative Notation

以下のエイリアスも有効です。

Theme Color Option: 
   or
Theme Color Option: 
   or
Theme Color Option:  [AVOID!]

Even though grav.themes.<themename> is supported, it should be avoided because it makes it impossible to inherit the theme properly.