schuelerzeitung/static/admin/collections.js
Denys Konovalov ad6e7f7299
All checks were successful
schuelerzeitung-main / test-build (push) Successful in 3m58s
schuelerzeitung-main / prod-build (push) Successful in 4m2s
add CMS
2023-05-29 19:03:29 +02:00

150 lines
2.8 KiB
JavaScript

const PostCollection = {
name: "posts",
label: "Artikel",
description: "Hier könnt ihr die Artikel der Schülerzeitung bearbeiten.",
icon: "news",
folder: "content/de/blog",
create: true,
editor: {
preview: true,
frame: true,
size: "half",
},
filter: {
field: "type",
value: "blog",
// pattern: "^((?!_index.md).)*$"
},
summary_fields: ["title", "date", "draft", "author"],
fields: [
{
name: "title",
label: "Titel",
widget: "string",
required: true,
},
{
name: "draft",
label: "Entwurf",
widget: "boolean",
required: false,
},
{
name: "date",
label: "Datum",
widget: "datetime",
date_format: "dd.MM.yyyy",
time_format: false,
format: "yyyy-MM-dd",
required: true,
},
{
name: "author",
label: "Autor",
widget: "string",
required: false,
},
{
name: "description",
label: "Beschreibung",
widget: "text",
required: false,
},
{
name: "thumbnail",
label: "Titelbild",
widget: "image",
required: true,
},
{
name: "tags",
label: "Tags",
widget: "list",
delimiter: ",",
required: false,
},
{
name: "type",
widget: "hidden",
default: "blog",
},
{
name: "body",
label: "Inhalt",
widget: "markdown",
required: true,
},
],
};
const PagesCollection = {
name: "pages",
label: "Seiten",
description: "Hier könnt ihr die Zusatzseiten der Website bearbeiten.",
icon: "page",
folder: "content/de/page",
create: true,
editor: {
preview: true,
frame: true,
size: "half",
},
summary_fields: ["title", "date", "draft", "description"],
fields: [
{
name: "title",
label: "Titel",
widget: "string",
required: true,
},
{
name: "draft",
label: "Entwurf",
widget: "boolean",
required: false,
},
{
name: "date",
label: "Datum",
widget: "datetime",
date_format: "dd.MM.yyyy",
time_format: false,
format: "yyyy-MM-dd",
required: true,
},
{
name: "author",
label: "Autor",
widget: "string",
required: false,
},
{
name: "description",
label: "Beschreibung",
widget: "text",
required: false,
},
{
name: "thumbnail",
label: "Titelbild",
widget: "image",
required: false,
},
{
name: "keywords",
label: "Schlüsselwörter",
widget: "list",
delimiter: ",",
required: false,
},
{
name: "body",
label: "Inhalt",
widget: "markdown",
required: true,
},
],
};
export { PostCollection, PagesCollection };