summaryrefslogtreecommitdiff
path: root/models
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--models/blog-post.ini39
-rw-r--r--models/blog.ini17
-rw-r--r--models/categories.ini9
-rw-r--r--models/category.ini11
-rw-r--r--models/index.ini8
-rw-r--r--models/page.ini11
6 files changed, 95 insertions, 0 deletions
diff --git a/models/blog-post.ini b/models/blog-post.ini
new file mode 100644
index 0000000..4f36c1e
--- /dev/null
+++ b/models/blog-post.ini
@@ -0,0 +1,39 @@
+[model]
+name = Blog Post
+label = {{ this.title }}
+
+[fields.title]
+label = Title
+type = string
+size = large
+
+[fields.publication_date]
+label = Publication date
+type = date
+width = 1/2
+
+[fields.updated_date]
+label = Updated date
+type = date
+width = 1/2
+
+[fields.category]
+label = Category
+type = select
+source = site.query('/categories')
+width = 1/2
+
+[fields.render_toc]
+label = Render TOC
+type = boolean
+checkbox_label = If true, then a TOC will be rendered in the webpage.
+default = false
+width = 1/2
+
+[fields.body]
+label = Body
+type = markdown
+
+[fields.tags]
+label = Tags
+type = strings
diff --git a/models/blog.ini b/models/blog.ini
new file mode 100644
index 0000000..0d612ff
--- /dev/null
+++ b/models/blog.ini
@@ -0,0 +1,17 @@
+[model]
+name = Blog
+label = Blog
+hidden = yes
+
+[fields.author]
+label = Author
+type = string
+
+[children]
+model = blog-post
+order_by = -publication_date, title
+slug_format = {{ (this.publication_date|dateformat('YYYY/MM/') if this.publication_date) ~ this._id }}
+
+[pagination]
+enabled = yes
+per_page = 5
diff --git a/models/categories.ini b/models/categories.ini
new file mode 100644
index 0000000..2b4c222
--- /dev/null
+++ b/models/categories.ini
@@ -0,0 +1,9 @@
+[model]
+name = Categories
+label = Categories
+hidden = yes
+protected = yes
+
+[children]
+model = category
+order_by = name
diff --git a/models/category.ini b/models/category.ini
new file mode 100644
index 0000000..3a6e10d
--- /dev/null
+++ b/models/category.ini
@@ -0,0 +1,11 @@
+[model]
+name = Category
+label = {{ this.name }}
+hidden = yes
+
+[children]
+replaced_with = site.query('/blog').filter(F.category.contains(this))
+
+[fields.name]
+label = Name
+type = string
diff --git a/models/index.ini b/models/index.ini
new file mode 100644
index 0000000..475c4a1
--- /dev/null
+++ b/models/index.ini
@@ -0,0 +1,8 @@
+[model]
+name = Index
+label = index
+
+[pagination]
+enabled = yes
+per_page = 5
+items = site.query('/blog')
diff --git a/models/page.ini b/models/page.ini
new file mode 100644
index 0000000..dcddfe8
--- /dev/null
+++ b/models/page.ini
@@ -0,0 +1,11 @@
+[model]
+name = Page
+label = {{ this.title }}
+
+[fields.title]
+label = Title
+type = string
+
+[fields.body]
+label = Body
+type = markdown