YAML Syntax

はじめに

YAMLは_"YAML Ain't Markup Language"_の略で、Grav では設定ファイル、ブループリント、ページ設定に広く使われています。

YAML はマークダウンがマークアップであるように、コンフィギュレーションである。基本的には人間が読める構造化されたデータフォーマットです。YAML は XML や JSON よりも複雑でなく、似たような機能を提供します。YAMLは、CSS、JavaScript、PHPのような複雑なコードを学ぶことなく、強力な構成設定を提供することを可能にします。

YAML はシンプルに使えるようにゼロから構築されています。その中核は、YAML ファイルがデータを記述するために使われることです。YAML を使う利点の1つは、1つの YAML ファイルの情報を複数の言語タイプに簡単に変換できることです。

基本的に、YAML ファイルに入力したデータは、ライブラリと連携して、Grav 内で表示されるページを作成するために使用されます。

YAML Basic Rules

様々な言語や編集プログラムとの関連で曖昧さに関連する問題を避けるために、YAML にはいくつかのルールがあります。これらのルールによって、ひとつの YAML ファイルを解釈するためにどのアプリケーションやライブラリが使われたとしても、一貫して解釈することが可能になります。

  • YAML ファイルは、Grav では可能な限り .yaml 拡張子で終わらせる必要があります。
  • YAMLは大文字と小文字を区別します。
  • YAMLでは、タブを使用できません。

Basic Data Types

YAML excels at working with mappings (hashes / dictionaries), sequences (arrays / lists), and scalars (strings / numbers). While it can be used with most programming languages, it works best with languages that are built around these data structure types. This includes: PHP, Python, Perl, JavaScript, and Ruby.
YAML は mappings (hashes / dictionaries), sequences (arrays / lists), and scalars (strings / numbers) を扱うことに長けています。ほとんどのプログラミング言語で使用できますが、これらのデータ構造型を中心に構築された言語と最も相性が良いです。これには以下が含まれます。PHP、Python、Perl、JavaScript、Ruby などです。

スカラー値

スカラー値は、かなり基本的な概念です。ページ上のデータを構成する文字列や数値のことである。スカラーは true のようなブール値のプロパティ、5 のような整数(数値)、または文章やウェブサイトのタイトルのようなテキスト文字列のようなものである。

スカラー値は、プログラミングではよく変数と呼ばれます。動物の種類をリストアップする場合、それらの動物に付けられた名前になります。

ほとんどのスカラー値は引用符で囲まれていませんが、もし句読点やYAML構文と混同するような要素 (ダッシュ、コロンなど) を使った文字列を入力している場合は、シングルクォート ' やダブルクォート " を使ってこのデータを引用符で囲むとよいでしょう。二重引用符を使用すると、ASCII や Unicode の文字を表すためにエスケープを使用することができます。

integer: 25
string: "25"
float: 25.0
boolean: true

TIP: 単語 truefalsenull~ と日付は YAML では特別な意味を持ちます。boolean、null、または datetime 型として使用したくない場合は、これらを引用してください。バージョン番号も同様で、float 値と区別するために引用符で囲む必要があります。

配列

ここでは、Grav で見かけるような簡単な配列を紹介します。これは基本的なリストで、リスト内の各項目は開始ダッシュで独自の行に配置されます。

- Cat
- Dog
- Goldfish

この配列では、リスト内の各項目が同じレベルに配置されます。もし項目とサブ項目からなる入れ子構造を作りたい場合は、 サブ項目のダッシュの前に空白をひとつずつ入れれば可能です。YAML はインデントにスペース、 NOT タブを使用します。以下にその例を示します。

-
 - Cat
 - Dog
 - Goldfish
-
 - Python
 - Lion
 - Tiger

さらに深くネストさせたい場合は、レベルを追加すればよい。

-
 -
  - Cat
  - Dog
  - Goldfish

配列はマッピングやスカラーなど、他のデータ構造タイプに追加することができる。

マッピング

マッピングを使うと、キーと値をリストアップすることができます。これは、特定の要素に名前やプロパティを割り当てるような場合に有効です。

animal: pets

この例では、 pets の値を animal キーにマップしています。シーケンスと組み合わせて使用すると、petsのリストを作り始めていることがわかります。次の例では、各項目のラベルに使われているダッシュがインデントとしてカウントされ、itemsという行が子、petsというマッピング行が親になっています。

pets:
 - Cat
 - Dog
 - Goldfish

リソースとその他のドキュメント

YAMLの詳細については、その動作に関する詳細なドキュメントを含め、以下のリンク先のリソースを参照してください。


オリジナル : https://learn.getgrav.org/17/advanced/yaml