provide default blueprints for common page types

This commit is contained in:
Gert
2015-05-09 15:45:56 +02:00
parent 4f1a71b145
commit ff04b33efd
5 changed files with 346 additions and 42 deletions

View 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

View 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

View 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

View 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

View File

@@ -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