Grav - Blaupausen

Blueprintssind Metadateninformationen zur Ressource (Informationsquelle). Es dient zwei Zwecken -

  • Erstens ist die Ressourcenidentität selbst.
  • Zweitens betrifft die Formen.

Diese vollständigen Informationen werden in der Datei blueprints.yaml gespeichert, die in jedem Plugin oder Thema vorhanden ist.

Ressourcenidentität

In blueprints.yaml wird die Dateiidentität für jedes Thema und jedes Plugin definiert. Ressourcen werden erst dann im Grav-Repository hinzugefügt, wenn die Blaupausen nicht perfekt formatiert und kompiliert wurden.

Blueprints Beispiel

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

Die folgenden Eigenschaften sind optional und einige werden verwendet, um Ihre Identität und Ressource anzugeben.

Sr.Nr. Eigenschaften & Beschreibung
1

name*

Erwähnen Sie den Namen der Ressource.

2

version*

Gibt die Version der Ressource an.

3

description*

Gibt eine kurze Beschreibung der Ressource. Es sollte nicht mehr als 200 Zeichen umfassen.

4

icon*

Gibt eine Symbolbibliothek zum Entwickeln eines neuen Themas oder Plugins an.

5

author.name*

Gibt den Namen des Entwicklers an.

6

author.email (optional)

Gibt die E-Mail-Adresse des Entwicklers an.

7

author.url (optional)

Gibt die URL-Homepage des Entwicklers an.

8

homepage (optional)

Gibt die zugewiesene URL für die Startseite Ihrer Ressource an.

9

docs (optional)

Gibt den Dokumentationslink an, den Sie für Ihre Ressource geschrieben haben.

10

demo (optional)

Gibt den Link der Demo-Ressource an.

11

guide (optional)

Gibt den Link zu Anleitungen oder Tutorials für Ihre Ressource an.

12

keywords (optional)

Gibt die Liste der Schlüsselwörter an, die sich auf Ihre Ressource beziehen.

13

bugs (optional)

Gibt die URL an, in der Probleme oder Fehler gemeldet werden können.

14

license (optional)

Gibt Ihre Ressourcenlizenz an, z. B. MIT, GPL usw.

15

dependencies (optional)

Gibt den Namen der Abhängigkeiten an, die für Plugins oder Designs erforderlich sind.

Das Folgende ist ein Beispiel für die Blaupause des Login-Plugins -

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

Formen

Sie können die Datei blueprints.yaml mit Formularen füllen, wenn Themen oder Plugins Optionen haben sollen, die direkt über die Administrationsoberfläche konfiguriert werden können. Der Teil dieser Ressource kann über das konfiguriert werdenAdmin Plugin, die durch die definiert ist Forms Metadaten.

Das Folgende ist ein Beispiel für die Datei archives 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

Dies sind die Standardeinstellungen des Plugins. Um sie ohne die Verwendung des Admin-Plugins zu konfigurieren, muss der Benutzer diese Datei in das kopieren/user/config/plugins/archives.yamlOrdner und nehmen Sie die Änderungen vor. Sie können die Datei archives.yaml korrekt bereitstellen . Sie können die Einstellungen in der Administrationsoberfläche von den Benutzern ändern.

Nach dem Speichern der Änderungen wird automatisch in geschrieben <your_folder_name>/user/config/plugins/archives.yaml.

Die Datei blueprint.yaml des Archiv-Plugins enthält die folgende Struktur:

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

Im Folgenden sind die Formularelemente aufgeführt, die in der Datei archive.yaml vorhanden sind .

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

Das Root-Element Enabled, date_display_format und limit sind die Optionen. Das in diesem Stammelement vorhandene Feld bestimmt den Typ, die Größe, die Bezeichnung, die Standardeinstellung und die Optionen. Je nach Feldtyp können sich die anderen Felder ändern. Für das Auswahlfeld ist beispielsweise eine Optionsliste erforderlich.

Order direction

