diff --git a/system/blueprints/pages/blog.yaml b/system/blueprints/pages/blog.yaml new file mode 100644 index 000000000..8665a3b40 --- /dev/null +++ b/system/blueprints/pages/blog.yaml @@ -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 diff --git a/system/blueprints/pages/default.yaml b/system/blueprints/pages/default.yaml new file mode 100644 index 000000000..7c29e18e2 --- /dev/null +++ b/system/blueprints/pages/default.yaml @@ -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 diff --git a/system/blueprints/pages/item.yaml b/system/blueprints/pages/item.yaml new file mode 100644 index 000000000..96793d620 --- /dev/null +++ b/system/blueprints/pages/item.yaml @@ -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 diff --git a/system/blueprints/pages/modular.yaml b/system/blueprints/pages/modular.yaml new file mode 100644 index 000000000..fdd016d45 --- /dev/null +++ b/system/blueprints/pages/modular.yaml @@ -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 diff --git a/system/blueprints/pages/page.yaml b/system/blueprints/pages/page.yaml deleted file mode 100644 index 81948231b..000000000 --- a/system/blueprints/pages/page.yaml +++ /dev/null @@ -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