mirror of
https://github.com/getgrav/grav.git
synced 2026-03-04 19:41:36 +01:00
provide default blueprints for common page types
This commit is contained in:
74
system/blueprints/pages/blog.yaml
Normal file
74
system/blueprints/pages/blog.yaml
Normal file
@@ -0,0 +1,74 @@
|
||||
title: Blog
|
||||
@extends: pages/default
|
||||
|
||||
child_type: item
|
||||
|
||||
|
||||
title: Default
|
||||
|
||||
rules:
|
||||
slug:
|
||||
pattern: "[a-z][a-z0-9_\-]+"
|
||||
min: 2
|
||||
max: 80
|
||||
|
||||
form:
|
||||
fields:
|
||||
tabs:
|
||||
type: tabs
|
||||
active: 1
|
||||
|
||||
fields:
|
||||
advanced:
|
||||
fields:
|
||||
overrides:
|
||||
fields:
|
||||
header.child_type:
|
||||
default: item
|
||||
blog:
|
||||
type: tab
|
||||
title: Blog List
|
||||
|
||||
fields:
|
||||
header.content.items:
|
||||
type: select
|
||||
label: Items
|
||||
default: @self.children
|
||||
options:
|
||||
@self.children: Children
|
||||
|
||||
header.content.limit:
|
||||
type: text
|
||||
label: Max Item Count
|
||||
default: 5
|
||||
validate:
|
||||
required: true
|
||||
type: int
|
||||
min: 1
|
||||
|
||||
header.content.order.by:
|
||||
type: select
|
||||
label: Order By
|
||||
default: date
|
||||
options:
|
||||
folder: Folder
|
||||
title: Title
|
||||
date: Date
|
||||
default: Default
|
||||
|
||||
header.content.order.dir:
|
||||
type: select
|
||||
label: Order
|
||||
default: desc
|
||||
options:
|
||||
asc: Ascending
|
||||
desc: Descending
|
||||
|
||||
header.content.pagination:
|
||||
type: toggle
|
||||
label: Pagination
|
||||
highlight: 1
|
||||
default: 1
|
||||
options:
|
||||
1: Enabled
|
||||
0: Disabled
|
||||
170
system/blueprints/pages/default.yaml
Normal file
170
system/blueprints/pages/default.yaml
Normal file
@@ -0,0 +1,170 @@
|
||||
title: Default
|
||||
|
||||
rules:
|
||||
slug:
|
||||
pattern: "[a-z][a-z0-9_\-]+"
|
||||
min: 2
|
||||
max: 80
|
||||
|
||||
form:
|
||||
fields:
|
||||
type:
|
||||
type: hidden
|
||||
label: Page Type
|
||||
default: default
|
||||
|
||||
tabs:
|
||||
type: tabs
|
||||
active: 1
|
||||
|
||||
fields:
|
||||
content:
|
||||
type: tab
|
||||
title: Content
|
||||
|
||||
fields:
|
||||
header.title:
|
||||
type: text
|
||||
label: Title
|
||||
validate:
|
||||
required: true
|
||||
|
||||
header.process:
|
||||
type: checkboxes
|
||||
label: Process
|
||||
default: [markdown: true, twig: true]
|
||||
options:
|
||||
markdown: Markdown
|
||||
twig: Twig
|
||||
use: keys
|
||||
|
||||
content:
|
||||
type: markdown
|
||||
label: Content
|
||||
validate:
|
||||
type: textarea
|
||||
|
||||
uploads:
|
||||
type: uploads
|
||||
label: Page Media
|
||||
|
||||
meta:
|
||||
type: tab
|
||||
title: Meta
|
||||
|
||||
fields:
|
||||
header.description:
|
||||
type: textarea
|
||||
label: Description
|
||||
validate:
|
||||
max: 120
|
||||
|
||||
header.keywords:
|
||||
type: text
|
||||
label: Keywords
|
||||
validate:
|
||||
max: 120
|
||||
|
||||
header.robots:
|
||||
type: checkboxes
|
||||
label: Robots
|
||||
options:
|
||||
noindex: No index
|
||||
nofollow: No follow
|
||||
use: keys
|
||||
|
||||
advanced:
|
||||
type: tab
|
||||
title: Advanced
|
||||
|
||||
fields:
|
||||
columns:
|
||||
type: columns
|
||||
fields:
|
||||
column1:
|
||||
type: column
|
||||
fields:
|
||||
folder:
|
||||
type: text
|
||||
label: Folder Name
|
||||
validate:
|
||||
type: slug
|
||||
|
||||
route:
|
||||
type: select
|
||||
label: Parent
|
||||
classes: fancy
|
||||
@data-options: '\Grav\Common\Page\Pages::parents'
|
||||
@data-default: '\Grav\Plugin\admin::route'
|
||||
options:
|
||||
'/': '- Root -'
|
||||
|
||||
type:
|
||||
type: select
|
||||
classes: fancy
|
||||
label: Display Template
|
||||
default: default
|
||||
@data-options: '\Grav\Common\Page\Pages::types'
|
||||
|
||||
column2:
|
||||
type: column
|
||||
|
||||
fields:
|
||||
order:
|
||||
type: order
|
||||
label: Ordering
|
||||
sitemap:
|
||||
|
||||
overrides:
|
||||
type: section
|
||||
title: Overrides
|
||||
underline: true
|
||||
|
||||
fields:
|
||||
|
||||
header.menu:
|
||||
type: text
|
||||
label: Menu
|
||||
|
||||
header.slug:
|
||||
type: text
|
||||
label: Alias
|
||||
validate:
|
||||
rule: slug
|
||||
|
||||
header.cache_enable:
|
||||
type: toggle
|
||||
label: Caching
|
||||
highlight: 1
|
||||
options:
|
||||
'': Global
|
||||
1: Enabled
|
||||
0: Disabled
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
header.routable:
|
||||
type: toggle
|
||||
label: Access by URL
|
||||
highlight: 1
|
||||
default: ''
|
||||
options:
|
||||
'': Global
|
||||
1: Enabled
|
||||
0: Disabled
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
header.child_type:
|
||||
type: select
|
||||
label: Default Child Type
|
||||
default: default
|
||||
@data-options: '\Grav\Common\Page\Pages::types'
|
||||
|
||||
header.order_by:
|
||||
type: hidden
|
||||
|
||||
header.order_manual:
|
||||
type: hidden
|
||||
validate:
|
||||
type: commalist
|
||||
50
system/blueprints/pages/item.yaml
Normal file
50
system/blueprints/pages/item.yaml
Normal file
@@ -0,0 +1,50 @@
|
||||
title: Item
|
||||
@extends: pages/default
|
||||
|
||||
form:
|
||||
fields:
|
||||
tabs:
|
||||
|
||||
fields:
|
||||
blog:
|
||||
type: tab
|
||||
title: Blog Item
|
||||
|
||||
fields:
|
||||
header.date:
|
||||
type: datetime
|
||||
label: Date
|
||||
|
||||
header.published:
|
||||
type: toggle
|
||||
label: Published
|
||||
highlight: 1
|
||||
default: 1
|
||||
options:
|
||||
1: Yes
|
||||
0: No
|
||||
|
||||
|
||||
# header.publish_date
|
||||
# header.unpublish_date
|
||||
# summary:
|
||||
# 16: enabled: true # enable or disable summary of page
|
||||
# 17: format: short # long = summary delimiter will be ignored; short = use the first occurence of delimter or size
|
||||
# 18: size: 300 # Maximum length of summary (characters)
|
||||
# 19: delimiter: === # The summary delimiter
|
||||
|
||||
header.taxonomy.category:
|
||||
type: text
|
||||
label: Category
|
||||
default: blog
|
||||
classes: fancy
|
||||
validate:
|
||||
type: commalist
|
||||
|
||||
header.taxonomy.tag:
|
||||
type: text
|
||||
label: Tags
|
||||
size: large
|
||||
classes: fancy
|
||||
validate:
|
||||
type: commalist
|
||||
52
system/blueprints/pages/modular.yaml
Normal file
52
system/blueprints/pages/modular.yaml
Normal file
@@ -0,0 +1,52 @@
|
||||
title: Modular
|
||||
@extends:
|
||||
type: pages/default
|
||||
|
||||
form:
|
||||
fields:
|
||||
tabs:
|
||||
type: tabs
|
||||
active: 1
|
||||
|
||||
fields:
|
||||
content:
|
||||
fields:
|
||||
|
||||
header.content.items:
|
||||
type: select
|
||||
label: Items
|
||||
default: @self.modular
|
||||
options:
|
||||
@self.modular: Children
|
||||
|
||||
header.content.order.by:
|
||||
type: select
|
||||
label: Order By
|
||||
default: date
|
||||
options:
|
||||
folder: Folder
|
||||
title: Title
|
||||
date: Date
|
||||
default: Default
|
||||
|
||||
header.content.order.dir:
|
||||
type: select
|
||||
label: Order
|
||||
default: desc
|
||||
options:
|
||||
asc: Ascending
|
||||
desc: Descending
|
||||
|
||||
header.content.custom:
|
||||
type: text
|
||||
label: Manual ordering
|
||||
classes: fancy
|
||||
validate:
|
||||
type: commalist
|
||||
|
||||
header.process:
|
||||
type: hidden
|
||||
content:
|
||||
type: hidden
|
||||
uploads:
|
||||
type: hidden
|
||||
@@ -1,42 +0,0 @@
|
||||
rules:
|
||||
slug:
|
||||
pattern: "[a-z][a-z0-9_\-]+"
|
||||
min: 2
|
||||
max: 80
|
||||
|
||||
form:
|
||||
validation: loose
|
||||
fields:
|
||||
|
||||
title:
|
||||
type: text
|
||||
label: Title
|
||||
validate:
|
||||
required: true
|
||||
|
||||
folder:
|
||||
type: text
|
||||
label: Folder
|
||||
validate:
|
||||
type: slug
|
||||
required: true
|
||||
|
||||
route:
|
||||
type: select
|
||||
label: Parent
|
||||
classes: fancy
|
||||
@data-options: '\Grav\Common\Page\Pages::parents'
|
||||
@data-default: '\Grav\Plugin\admin::route'
|
||||
options:
|
||||
'/': '- Root -'
|
||||
validate:
|
||||
required: true
|
||||
|
||||
type:
|
||||
type: select
|
||||
classes: fancy
|
||||
label: Display Template
|
||||
default: default
|
||||
@data-options: '\Grav\Common\Page\Pages::types'
|
||||
validate:
|
||||
required: true
|
||||
Reference in New Issue
Block a user