Grav - 藍圖



藍圖是關於資源(資訊來源)的元資料資訊。它有兩個用途:

  • 首先是資源本身的身份。
  • 其次是關於表單的。

所有這些完整的資訊都儲存在每個外掛或主題中存在的blueprints.yaml檔案中。

資源身份

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: devs@getGrav.org
   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

以下一些屬性是可選的,有些用於提供您的身份和資源。

序號 屬性和描述
1

name*

提及資源的名稱。

2

version*

指定資源的版本。

3

description*

對資源進行簡要描述。它不應超過 200 個字元。

4

icon*

為開發新主題或外掛指定圖示庫。

5

author.name*

指定開發人員的姓名。

6

author.email(可選)

指定開發人員的電子郵件地址。

7

author.url(可選)

指定開發人員的 URL 主頁。

8

homepage(可選)

為您的資源指定分配的主頁 URL。

9

docs(可選)

指定您為資源編寫的文件連結。

10

demo(可選)

指定演示資源的連結。

11

guide(可選)

指定如何引導或教程的連結,以供您的資源使用。

12

keywords(可選)

指定與您的資源相關的關鍵字列表。

13

bugs(可選)

指定可以報告問題或錯誤的 URL。

14

license(可選)

指定您的資源許可證,例如 MIT、GPL 等。

15

dependencies(可選)

指定外掛或主題所需的依賴項的名稱。

以下是登入外掛藍圖的示例:

name: Login
version: 0.3.3
description: Enables user authentication and login screen.
icon: sign-in
author:
   name: Team Grav
   email: devs@getGrav.org
   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檔案。此資源的一部分可以透過管理外掛配置,該外掛由表單元資料定義。

以下是 Archives 外掛的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: devs@getGrav.org
   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_formatlimit是選項。此根元素中存在的欄位確定型別、大小、標籤、預設值和選項。根據欄位型別,其他欄位可能會發生變化;例如,選擇欄位需要選項列表。

順序方向

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檔案中看到的那樣,表單驗證設定為嚴格。當驗證設定為嚴格時,對於所有選項,您都必須新增藍圖表單,否則在儲存時會彈出錯誤。當您只想將兩個欄位自定義到管理介面時,可以將form.validation設定為寬鬆。

下表對與上述表單元素相關的欄位進行了簡要說明。

序號 欄位和描述
1

型別

指示欄位型別。

2

大小

指定欄位的大小。

3

標籤

為欄位指定標籤。

4

驗證

它驗證欄位的型別以及在欄位中輸入的最小長度。

5

預設

設定預設欄位。

6

選項

指定選項列表。

7

為欄位指定類。

管理中可用的表單欄位

有許多內建表單欄位可供外掛和主題使用,或者可以建立自己的表單欄位。下表列出了可用的表單欄位:

常用表單欄位

序號 欄位和描述
1

複選框

顯示單個複選框。

2

複選框

顯示覆選框列表。

3

日期

包含日期欄位。

4

日期時間

包含日期和時間欄位。

5

電子郵件

包含帶驗證的電子郵件地址欄位。

6

密碼

包含一個密碼欄位,以點格式顯示。

7

隱藏

包含隱藏輸入欄位。

8

單選按鈕

允許從列表中選擇一個選項。

9

選擇

此欄位包含一些選項。

10

間隔符

向表單新增標題、文字或水平線。

11

文字

包含普通文字欄位。

12

文字區域

包含多行文字輸入。

特殊表單欄位

序號 欄位和描述
1

陣列

新增多個鍵值行。

2

忽略

未使用欄位將被刪除。

3

將表單分成多列。

4

顯示單個列。

5

日期格式

設定日期和時間格式。

6

顯示

顯示文字值,沒有任何輸入值。

7

前置資訊

頁面以原始格式顯示。

8

列表

顯示專案列表,沒有鍵。

9

Markdown

顯示 Markdown 編輯器。

10

頁面

顯示頁面列表。

11

部分

設定頁面被分成多個部分,每個部分都有一個標題。

12

Selectize

用於選擇框。

13

選項卡

設定分為選項卡列表。

14

選項卡

選項卡欄位用於提供選項卡。

15

分類法

它是一個預先配置的選擇,用於選擇分類法。

16

切換

它表示切換效果,指定開或關型別的輸入。

廣告

© . All rights reserved.