- Grav 外掛
- Grav - 外掛基礎
- Grav - 外掛教程
- Grav - 事件鉤子
- Grav 管理面板
- Grav - 管理員簡介
- Grav - 管理員儀表盤
- Grav - 配置系統
- Grav - 站點配置
- Grav - 管理面板頁面
- Grav - 頁面編輯器選項
- Grav - 頁面編輯器高階
- Grav 高階
- Grav - 藍圖
- Grav - 效能和快取
- Grav - 除錯和日誌記錄
- Grav - CLI
- Grav - GPM
- Grav - 開發
- Grav - 生命週期
- Grav - YAML 語法
- Grav - 表單
- Grav 託管
- Grav - 網路主機
- Grav 故障排除
- Grav - 伺服器錯誤
- Grav - 許可權
- Grav 有用資源
- Grav - 面試問題
- Grav - 快速指南
- Grav - 有用資源
- Grav - 討論
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_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檔案中看到的那樣,表單驗證設定為嚴格。當驗證設定為嚴格時,對於所有選項,您都必須新增藍圖表單,否則在儲存時會彈出錯誤。當您只想將兩個欄位自定義到管理介面時,可以將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 | 切換 它表示切換效果,指定開或關型別的輸入。 |