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_formatlimitがオプションです。このルート要素に存在するフィールドによって、タイプ、サイズ、ラベル、デフォルト、およびオプションが決まります。フィールドタイプに応じて、他のフィールドは変更される可能性があります。たとえば、選択フィールドにはオプションリストが必要です。

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

Email

検証付きの電子メールアドレスフィールドが含まれます。

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

これは、入力のオンまたはオフのタイプを指定するトグル効果を表します。