Grav-設計図
Blueprintsリソース(情報源)に関するメタデータ情報です。それは2つの目的を果たします-
- 1つは、リソースID自体です。
- 2番目はフォームに関するものです。
この完全な情報は、各プラグインまたはテーマに存在するblueprints.yamlファイルに保存されます。
リソースID
でblueprints.yamlファイル識別情報は、各テーマとプラグインのために定義されています。ブループリントが完全にフォーマットおよびコンパイルされない限り、リソースはGravリポジトリに追加されません。
ブループリントの例
name: plugin name
version: 0.6.0
description: Adds an advanced plugin to manage your site
icon: empire
author:
name: Team Grav
email: [email protected]
url: http://getGrav.org
homepage: https://github.com/getGrav/Grav-plugin-assets
keywords: assets, plugin, manager, panel
bugs: https://github.com/getGrav/Grav-plugin-assets/issues
readme: https://github.com/getGrav/Grav-plugin-assets/blob/develop/README.md
license: MIT
dependencies:
- form
- email
- login
form:
validation: loose
fields:
Basics:
type: section
title: Basics
underline: false
enabled:
type: hidden
label: Plugin status
highlight: 1
default: 0
options:
1: Enabled
0: Disabled
validate:
type: bool
次のいくつかのプロパティはオプションであり、一部はIDとリソースを提供するために使用されます。
シニア番号 | プロパティと説明 |
---|---|
1 | name* リソースの名前を挙げてください。 |
2 | version* リソースのバージョンを指定します。 |
3 | description* リソースについて簡単に説明します。200文字を超えてはなりません。 |
4 | icon* 新しいテーマまたはプラグインを開発するためのアイコンライブラリを指定します。 |
5 | author.name* 開発者の名前を指定します。 |
6 | author.email (optional) 開発者の電子メールアドレスを指定します。 |
7 | author.url (optional) 開発者のURLホームページを指定します。 |
8 | homepage (optional) リソースのホームページに割り当てられたURLを指定します。 |
9 | docs (optional) リソース用に作成したドキュメントリンクを指定します。 |
10 | demo (optional) デモリソースのリンクを指定します。 |
11 | guide (optional) リソースのガイドまたはチュートリアルの方法のリンクを指定します。 |
12 | keywords (optional) リソースに関連するキーワードのリストを指定します。 |
13 | bugs (optional) 問題やバグを報告できるURLを指定します。 |
14 | license (optional) リソースライセンス、つまりMIT、GPLなどを指定します。 |
15 | dependencies (optional) プラグインまたはテーマに必要な依存関係の名前を指定します。 |
以下は、ログインプラグインのブループリントの例です-
name: Login
version: 0.3.3
description: Enables user authentication and login screen.
icon: sign-in
author:
name: Team Grav
email: [email protected]
url: http://getGrav.org
keywords: admin, plugin, login
homepage: https://github.com/getGrav/Grav-plugin-login
keywords: login, authentication, admin, security
bugs: https://github.com/Getgrav/Grav-plugin-login/issues
license: MIT
フォーム
テーマまたはプラグインに管理インターフェースから直接構成可能なオプションを持たせたい場合は、blueprints.yamlファイルにフォームを入力できます。このリソースの一部は、Admin Plugin、によって定義されます Forms メタデータ。
以下は、アーカイブプラグインのarchives.yamlファイルの例です。
enabled: true
built_in_css: true
date_display_format: 'F Y'
show_count: true
limit: 12
order:
by: date
dir: desc
filter_combinator: and
filters:
category: blog
これらはプラグインのデフォルト設定です。管理プラグインを使用せずにそれらを構成するには、ユーザーはこのファイルをにコピーする必要があります/user/config/plugins/archives.yamlフォルダを作成し、変更を加えます。archives.yamlファイルを正しく提供できます。ユーザーから管理インターフェースの設定を変更することを選択できます。
変更を保存すると、自動的に書き込まれます <your_folder_name>/user/config/plugins/archives.yaml。
Archivesプラグインのblueprint.yamlファイルには、次のような構造が含まれています-
name: Archives
version: 1.3.0
description: The **Archives** plugin creates links for pages grouped by month/year
icon: university
author:
name: Team Grav
email: [email protected]
url: http://getGrav.org
homepage: https://github.com/getGrav/Grav-plugin-archives
demo: http://demo.getGrav.org/blog-skeleton
keywords: archives, plugin, blog, month, year, date, navigation, history
bugs: https://github.com/getGrav/Grav-plugin-archives/issues
license: MIT
form:
validation: strict
fields:
enabled:
type: toggle
label: Plugin status
highlight: 1
default: 1
options:
1: Enabled
0: Disabled
validate:
type: bool
date_display_format:
type: select
size: medium
classes: fancy
label: Date Format
default: 'jS M Y'
options:
'F jS Y': "January 1st 2014"
'l jS of F': "Monday 1st of January"
'D, m M Y': "Mon, 01 Jan 2014"
'd-m-y': "01-01-14"
'jS M Y': "10th Feb 2014"
limit:
type: text
size: x-small
label: Count Limit
validate:
type: number
min: 1
order.dir:
type: toggle
label: Order Direction
highlight: asc
default: desc
options:
asc: Ascending
desc: Descending
以下は、archive.yamlに存在するフォーム要素です。
Toggle
enabled:
type: toggle
label: Plugin status
highlight: 1
default: 1
options:
1: Enabled
0: Disabled
validate:
type: bool
Select
date_display_format:
type: select
size: medium
classes: fancy
label: Date Format
default: 'jS M Y'
options:
'F jS Y': "January 1st 2014"
'l jS of F': "Monday 1st of January"
'D, m M Y': "Mon, 01 Jan 2014"
'd-m-y': "01-01-14"
'jS M Y': "10th Feb 2014"
Text
limit:
type: text
size: x-small
label: Count Limit
validate:
type: number
min: 1
ルート要素Enabled、date_display_format、limitがオプションです。このルート要素に存在するフィールドによって、タイプ、サイズ、ラベル、デフォルト、およびオプションが決まります。フィールドタイプに応じて、他のフィールドは変更される可能性があります。たとえば、選択フィールドにはオプションリストが必要です。
Order direction
order.dir:
type: toggle
label: Order Direction
highlight: asc
default: desc
options:
asc: Ascending
desc: Descending
このフィールドは、ネストされたオプションで構成されます。plugins / admin / themes / Grav / templates / forms / fieldsで使用できる多くのフィールドタイプがあります。archive.yamlファイルでわかるように、フォームの検証はstrictに設定されています。検証が厳密に設定されている場合、すべてのオプションについてブループリントフォームを追加する必要があります。そうしないと、保存中にエラーがポップアップ表示されます。form.validationはあなたが管理インターフェイスに2つのフィールドのみをカスタマイズしたいとき緩んとして設定することができます。
次の表に、上記のフォーム要素に関連するフィールドについて簡単に説明します。
シニア番号 | フィールドと説明 |
---|---|
1 | Type フィールドタイプを示します。 |
2 | Size フィールドのサイズを指定します。 |
3 | Label フィールドにラベルを指定します。 |
4 | Validate フィールドのタイプとフィールドに入力された最小の長さを検証します。 |
5 | Default デフォルトのフィールドを設定します。 |
6 | Options オプションのリストを指定します。 |
7 | Classes フィールドのクラスを指定します。 |
管理者で利用可能なフォームフィールド
プラグインやテーマで使用される、または独自のフォームフィールドを作成できる、利用可能な組み込みのフォームフィールドが多数あります。次の表に、使用可能なフォームフィールドを示します-
共通のフォームフィールド
シニア番号 | フィールドと説明 |
---|---|
1 | Checkbox 単一のチェックボックスを表示します。 |
2 | Checkboxes チェックボックスのリストを表示します。 |
3 | Date 日付フィールドが含まれます。 |
4 | Datetime 日付と時刻のフィールドが含まれます。 |
5 | 検証付きの電子メールアドレスフィールドが含まれます。 |
6 | Password ドット形式で表示されるパスワードフィールドが含まれています。 |
7 | Hidden 非表示の入力フィールドが含まれます。 |
8 | Radio リストからオプションを1つだけ選択できます。 |
9 | Select このフィールドにはいくつかのオプションが含まれています。 |
10 | Spacer フォームにタイトル、テキスト、または水平線を追加します。 |
11 | Text 通常のテキストフィールドが含まれます。 |
12 | Textarea 複数行のテキスト入力が含まれます。 |
特殊フォームフィールド
シニア番号 | フィールドと説明 |
---|---|
1 | Array 複数のKeyValue行を追加します。 |
2 | Ignore 未使用のフィールドは削除されます。 |
3 | Columns フォームを複数の列に分割します。 |
4 | Column 単一の列を表示します。 |
5 | Dateformat 日付と時刻の形式を設定します。 |
6 | Display 入力値なしでテキスト値を表示します。 |
7 | Frontmatter ページは生の形式で表示されます。 |
8 | List キーなしでアイテムのリストを表示します。 |
9 | Markdown マークダウンエディタを表示します。 |
10 | Pages ページのリストを表示します。 |
11 | Section 設定ページはセクションに分かれており、各セクションにはタイトルがあります。 |
12 | Selectize ボックスを選択するために使用されます。 |
13 | Tabs 設定はタブのリストに分かれています。 |
14 | Tab タブフィールドは、タブを提供するために使用します。 |
15 | Taxonomy これは、分類法を選択するために事前構成された選択です。 |
16 | Toggle これは、入力のオンまたはオフのタイプを指定するトグル効果を表します。 |