# This file defines the contenttypes on the website. See the documentation for
# details: https://docs.bolt.cm/contenttypes/intro
# The Homepage contenttype is a singleton: There can be only one record of this
# contenttype.
homepage:
name: Homepage
singular_name: Homepage
fields:
title:
type: text
class: large
group: content
postfix: |
The 'Homepage' can contain basic information about the website. This title will be
shown on the homepage of the website, as the name implies. To change the
<em><strong>name</strong></em> of the site, as is shown in the header, and the tab
in the webbrowser, edit <code>sitename:</code> in the configuration file.
image:
type: image
placeholder: https://source.unsplash.com/1920x640/?cityscape,landscape,nature/__random__
teaser:
type: html
height: 150px
content:
type: html
height: 300px
contentlink:
type: text
label: Link
placeholder: 'contenttype/slug or http://example.org/'
postfix: "Use this to add a link for this Homepage. This could either be an 'internal' link like <tt>page//about</tt>, if you use a contenttype/slug combination. Otherwise use a proper URL, like `http://example.org`."
slug:
type: slug
uses: title
group: meta
viewless: true
singleton: true
default_status: published
icon_many: "fa:home"
icon_one: "fa:home"
# Pages can be used for the more 'static' pages on your site. This content-type
# has a 'templateselect' field, which allows you to override the record_template
# setting for an individual page.
# The taxonomy for this ContentType is defined as 'groups', which is a so-called
# "grouping taxonomy". This way you can easily group sets of pages that logically
# belong together. If your site has a 'services' section, in which you'd like to
# list the different types of services a company provides, you can group these
# together.
pages:
name: Pages
singular_name: Page
fields:
title:
type: text
class: large
group: content
slug:
type: slug
uses: title
image:
type: image
placeholder: https://source.unsplash.com/1280x768/?business,workplace/__random__
teaser:
type: html
height: 150px
body:
type: html
height: 300px
template:
type: templateselect
filter: '*.twig'
taxonomy: [ groups ]
recordsperpage: 20
# Entries can be used for things like 'news' or 'blogpostings'. They have a
# 'teaser', which can be used for a short blurb on listing-pages, allowing
# visitors to click-through to the rest of the entry. It also has fields for an
# image and an optional video.
# A relation is defined to the pages ContentType. This way you can refer to a
# page from your news-item.
# This ContentType defines 'categories' and 'tags' as taxonomies, allowing the
# editor to use both to categorize a specific entry.
# The 'sort' is set to '-datepublish', which means that newer entries will be
# shown above older entries.
entries:
name: Entries
singular_name: Entry
fields:
title:
type: text
class: large
group: content
slug:
type: slug
uses: title
teaser:
type: html
height: 150px
body:
type: html
height: 300px
image:
type: image
group: media
placeholder: https://source.unsplash.com/1280x768/?business,workspace,interior/__random__
video:
type: video
relations:
pages:
multiple: false
order: title
label: Select a page
taxonomy: [ categories, tags ]
record_template: entry.twig
listing_template: listing.twig
listing_records: 10
default_status: published
sort: -datepublish
recordsperpage: 20
# The 'Showcases' is not particularly useful in most cases, but it does a good
# job of showcasing most of the available fieldtypes. Feel free to delete it, or
# copy some fields to your own ContentTypes.
# Since no templates are defined for this ContentType, the default record_template,
# listing_template, and related settings are used from config.yml
showcases:
name: Showcases
slug: showcases
singular_name: Showcase
singular_slug: showcase
fields:
title:
type: text
class: large
required: true
pattern: ".{2,255}" # see: http://html5pattern.com/
error: "The Title field is required, and must contain at least 2 characters"
group: Text
slug:
type: slug
uses: [ title ]
html:
type: html
height: 150px
textarea:
type: textarea
postfix: "<p><em>This is a plain text area. the contents will not be processed.</em></p>"
markdown:
type: markdown
postfix: "<p><em>This field gets parsed as <a href='https://help.github.com/articles/markdown-basics'>Markdown</a>, when rendered on the site.</em></p>"
geolocation:
type: geolocation
group: Media
embed:
type: embed
video:
type: video
image:
type: image
attrib: title # Note: retrieve this in your template with {{ record.values.image.title }}
extensions: [ gif, jpg, png ]
placeholder: https://source.unsplash.com/1280x768/?animal,koala,kitten,puppy,cute/__random__
imagelist:
type: imagelist
file:
type: file
group: files
filelist:
type: filelist
checkbox:
type: checkbox
label: "This is a checkbox"
group: other
datetime:
type: datetime
default: "2000-01-01"
variant: inline
date:
type: date
default: "first day of last month"
variant: inline
integerfield:
type: integer
index: true
floatfield:
type: float
selectfield:
type: select
values: [ foo, bar, baz ]
multiselect:
type: select
values: [ A-tuin, Donatello, Rafael, Leonardo, Michelangelo, Koopa, Squirtle ]
multiple: true
postfix: "Select your favourite turtle(s)."
selectentry:
type: select
values: entries/id,title
postfix: "Select an entry"
autocomplete: true
sort: title
repeater:
type: repeater
group: repeater
label: Simple repeater example
icon: fa:repeat
limit: 3
prefix: "<p>This allows you to create multiple sets of fields. Use the add button at the bottom to create a new empty set.</p>"
fields:
repeattitle:
type: text
repeatimage:
type: image
extensions: [ gif, jpg, png ]
repeatcontent:
type: html
relations:
entries:
multiple: false
label: "Choose an entry"
order: -id
format: "{{ item.title|escape }} (№ {{ item.id }})"
postfix: "By selecting an Entry, you're creating a bi-directional relationship to that Entry."
pages:
multiple: true
order: title
label: Select zero or more pages
taxonomy: [ categories, tags ]
show_on_dashboard: true
default_status: published
searchable: true
icon_many: "fa:gift"
icon_one: "fa:gift"
# The 'Blocks' ContentType is a so-called 'resource ContentType'. This means
# that it can be used to manage smaller pieces of content, like the 'about us'
# text, an 'our address' in the footer, or similar short blurbs of text.
# For more info, see: https://docs.bolt.cm/howto/resource-contenttype
blocks:
name: Blocks
singular_name: Block
fields:
title:
type: text
class: large
group: "Block"
slug:
type: slug
uses: [ title ]
content:
type: html
height: 150px
contentlink:
type: text
label: Link
placeholder: 'contenttype/slug or http://example.org/'
postfix: "Use this to add a link for this Block. This could either be an 'internal' link like <tt>page/about</tt>, if you use a contenttype/slug combination. Otherwise use a proper URL, like `http://example.org`."
image:
type: image
attrib: title
extensions: [ gif, jpg, png ]
show_on_dashboard: true
viewless: true
default_status: published
searchable: false
icon_many: "fa:cubes"
icon_one: "fa:cube"
# Possible field types:
#
# text - varchar(256) - input type text.
# integer - integer - Input field for integer numbers.
# float - double - Input field for floating numbers, stored as 'Double'.
# geolocation - text (65kb) - Input field for geolocation. Enter an address, and the location is geocoded to latitude/longitude coordinates
# imagelist - text (65kb) - Input type for imagelists. Add multiple images with a description. Useful for image sliders, galleries, etcetera.
# image - varchar(256) - image select/upload widget, stored as filename.
# file - varchar(256) - file select/upload widget, stored as filename.
# filelist - text (65kb) - Input type for a list of files. Including a description.
# video - varchar(256) - Video embed widget, stored as filename.
# html - text (65kb) - wysiwyg element.
# textarea - varchar(32768) - Simple, plain < textarea > field.
# markdown - varchar(32768) - Simple, plain < textarea > field, which is parsed as Markdown text.
# datetime - datetime - date and time selector widget.
# date - datetime - date selector widget.
# select - varchar(256) - select with predefined values
# templateselect - varchar(256) - select with template filenames
# checkbox - integer - checkbox-field which is 1 (checked) or 0 (unchecked)
# Using YAML repeated nodes
#
# YAML allows the defining of "repeated nodes". These allow you to define a 'node'
# with a 'key: &name' and referenced later with '<<: *name'
#
# Bolt allows you to define this with the special entry of '__nodes:' that itself
# won't create a ContentType, but will allow you to use it in actual ContentTypes
# to prevent repeating yourself.
#
# To achieve this, first create a key '__nodes:'
#__nodes:
# field_defaults: &field_defaults
# title:
# type: text
# class: large
# group: main
# slug:
# type: slug
# uses: title
# template_defaults: &template_defaults
# template:
# type: templateselect
# filter: '*.twig'
# group: meta
#
# Then, as an example, you could create a ContentType with default fields, with
# an additional 'image' field.
#
#contenttype_abc:
# name: ContentType Abc
# fields:
# <<: *field_defaults
# image:
# type: image
# attrib: title
# extensions: [ gif, jpg, png ]
# <<: *template_defaults
# taxonomy: [ chapters ]
# recordsperpage: 10
#
# Alternatively, or additionally, you then can then create a ContentType with
# default fields, and a 'select' field, and a different 'templateselect' option.
#
#contenttype_xyz:
# name: ContentType Xyz
# fields:
# <<: *field_defaults
# selectfield:
# type: select
# values: [ none, foo, bar ]
# template:
# type: templateselect
# filter: '*_xyz.twig'
# taxonomy: [ tags ]
# recordsperpage: 20
Copyright 2K16 - 2K18 Indonesian Hacker Rulez