1068 lines
45 KiB
HTML
1068 lines
45 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<link rel="stylesheet" href="/plugins/mdi/css/materialdesignicons.min.css">
|
|
<title>Static CMS</title>
|
|
</head>
|
|
<body>
|
|
<style>
|
|
body {
|
|
font-family: sans-serif;
|
|
}
|
|
.icon-md {
|
|
font-size: 25px;
|
|
}
|
|
</style>
|
|
<script src="https://cdn.jsdelivr.net/npm/@staticcms/app@^1.2.7/dist/static-cms-app.js"></script>
|
|
<script src="https://cantorgymnasium.de/plugins/wordcloud/wordcloud2.min.js"></script>
|
|
<script>
|
|
CMS.init();
|
|
var icons = [['settings', 'mdi mdi-cog-outline'], ['user', 'mdi mdi-fountain-pen-tip'], ['page', 'mdi mdi-file-document-outline'], ['page-add', 'mdi mdi-file-document-plus-outline'], ['document', 'mdi mdi-file-document-multiple-outline'], ['news', 'mdi mdi-newspaper'], ['award', 'mdi mdi-seal-variant'], ['group', 'mdi mdi-crowd'], ['trophy', 'mdi mdi-trophy-outline'], ['pi', 'mdi mdi-pi-box'], ['pillar', 'mdi mdi-pillar'], ['graduation-cap', 'mdi mdi-school-outline'], ['help', 'mdi mdi-lifebuoy'], ['dash', 'mdi mdi-monitor-dashboard'], ['presentation', 'mdi mdi-presentation']];
|
|
icons.forEach(icon => {
|
|
CMS.registerIcon(icon[0], ({}) => { return(h('i', {"className": icon[1] + " icon-md"})); });
|
|
});
|
|
const StatusPage = () => {
|
|
return h('div', {className: "row"},
|
|
h('div', {className: "column"},
|
|
h('h2', {}, "Build-Status"),
|
|
h('div', {className: "row"},
|
|
"Produktivumgebung: ",
|
|
h('a', {href: "https://drone.cantorgymnasium.de/gcg/gcg-website", target: "_blank"}, h('img', {src: "https://drone.cantorgymnasium.de/api/badges/gcg/gcg-website/status.svg"})),
|
|
h('div', {className: "row"},
|
|
"Entwicklungsumgebung: ",
|
|
h('a', {href: "https://drone.cantorgymnasium.de/cantortechnik/gcg-website", target: "_blank"}, h('img', {src: "https://drone.cantorgymnasium.de/api/badges/cantortechnik/gcg-website/status.svg"}))
|
|
))),
|
|
h('div', {className: "column"},
|
|
h('h2', {}, "Verfügbarkeit"),
|
|
h('div', {className: "row"},
|
|
"cantorgymnasium.de: ",
|
|
h('a', {href: "https://cantorgymnasium.de/", target: "_blank"}, h('img', {src: "https://status.cantorgymnasium.de/api/badge/16/status?upLabel=online&downLabel=offline&style=for-the-badge"})),
|
|
h('div', {className: "row"},
|
|
"test.cantorgymnasium.de: ",
|
|
h('a', {href: "https://test.cantorgymnasium.de/", target: "_blank"}, h('img', {src: "https://status.cantorgymnasium.de/api/badge/25/status?upLabel=online&downLabel=offline&style=for-the-badge"})),
|
|
h('div', {className: "row"},
|
|
"dev.cantorgymnasium.de: ",
|
|
h('a', {href: "https://dev.cantorgymnasium.de/", target: "_blank"}, h('img', {src: "https://status.cantorgymnasium.de/api/badge/31/status?upLabel=online&downLabel=offline&style=for-the-badge"}))
|
|
))))
|
|
);
|
|
};
|
|
CMS.registerAdditionalLink({
|
|
id: 'status',
|
|
title: 'Status',
|
|
data: StatusPage,
|
|
options: {
|
|
icon: 'dash',
|
|
},
|
|
});
|
|
CMS.registerAdditionalLink({
|
|
id: 'wiki',
|
|
title: 'GCG.Wiki',
|
|
data: 'https://wiki.cantorgymnasium.de',
|
|
options: {
|
|
icon: 'help',
|
|
},
|
|
});
|
|
CMS.registerShortcode('gallery', {
|
|
label: 'Gallery',
|
|
openTag: '{{< ',
|
|
closeTag: ' />}}',
|
|
separator: ' ',
|
|
toProps: args => {
|
|
if (args.length > 0) {
|
|
var dir = args.find(arg => arg.startsWith('dir='))?.split('=')[1].replaceAll("\"","") ?? '';
|
|
return { dir: dir };
|
|
}
|
|
|
|
return { dir: '' };
|
|
},
|
|
toArgs: ({ dir }) => {
|
|
return [`dir=\"${dir}\"`];
|
|
},
|
|
control: ({ dir, onChange }) => {
|
|
return h('div', {"className": "row", "style": { border: "1px solid #868686", borderRadius: "8px", padding: "10px" }},
|
|
h('b', {"style": {width: "30%", fontFamily: "sans-serif", margin: "10px"}}, "Gallerie-Ordner: "),
|
|
h('input', {
|
|
key: 'control-input',
|
|
value: dir,
|
|
"style": {
|
|
border: "1px solid #ced4da", borderRadius: "8px", padding: "10px", width: "80%"
|
|
},
|
|
onChange: event => {
|
|
onChange({ dir: event.target.value });
|
|
},
|
|
}));
|
|
},
|
|
preview: ({ dir }) => {
|
|
return h('div', {"className": "row", "style": { border: "1px solid #868686", borderRadius: "8px", padding: "10px", marginBottom: "5px" }},
|
|
h('b', {"style": { marginRight: "5px" }}, "Gallerie-Ordner:"),
|
|
h('code', {}, dir));
|
|
},
|
|
});
|
|
CMS.registerShortcode('figure', {
|
|
label: 'Bild',
|
|
openTag: '{{< ',
|
|
closeTag: ' >}}',
|
|
separator: ' ',
|
|
toProps: args => {
|
|
if (args.length > 0) {
|
|
var src = args.find(arg => arg.startsWith('src='))?.split('=')[1].replaceAll("\"","") ?? '';
|
|
return { src };
|
|
}
|
|
|
|
return { dir: '' };
|
|
},
|
|
toArgs: ({ src }) => {
|
|
return [`src=\"${src}\"`];
|
|
},
|
|
control: ({ src, onChange }) => {
|
|
return h('div', {"className": "row", "style": { border: "1px solid #868686", borderRadius: "16px", padding: "10px" }},
|
|
h('b', {"style": {width: "30%", fontFamily: "sans-serif", margin: "10px"}}, "Bild-Pfad:"),
|
|
h('input', {
|
|
key: 'control-input',
|
|
value: src,
|
|
"style": {
|
|
border: "1px solid #ced4da", borderRadius: "8px", padding: "10px", width: "80%"
|
|
},
|
|
onChange: event => {
|
|
onChange({ src: event.target.value });
|
|
},
|
|
}));
|
|
},
|
|
preview: ({ src }) => {
|
|
return h('div', {"className": "row", "style": { border: "1px solid #ccc", borderRadius: "16px", padding: "10px" }},
|
|
h('b', {"style": { marginRight: "5px" }}, "Gallerie-Ordner:"),
|
|
h('code', {}, src));
|
|
},
|
|
});
|
|
CMS.registerShortcode('download', {
|
|
label: 'Download-Karte',
|
|
openTag: '{{< ',
|
|
closeTag: ' >}}',
|
|
separator: ' ',
|
|
toProps: args => {
|
|
if (args.length > 0) {
|
|
var title = "";
|
|
var link = "";
|
|
var linkIndex = args.findIndex(arg => arg.startsWith('link="'));
|
|
var titleIndex = args.findIndex(arg => arg.startsWith('title="'));
|
|
if (titleIndex + 1 < linkIndex) {
|
|
title += args.find(arg => arg.startsWith('title='))?.split('=')[1].replaceAll("\"","") ?? '';
|
|
for (let i = titleIndex + 1; i < linkIndex; i++) {
|
|
title += " " + args[i].replaceAll("\"","") ;
|
|
}
|
|
} else {
|
|
title = args.find(arg => arg.startsWith('title='))?.split('=')[1].replaceAll("\"","") ?? ''
|
|
}
|
|
if (linkIndex + 1 < args.length) {
|
|
link += args.find(arg => arg.startsWith('link='))?.split('=')[1].replaceAll("\"","") ?? '';
|
|
for (let i = linkIndex + 1; i < args.length; i++) {
|
|
link += " " + args[i].replaceAll("\"","");
|
|
}
|
|
} else {
|
|
link = args.find(arg => arg.startsWith('link='))?.split('=')[1].replaceAll("\"","") ?? ''
|
|
}
|
|
title.trim();
|
|
link.trim();
|
|
return { title: title, link: link };
|
|
}
|
|
|
|
return { title: '', link: '' };
|
|
},
|
|
toArgs: ({ title, link }) => {
|
|
return [`title=\"${title}\"`, `link=\"${link}\"`];
|
|
},
|
|
control: ({ title, link, onChange }) => {
|
|
return h('div', {"className": "row", "style": { border: "1px solid #868686", borderRadius: "8px", padding: "10px" }},
|
|
h('b', {"style": {width: "30%", fontFamily: "sans-serif", margin: "10px"}}, "Download-Karte:"),
|
|
h('input', {
|
|
key: 'control-input',
|
|
value: title,
|
|
"style": {
|
|
border: "1px solid #ced4da", borderRadius: "8px", padding: "10px", width: "35%", marginLeft: "5px", marginRight: "5px"
|
|
},
|
|
onChange: event => {
|
|
onChange({ title: event.target.value, link: link });
|
|
},
|
|
}),
|
|
h('input', {
|
|
key: 'control-input',
|
|
value: link,
|
|
"style": {
|
|
border: "1px solid #ced4da", borderRadius: "8px", padding: "10px", width: "35%", marginLeft: "5px", marginRight: "5px"
|
|
},
|
|
onChange: event => {
|
|
onChange({ title: title, link: event.target.value });
|
|
},
|
|
})
|
|
);
|
|
},
|
|
preview: ({ title, link }) => {
|
|
return h('div', {"className": "container mb-0"},
|
|
h('div', {"className": "card border-primary rounded-0 hover-shadow mb-5"},
|
|
h('div', {"className": "card-body mb-0"},
|
|
h('h4', {"className": "card-title"},
|
|
h('a', {"className": "text-decoration-none", "href": link}, title),
|
|
),
|
|
h('a', {"className": "mb-0 btn btn-primary btn-sm text-decoration-none", "href": link}, "Download")
|
|
)))},
|
|
});
|
|
CMS.registerShortcode('card', {
|
|
label: 'Link-Karte',
|
|
openTag: '{{< ',
|
|
closeTag: ' >}}',
|
|
separator: ' ',
|
|
toProps: args => {
|
|
if (args.length > 0) {
|
|
var title = "";
|
|
var link = "";
|
|
var linkIndex = args.findIndex(arg => arg.startsWith('link="'));
|
|
var titleIndex = args.findIndex(arg => arg.startsWith('title="'));
|
|
if (titleIndex + 1 < linkIndex) {
|
|
title += args.find(arg => arg.startsWith('title='))?.split('=')[1].replaceAll("\"","") ?? '';
|
|
for (let i = titleIndex + 1; i < linkIndex; i++) {
|
|
title += " " + args[i].replaceAll("\"","") ;
|
|
}
|
|
} else {
|
|
title = args.find(arg => arg.startsWith('title='))?.split('=')[1].replaceAll("\"","") ?? ''
|
|
}
|
|
if (linkIndex + 1 < args.length) {
|
|
link += args.find(arg => arg.startsWith('link='))?.split('=')[1].replaceAll("\"","") ?? '';
|
|
for (let i = linkIndex + 1; i < args.length; i++) {
|
|
link += " " + args[i].replaceAll("\"","");
|
|
}
|
|
} else {
|
|
link = args.find(arg => arg.startsWith('link='))?.split('=')[1].replaceAll("\"","") ?? ''
|
|
}
|
|
title.trim();
|
|
link.trim();
|
|
return { title: title, link: link };
|
|
}
|
|
|
|
return { title: '', link: '' };
|
|
},
|
|
toArgs: ({ title, link }) => {
|
|
return [`title=\"${title}\"`, `link=\"${link}\"`];
|
|
},
|
|
control: ({ title, link, onChange }) => {
|
|
return h('div', {"className": "row", "style": { border: "1px solid #868686", borderRadius: "8px", padding: "10px" }},
|
|
h('b', {"style": {width: "30%", fontFamily: "sans-serif", margin: "10px"}}, "Link-Karte:"),
|
|
h('input', {
|
|
key: 'control-input',
|
|
value: title,
|
|
"style": {
|
|
border: "1px solid #ced4da", borderRadius: "8px", padding: "10px", width: "40%", marginLeft: "5px", marginRight: "5px"
|
|
},
|
|
onChange: event => {
|
|
onChange({ title: event.target.value, link: link });
|
|
},
|
|
}),
|
|
h('input', {
|
|
key: 'control-input',
|
|
value: link,
|
|
"style": {
|
|
border: "1px solid #ced4da", borderRadius: "8px", padding: "10px", width: "40%", marginLeft: "5px", marginRight: "5px"
|
|
},
|
|
onChange: event => {
|
|
onChange({ title: title, link: event.target.value });
|
|
},
|
|
})
|
|
);
|
|
},
|
|
preview: ({ title, link }) => {
|
|
return h('div', {"className": "container mb-0"},
|
|
h('div', {"className": "card border-primary rounded-0 hover-shadow mb-5"},
|
|
h('div', {"className": "card-body mb-0"},
|
|
h('h4', {"className": "card-title"},
|
|
h('a', {"className": "text-decoration-none", "href": link}, title),
|
|
),
|
|
h('a', {"className": "mb-0 btn btn-primary btn-sm text-decoration-none", "href": link}, "Mehr anzeigen")
|
|
)))},
|
|
});
|
|
CMS.registerShortcode('youtube', {
|
|
label: 'YouTube-Video',
|
|
openTag: '{{< ',
|
|
closeTag: ' >}}',
|
|
separator: ' ',
|
|
toProps: args => {
|
|
if (args.length > 0) {
|
|
return { src: args[0] };
|
|
}
|
|
|
|
return { src: '' };
|
|
},
|
|
toArgs: ({ src }) => { return [src] },
|
|
control: ({ src, onChange }) => {
|
|
return h('div', {"className": "row", "style": { border: "1px solid #868686", borderRadius: "8px", padding: "10px" }},
|
|
h('b', {"style": {fontFamily: "sans-serif", margin: "10px"}}, "YoutTube-Video:"),
|
|
h('input', {
|
|
key: 'control-input',
|
|
value: src,
|
|
"style": {
|
|
border: "1px solid #ced4da", borderRadius: "8px", padding: "10px", width: "80%"
|
|
},
|
|
onChange: event => {
|
|
onChange({ src: event.target.value });
|
|
},
|
|
}),
|
|
h('div', {"className": "row", "style": {"marginTop": "10px"}},
|
|
h(
|
|
'iframe',
|
|
{
|
|
key: 'control-preview',
|
|
width: '100%',
|
|
height: '360',
|
|
src: `https://piped.kavin.rocks/embed/${src}`,
|
|
style: { borderRadius: "8px" }
|
|
},
|
|
'',
|
|
)
|
|
));
|
|
},
|
|
preview: ({ src }) => {
|
|
return h(
|
|
'span',
|
|
{},
|
|
h(
|
|
'iframe',
|
|
{
|
|
width: '420',
|
|
height: '315',
|
|
src: `https://piped.kavin.rocks/embed/${src}`,
|
|
},
|
|
'',
|
|
),
|
|
);
|
|
},
|
|
});
|
|
</script>
|
|
<script>
|
|
CMS.registerPreviewStyle("https://cantorgymnasium.de/plugins/bootstrap/bootstrap.min.css");
|
|
CMS.registerPreviewStyle("https://cantorgymnasium.de/plugins/fira/fira.css");
|
|
CMS.registerPreviewStyle("https://cantorgymnasium.de/plugins/mdi/css/materialdesignicons.min.css");
|
|
CMS.registerPreviewStyle("https://cantorgymnasium.de/scss/style.css");
|
|
</script>
|
|
<!--script>
|
|
var ChronikPreview = ({widgetFor, widgetsFor, entry, document, window }) => {
|
|
const divStyle = {
|
|
backgroundImage: 'url("/media/backgrounds/page-title.webp"),url("/media/backgrounds/page-title.webp")',
|
|
};
|
|
return h('div', {"id": "sc-root"},
|
|
h('section', {"className": "page-title-section overlay", "style": divStyle},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "col-md-8"},
|
|
h('ul', {"className": "list-inline"},
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h('a', {"className": "text-primary font-secondary", href: ""}, "Schulchronik")),
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h("i", {"className": "mdi mdi-chevron-double-right text-white"})),
|
|
h('li', {"className": "list-inline-item text-white h2 font-secondary"}, entry.data.title)
|
|
)
|
|
)
|
|
)
|
|
),
|
|
h('section', {"className": "section-sm"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "row"},
|
|
h('div', {"className": "col-12 mb-4 content"},
|
|
widgetsFor('topics').map(function(i, index) {
|
|
return h('div', {"id": i.data.id, "className": "modal"},
|
|
h('div', {"className": "modal-dialog modal-lg", "role": "document"},
|
|
h('div', {"className": "modal-content"},
|
|
h('div', {"className": "modal-header"},
|
|
h('h5', {"className": "modal-title"}, i.data.title),
|
|
h('button', {"className": "close", "type": "button", "dataDismiss": "modal", "ariaLabel": "Close"},
|
|
h('span', {"ariaHidden": "true"}, '\u{00d7}')
|
|
)
|
|
),
|
|
h('div', {"className": "modal-body"},
|
|
h('div', {"className": "content"}, i.content)
|
|
)
|
|
)
|
|
)
|
|
);
|
|
}),
|
|
entry.data.pretext != "" && entry.data.pretext != null ? h('div', {"id": "pretext", "className": "modal"},
|
|
h('div', {"className": "modal-dialog modal-lg", "role": "document"},
|
|
h('div', {"className": "modal-content"},
|
|
h('div', {"className": "modal-header"},
|
|
h('h5', {"className": "modal-title"}, entry.data.title),
|
|
h('button', {"className": "close", "type": "button", "dataDismiss": "modal", "ariaLabel": "Close"},
|
|
h('span', {"ariaHidden": "true"}, '\u{00d7}')
|
|
)
|
|
),
|
|
h('div', {"className": "modal-body"},
|
|
h('div', {"className": "content"}, widgetFor('pretext'))
|
|
)
|
|
)
|
|
)
|
|
) : null,
|
|
h('div', {"id": "wc-canvas"}),
|
|
() => {
|
|
var topics = [[entry.data.title, 100, "pretext"]];
|
|
widgetsFor('topics').map(function(i, index) {
|
|
topics.push([i.data.title, 40, i.data.id]);
|
|
});
|
|
var script = document.createElement('script');
|
|
var div = document.getElementById('sc-root');
|
|
div.appendChild(script);
|
|
WordCloud(
|
|
document.getElementById('wc-canvas'),
|
|
{
|
|
click: function (item) {
|
|
if (item[1] != 100 || (item[1] == 100 && item[2] == "pretext")) {
|
|
$('#' + item[2]).modal('show');
|
|
}
|
|
},
|
|
color: function (word, weight) {
|
|
return (weight === 100) ? '#ffbc3b' : '#1a1a37';
|
|
},
|
|
fontFamily: 'Fira Sans, serif',
|
|
fontWeight: 800,
|
|
list: topics,
|
|
shrinkToFit: true,
|
|
gridSize: 25,
|
|
rotateRatio: 0,
|
|
}
|
|
);
|
|
},
|
|
widgetFor('body')
|
|
)
|
|
)
|
|
)
|
|
)
|
|
);
|
|
};
|
|
|
|
CMS.registerPreviewTemplate("schulchronik", ChronikPreview);
|
|
|
|
</script-->
|
|
<script>
|
|
var PostPreviewContent = ({widgetFor, entry}) => {
|
|
const divStyle = {
|
|
backgroundImage: 'url("/media/backgrounds/page-title.webp"),url("/media/backgrounds/page-title.webp")',
|
|
};
|
|
return h('div', {},
|
|
h('section', {"className": "page-title-section overlay", "style": divStyle},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "col-md-8"},
|
|
h('ul', {"className": "list-inline"},
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")),
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h("i", {"className": "mdi mdi-chevron-double-right text-white"})),
|
|
h('li', {"className": "list-inline-item text-white h2 font-secondary"}, entry.data.title)
|
|
),
|
|
h('p', {"className": "text-lighten"}, entry.data.description
|
|
)
|
|
)
|
|
)
|
|
),
|
|
h('section', {"className": "section-sm"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "row"},
|
|
h('div', {"className": "col-12 mb-4"},
|
|
h('div', {"className": "content"}, widgetFor('body'))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
);
|
|
};
|
|
|
|
CMS.registerPreviewTemplate("abiturienten", PostPreviewContent);
|
|
CMS.registerPreviewTemplate("cantorfora", PostPreviewContent);
|
|
CMS.registerPreviewTemplate("contact-index", PostPreviewContent);
|
|
CMS.registerPreviewTemplate("pages", PostPreviewContent);
|
|
|
|
</script>
|
|
<script>
|
|
var AnmeldungPreviewContent = ({widgetsFor, widgetFor, entry}) => {
|
|
const divStyle = {
|
|
backgroundImage: 'url("/media/backgrounds/page-title.webp"),url("/media/backgrounds/page-title.webp")',
|
|
};
|
|
return h('div', {},
|
|
h('section', {"className": "page-title-section overlay", "style": divStyle},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "col-md-8"},
|
|
h('ul', {"className": "list-inline"},
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")),
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h("i", {"className": "mdi mdi-chevron-double-right text-white"})),
|
|
h('li', {"className": "list-inline-item text-white h2 font-secondary"}, entry.data.title)
|
|
),
|
|
h('p', {"className": "text-lighten"}, entry.data.description
|
|
)
|
|
)
|
|
)
|
|
),
|
|
h('section', {"className": "section-sm"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "row mb-5"},
|
|
h('div', {"className": "col-md-6 content"},
|
|
widgetFor('body')
|
|
)
|
|
),
|
|
h('div', {"className": "row"},
|
|
widgetsFor('elements').map(function(element, index) {
|
|
return h('div', {"className": "col-lg-4 col-sm-6 mb-4"},
|
|
h('div', {"className": "card rounded-0 hover-shadow border-top-0 border-left-0 border-right-0"},
|
|
h('div', {"className": "card-body"},
|
|
h('h4', {"className": "card-title mb-3"},
|
|
element.data.title
|
|
),
|
|
h('div', {"className": "content"},
|
|
element.widgets.content
|
|
)
|
|
)
|
|
)
|
|
);
|
|
})
|
|
)
|
|
)
|
|
),
|
|
);
|
|
};
|
|
CMS.registerPreviewTemplate("anmeldung-index", AnmeldungPreviewContent);
|
|
</script>
|
|
<script>
|
|
var EventPreview = ({widgetsFor, entry}) => {
|
|
const divStyle = {
|
|
backgroundImage: 'url("/media/backgrounds/page-title.webp"),url("/media/backgrounds/page-title.webp")',
|
|
};
|
|
return h('div', {},
|
|
h('section', {"className": "page-title-section overlay", "style": divStyle},
|
|
h('div', {"className": "row"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "col-md-8"},
|
|
h('ul', {"className": "list-inline"},
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")
|
|
),
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h("i", {"className": "mdi mdi-chevron-double-right text-white"})
|
|
),
|
|
h('li', {"className": "list-inline-item text-white h2 font-secondary"}, entry.data.title
|
|
)
|
|
),
|
|
h('p', {"className": "text-lighten"}, entry.data.description)
|
|
)
|
|
)
|
|
)
|
|
),
|
|
h('section', {"className": "section"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "row"},
|
|
h('div', {"className": "col-12 "},
|
|
h('ul', {"className": "list-unstyled"},
|
|
widgetsFor('events').map(function(event, index) {
|
|
return h('li', {"className": "d-md-table mb-4 w-100 border-bottom hover-shadow"},
|
|
h('div', {"className": "d-md-table-cell text-center p-4 bg-primary text-white mb-4 mb-md-0 termin-tc"}, event.data.date != null && event.data.date != "" ?
|
|
h('span', {"className": "h2 d-block"}, new Intl.DateTimeFormat('de-De', { day: 'numeric'}).format(new Date(event.data.date))) : "",
|
|
event.data.date != null && event.data.date != "" ? Intl.DateTimeFormat('de-De', { month: 'short', year: 'numeric' }).format(new Date(event.data.date)) : ""
|
|
),
|
|
h('div', {"className": "d-md-table-cell px-4 vertical-alighn-middle mb-4 mb-md-0"},
|
|
h('p', {"className": "h4 mb-3 d-block"}, event.data.title),
|
|
h('p', {"className": "mb-0"}, event.data.summary)
|
|
),
|
|
h('div', {"className": "d-md-table-cell text-right pr-0 pr-md-4"},
|
|
h('p', {},
|
|
h('i', {"className": "mdi mdi-map-marker-radius-outline icon-s text-primary mr-2"}),
|
|
event.data.location
|
|
)
|
|
)
|
|
);
|
|
})
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
);
|
|
};
|
|
CMS.registerPreviewTemplate("event-index", EventPreview);
|
|
</script>
|
|
<script>
|
|
var PagePreview = ({widgetFor, entry}) => {
|
|
const divStyle = {
|
|
backgroundImage: 'url("/media/backgrounds/page-title.webp"),url("/media/backgrounds/page-title.webp")',
|
|
};
|
|
return h('div', {},
|
|
h('section', {"className": "page-title-section overlay", "style": divStyle},
|
|
h('div', {"className": "row"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "col-md-8"},
|
|
h('ul', {"className": "list-inline"},
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")
|
|
),
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h("i", {"className": "mdi mdi-chevron-double-right text-white"})
|
|
),
|
|
h('li', {"className": "list-inline-item text-white h2 font-secondary"}, entry.data.title
|
|
)
|
|
),
|
|
h('p', {"className": "text-lighten"}, entry.data.description)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
);
|
|
};
|
|
CMS.registerPreviewTemplate("blog-index", PagePreview);
|
|
CMS.registerPreviewTemplate("cantorpreis-index", PagePreview);
|
|
CMS.registerPreviewTemplate("forms-index", PagePreview);
|
|
CMS.registerPreviewTemplate("ganztagsangebote-index", PagePreview);
|
|
CMS.registerPreviewTemplate("wettbewerbe-index", PagePreview);
|
|
CMS.registerPreviewTemplate("begabte-index", PagePreview);
|
|
</script>
|
|
<script>
|
|
var PagePreviewImage = ({ widgetFor, getAsset, entry}) => {
|
|
const [imageUrl, setImageUrl] = useState('');
|
|
const image = useMemo(() => entry.data.image, [entry.data.image]);
|
|
|
|
useEffect(() => {
|
|
let alive = true;
|
|
|
|
const loadImage = async () => {
|
|
const imageAsset = await getAsset(image);
|
|
if (alive) {
|
|
setImageUrl(imageAsset.toString());
|
|
}
|
|
};
|
|
|
|
loadImage();
|
|
|
|
return () => {
|
|
alive = false;
|
|
};
|
|
}, [image]);
|
|
|
|
const divStyle = {
|
|
backgroundImage: 'url("/media/backgrounds/page-title.webp"),url("/media/backgrounds/page-title.webp")',
|
|
};
|
|
return h('div', {},
|
|
h('section', {"className": "page-title-section overlay", "style": divStyle},
|
|
h('div', {"className": "row"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "col-md-8"},
|
|
h('ul', {"className": "list-inline"},
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")
|
|
),
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h("i", {"className": "mdi mdi-chevron-double-right text-white"})
|
|
),
|
|
h('li', {"className": "list-inline-item text-white h2 font-secondary"}, entry.data.title
|
|
)
|
|
),
|
|
h('p', {"className": "text-lighten"}, entry.data.description
|
|
))
|
|
)
|
|
)
|
|
),
|
|
h('section', {"className": "section-sm"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "row"},
|
|
h('div', {"className": "col-12 mb-4"},
|
|
h('img', {"className": "img-fluid w-100 mb-4", src: imageUrl}),
|
|
h('div', {"className": "content"},
|
|
widgetFor('body')
|
|
))
|
|
)
|
|
)
|
|
)
|
|
);
|
|
};
|
|
CMS.registerPreviewTemplate("blog", PagePreviewImage);
|
|
</script>
|
|
<script>
|
|
var AboutPreview = ({ widgetFor, widgetsFor, getAsset, entry}) => {
|
|
const [imageUrl, setImageUrl] = useState('');
|
|
const image = useMemo(() => entry.data.image, [entry.data.image]);
|
|
|
|
useEffect(() => {
|
|
let alive = true;
|
|
|
|
const loadImage = async () => {
|
|
const imageAsset = await getAsset(image);
|
|
if (alive) {
|
|
setImageUrl(imageAsset.toString());
|
|
}
|
|
};
|
|
|
|
loadImage();
|
|
|
|
return () => {
|
|
alive = false;
|
|
};
|
|
}, [image]);
|
|
|
|
const divStyle = {
|
|
backgroundImage: 'url("/media/backgrounds/page-title.webp"),url("/media/backgrounds/page-title.webp")',
|
|
};
|
|
return h('div', {},
|
|
h('section', {"className": "page-title-section overlay", "style": divStyle},
|
|
h('div', {"className": "row"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "col-md-8"},
|
|
h('ul', {"className": "list-inline"},
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")
|
|
),
|
|
h('li', {"className": "list-inline-item h2"},
|
|
h("i", {"className": "mdi mdi-chevron-double-right text-white"})
|
|
),
|
|
h('li', {"className": "list-inline-item text-white h2 font-secondary"}, entry.data.title
|
|
)
|
|
),
|
|
h('p', {"className": "text-lighten"}, entry.data.description
|
|
))
|
|
)
|
|
)
|
|
),
|
|
h('section', {"className": "section-sm"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "row"},
|
|
h('div', {"className": "col-12 mb-4"},
|
|
h('img', {"className": "img-fluid w-100 mb-4", src: imageUrl}),
|
|
widgetFor('body'))
|
|
)
|
|
)
|
|
),
|
|
entry.data.stats.enable ? h(
|
|
'section',
|
|
{"className": "section-sm bg-primary"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "row"},
|
|
widgetsFor('stats').data.zahlen.map(element => {
|
|
return h('div', {"className": "col-md-3 col-sm-6 mb-4 mb-md-0"},
|
|
h('div', {"className": "text-center"},
|
|
h('h2', {"className": "count text-white"}, element.count),
|
|
h('h5', {"className": "text-white"}, element.name)
|
|
)
|
|
);
|
|
})
|
|
)
|
|
)
|
|
) : null
|
|
);
|
|
};
|
|
CMS.registerPreviewTemplate("about-index", AboutPreview);
|
|
</script>
|
|
<script>
|
|
const PostPreviewCard = ({ entry, widgetFor, viewStyle }) => {
|
|
return h(
|
|
'div',
|
|
{ style: { width: '100%', height: '100%' } },
|
|
viewStyle === 'grid' ? widgetFor('image') : null,
|
|
viewStyle === 'grid' ?
|
|
h(
|
|
'div',
|
|
{ style: { padding: '16px', paddingBottom: '8px', width: '100%' } },
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
display: 'flex',
|
|
width: '100%',
|
|
justifyContent: 'space-between',
|
|
alignItems: 'start',
|
|
},
|
|
},
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
backgroundColor: entry.data.draft === true ? 'RoyalBlue' : 'green',
|
|
color: 'white',
|
|
border: 'none',
|
|
padding: '4px 8px',
|
|
textAlign: 'center',
|
|
textDecoration: 'none',
|
|
display: 'inline-block',
|
|
cursor: 'pointer',
|
|
borderRadius: '4px',
|
|
},
|
|
},
|
|
entry.data.draft === true ? 'Entwurf' : 'Öffentlich',
|
|
),
|
|
h('span', { style: { fontSize: '16px' } }, new Intl.DateTimeFormat('de-De', { day: 'numeric', month: 'numeric', year: 'numeric'}).format(new Date(entry.data.date)))
|
|
),
|
|
) : null,
|
|
h(
|
|
'div',
|
|
{ style: { padding: '16px', paddingTop: '8px', width: '100%' } },
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
display: 'flex',
|
|
width: '100%',
|
|
justifyContent: 'space-between',
|
|
alignItems: 'start',
|
|
},
|
|
},
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
display: 'flex',
|
|
flexDirection: viewStyle === 'grid' ? 'column' : 'row',
|
|
alignItems: 'baseline',
|
|
gap: '8px',
|
|
},
|
|
},
|
|
h('strong', { style: { fontSize: '20px' } }, entry.data.title),
|
|
),
|
|
),
|
|
),
|
|
viewStyle != 'grid' ?
|
|
h(
|
|
'div',
|
|
{ style: { padding: '16px', paddingBottom: '8px', paddingTop: '0px', width: '100%' } },
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
display: 'flex',
|
|
width: '100%',
|
|
justifyContent: 'space-between',
|
|
alignItems: 'start',
|
|
},
|
|
},
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
backgroundColor: entry.data.draft === true ? 'RoyalBlue' : 'green',
|
|
color: 'white',
|
|
border: 'none',
|
|
padding: '4px 8px',
|
|
textAlign: 'center',
|
|
textDecoration: 'none',
|
|
display: 'inline-block',
|
|
cursor: 'pointer',
|
|
borderRadius: '4px',
|
|
},
|
|
},
|
|
entry.data.draft === true ? 'Entwurf' : 'Öffentlich',
|
|
),
|
|
h('span', { style: { fontSize: '16px' } }, new Intl.DateTimeFormat('de-De', { day: 'numeric', month: 'numeric', year: 'numeric'}).format(new Date(entry.data.date)))
|
|
),
|
|
) : null,
|
|
);
|
|
};
|
|
const GenericCard = ({ entry, widgetFor, viewStyle }) => {
|
|
return h(
|
|
'div',
|
|
{ style: { width: '100%', height: '100%' } },
|
|
viewStyle === 'grid' ? widgetFor('image') : null,
|
|
viewStyle === 'grid' ?
|
|
h(
|
|
'div',
|
|
{ style: { padding: '16px', paddingBottom: '8px', width: '100%' } },
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
display: 'flex',
|
|
width: '100%',
|
|
justifyContent: 'space-between',
|
|
alignItems: 'start',
|
|
},
|
|
},
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
backgroundColor: entry.data.draft === true ? 'RoyalBlue' : 'green',
|
|
color: 'white',
|
|
border: 'none',
|
|
padding: '4px 8px',
|
|
textAlign: 'center',
|
|
textDecoration: 'none',
|
|
display: 'inline-block',
|
|
cursor: 'pointer',
|
|
borderRadius: '4px',
|
|
},
|
|
},
|
|
entry.data.draft === true ? 'Entwurf' : 'Öffentlich',
|
|
),
|
|
h('span', { style: { fontSize: '16px' } }, entry.data.category)
|
|
),
|
|
) : null,
|
|
h(
|
|
'div',
|
|
{ style: { padding: '16px', paddingTop: viewStyle === 'grid' ? '8px' : '16px', width: '100%' } },
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
display: 'flex',
|
|
width: '100%',
|
|
justifyContent: 'space-between',
|
|
alignItems: 'start',
|
|
},
|
|
},
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
display: 'flex',
|
|
flexDirection: viewStyle === 'grid' ? 'column' : 'row',
|
|
alignItems: 'baseline',
|
|
gap: '8px',
|
|
},
|
|
},
|
|
h('strong', { style: { fontSize: '20px' } }, entry.data.title),
|
|
),
|
|
viewStyle != 'grid' ? h(
|
|
'div',
|
|
{
|
|
style: {
|
|
backgroundColor: entry.data.draft === true ? 'RoyalBlue' : 'green',
|
|
color: 'white',
|
|
border: 'none',
|
|
padding: '4px 8px',
|
|
textAlign: 'center',
|
|
textDecoration: 'none',
|
|
display: 'inline-block',
|
|
cursor: 'pointer',
|
|
borderRadius: '4px',
|
|
},
|
|
},
|
|
entry.data.draft === true ? 'Entwurf' : 'Öffentlich',
|
|
) : null,
|
|
),
|
|
),
|
|
);
|
|
};
|
|
const NoCatCard = ({ entry, widgetFor, viewStyle }) => {
|
|
return h(
|
|
'div',
|
|
{ style: { width: '100%', height: '100%' } },
|
|
viewStyle === 'grid' ? widgetFor('image') : null,
|
|
h(
|
|
'div',
|
|
{ style: { padding: '16px', width: '100%' } },
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
display: 'flex',
|
|
width: '100%',
|
|
justifyContent: 'space-between',
|
|
alignItems: 'start',
|
|
},
|
|
},
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
display: 'flex',
|
|
flexDirection: viewStyle === 'grid' ? 'column' : 'row',
|
|
alignItems: 'baseline',
|
|
gap: '8px',
|
|
},
|
|
},
|
|
h('strong', { style: { fontSize: '20px' } }, entry.data.title),
|
|
),
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
backgroundColor: entry.data.draft === true ? 'RoyalBlue' : 'green',
|
|
color: 'white',
|
|
border: 'none',
|
|
padding: '4px 8px',
|
|
textAlign: 'center',
|
|
textDecoration: 'none',
|
|
display: 'inline-block',
|
|
cursor: 'pointer',
|
|
borderRadius: '4px',
|
|
},
|
|
},
|
|
entry.data.draft === true ? 'Entwurf' : 'Öffentlich',
|
|
),
|
|
),
|
|
),
|
|
);
|
|
};
|
|
const SmallCard = ({ entry, widgetFor, viewStyle }) => {
|
|
return h(
|
|
'div',
|
|
{ style: { width: '100%', height: '100%' } },
|
|
h(
|
|
'div',
|
|
{ style: { padding: '16px', width: '100%' } },
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
display: 'flex',
|
|
width: '100%',
|
|
justifyContent: 'space-between',
|
|
alignItems: 'start',
|
|
},
|
|
},
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
display: 'flex',
|
|
flexDirection: viewStyle === 'grid' ? 'column' : 'row',
|
|
alignItems: 'baseline',
|
|
gap: '8px',
|
|
},
|
|
},
|
|
h('strong', { style: { fontSize: '20px' } }, entry.data.title),
|
|
),
|
|
h(
|
|
'div',
|
|
{
|
|
style: {
|
|
backgroundColor: entry.data.draft === true ? 'RoyalBlue' : 'green',
|
|
color: 'white',
|
|
border: 'none',
|
|
padding: '4px 8px',
|
|
textAlign: 'center',
|
|
textDecoration: 'none',
|
|
display: 'inline-block',
|
|
cursor: 'pointer',
|
|
borderRadius: '4px',
|
|
},
|
|
},
|
|
entry.data.draft === true ? 'Entwurf' : 'Öffentlich',
|
|
),
|
|
),
|
|
),
|
|
);
|
|
};
|
|
|
|
|
|
CMS.registerPreviewCard('blog', PostPreviewCard);
|
|
CMS.registerPreviewCard('ganztagsangebote', GenericCard);
|
|
CMS.registerPreviewCard('wettbewerbe', GenericCard);
|
|
CMS.registerPreviewCard('begabte', GenericCard);
|
|
CMS.registerPreviewCard('abiturienten', NoCatCard);
|
|
CMS.registerPreviewCard('cantorfora', NoCatCard);
|
|
CMS.registerPreviewCard('blog-index', SmallCard);
|
|
CMS.registerPreviewCard('about-index', SmallCard);
|
|
CMS.registerPreviewCard('anmeldung-index', SmallCard);
|
|
CMS.registerPreviewCard('cantorpreis-index', SmallCard);
|
|
CMS.registerPreviewCard('contact-index', SmallCard);
|
|
CMS.registerPreviewCard('event-index', SmallCard);
|
|
CMS.registerPreviewCard('forms-index', SmallCard);
|
|
CMS.registerPreviewCard('ganztagsangebote-index', SmallCard);
|
|
CMS.registerPreviewCard('wettbewerbe-index', SmallCard);
|
|
CMS.registerPreviewCard('begabte-index', SmallCard);
|
|
CMS.registerPreviewCard('pages', SmallCard);
|
|
CMS.registerPreviewCard('forms', SmallCard);
|
|
CMS.registerPreviewCard('schulchronik', SmallCard);
|
|
</script>
|
|
</body>
|
|
</html>
|