Grav-blueprints

提供:Dev Guides
移動先:案内検索

Grav-設計図

  • ブループリント*は、リソース(情報のソース)に関するメタデータ情報です。 それは2つの目的を果たします-
  • 最初は、リソースID自体です。 *2番目はフォームに関するものです。

この完全な情報は、各プラグインまたはテーマにある_blueprints.yaml_ファイルに保存されます。

リソースアイデンティティ

_blueprints.yaml_ファイルでは、テーマとプラグインごとにファイルIDが定義されています。 ブループリントが完全にフォーマットおよびコンパイルされない限り、リソースは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とリソースを提供するために使用されます。

Sr.No. Properties & Description
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_ファイルにフォームを入力できます。 このリソースの一部は、 Forms メタデータによって定義される Admin Plugin を介して構成できます。

以下は、アーカイブプラグイン_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

これらはプラグインのデフォルト設定です。 Adminプラグインを使用せずに設定するには、ユーザーはこのファイルを /user/config/plugins/archives.yaml フォルダーにコピーして変更する必要があります。 _archives.yaml_ファイルを正しく提供できます。ユーザーから管理インターフェースの設定を変更することを選択できます。

変更を保存すると、自動的に* _ <your_folder_name>/user/config/plugins/archives.yaml_*に書き込まれます。

アーカイブプラグインの_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_に存在するフォーム要素です。

トグル

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

ルート要素_Enabled、date_display_format_および_limit_はオプションです。 このルート要素にあるフィールドは、タイプ、サイズ、ラベル、デフォルト、オプションを決定します。 フィールドタイプに応じて、他のフィールドは変更できます。たとえば、選択フィールドにはオプションリストが必要です。

  • 注文方向 *
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に設定されています。 検証が厳格に設定されている場合、すべてのオプションに対してブループリントフォームを追加する必要があります。追加しないと、保存中にエラーが表示されます。 2つのフィールドのみを管理インターフェイスにカスタマイズする場合は、_form.validation_を緩やかに設定できます。

次の表に、上記のフォーム要素に関連するフィールドの簡単な説明を示します。

Sr.No. Field & Description
1
  • Type*

フィールドタイプを示します。

2

Size

フィールドのサイズを指定します。

3

Label

フィールドのラベルを指定します。

4

Validate

フィールドのタイプとフィールドに入力された最小長を検証します。

5

Default

デフォルトのフィールドを設定します。

6

Options

オプションのリストを指定します。

7

Classes

フィールドのクラスを指定します。

管理者で利用可能なフォームフィールド

プラグインやテーマで使用される、または独自のフォームフィールドを作成できる、組み込みのフォームフィールドが多数あります。 次の表は、利用可能なフォームフィールドのリストです-

共通のフォームフィールド

Sr.No. Field & Description
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

複数行のテキスト入力が含まれます。

特別なフォームフィールド

Sr.No. Field & Description
1

Array

複数のキー値行を追加します。

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

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