order.dir:
   type: toggle
   label: Order Direction
   highlight: asc
   default: desc
   options:
      asc: Ascending
      desc: Descending

Dieses Feld besteht aus den verschachtelten Optionen. Es gibt viele Feldtypen, die in Plugins / admin / themes / Grav / templates / forms / fields verwendet werden können . Wie wir in der Datei archive.yaml sehen können , ist die Formularüberprüfung auf streng gesetzt. Wenn die Validierung als streng festgelegt ist, müssen Sie für alle Optionen das Blaupausenformular hinzufügen. Andernfalls wird beim Speichern ein Fehler angezeigt. Die form.validation kann als lose festgelegt werden, wenn Sie nur die beiden Felder an die Administrationsoberfläche anpassen möchten.

Die folgende Tabelle enthält eine kurze Erläuterung der Felder, die sich auf die obigen Formularelemente beziehen.

Sr.Nr. Feld Beschreibung
1

Type

Gibt den Feldtyp an.

2

Size

Gibt die Größe des Feldes an.

3

Label

Gibt die Bezeichnung für das Feld an.

4

Validate

Es überprüft den Feldtyp und die in das Feld eingegebene Mindestlänge.

5

Default

Legt Standardfelder fest.

6

Options

Gibt die Liste der Optionen an.

7

Classes

Gibt die Klasse für das Feld an.

Formularfelder im Administrator verfügbar

Es stehen viele integrierte Formularfelder zur Verfügung, die von Plugins und Designs verwendet werden oder eigene Formularfelder erstellen können. In der folgenden Tabelle sind die verfügbaren Formularfelder aufgeführt.

Gemeinsame Formularfelder

Sr.Nr. Feld Beschreibung
1

Checkbox

Zeigt ein einzelnes Kontrollkästchen an.

2

Checkboxes

Zeigt eine Liste der Kontrollkästchen an.

3

Date

Enthält Datumsfeld.

4

Datetime

Enthält Datums- und Zeitfeld.

5

Email

Enthält ein E-Mail-Adressfeld mit Validierung.

6

Password

Enthält ein Kennwortfeld, das im Punktformat angezeigt wird.

7

Hidden

Enthält ein verstecktes Eingabefeld.

8

Radio

Ermöglicht die Auswahl nur einer Option aus der Liste.

9

Select

Dieses Feld enthält einige Optionen.

10

Spacer

Fügt dem Formular Titel, Text oder horizontale Linie hinzu.

11

Text

Enthält normales Textfeld.

12

Textarea

Enthält mehrzeilige Texteingaben.

Spezielle Formularfelder

Sr.Nr. Feld Beschreibung
1

Array

Fügt mehrere Schlüsselwertzeilen hinzu.

2

Ignore

Nicht verwendete Felder werden entfernt.

3

Columns

Teilt das Formular in mehrere Spalten.

4

Column

Zeigt eine einzelne Spalte an.

5

Dateformat

Legt das Datums- und Uhrzeitformat fest.

6

Display

Zeigt einen Textwert ohne Eingabewert an.

7

Frontmatter

Die Seite wird im Rohformat angezeigt.

8

List

Zeigt eine Liste der Elemente ohne Schlüssel an.

9

Markdown

Zeigt den Markdown-Editor an.

10

Pages

Zeigt die Liste der Seiten an.

11

Section

Die Einstellungsseite ist in Abschnitte unterteilt und jeder Abschnitt hat einen Titel.

12

Selectize

Es wird verwendet, um Felder auszuwählen.

13

Tabs

Die Einstellungen sind in eine Liste von Registerkarten unterteilt.

14

Tab

Das Feld Registerkarten wird verwendet, um eine Registerkarte bereitzustellen.

15

Taxonomy

Es ist eine Auswahl, die vorkonfiguriert ist, um die Taxonomie auszuwählen.

16

Toggle

Es stellt den Umschalteffekt dar, der den Ein- oder Aus-Eingabetyp angibt.