441 lines
15 KiB
HTML
441 lines
15 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>GCG Website: Netlify CMS</title>
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
|
<link rel="manifest" href="/site.webmanifest">
|
|
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#1a1a37">
|
|
<meta name="msapplication-TileColor" content="#1a1a37">
|
|
<meta name="msapplication-TileImage" content="/mstile-144x144.png">
|
|
<meta name="theme-color" content="#1a1a37">
|
|
|
|
|
|
</head>
|
|
<body>
|
|
<script src="https://unpkg.com/netlify-cms@^2.0.0/dist/netlify-cms.js"></script>
|
|
<script src="https://sharadcodes.github.io/hugo-shortcodes-netlify-cms/dist/hugo_shortcodes_netlify_cms.js"></script>
|
|
<script>
|
|
CMS.registerEditorComponent({
|
|
id: "collapsible-note",
|
|
label: "Zugeklappter Abschnitt",
|
|
collapsed: true,
|
|
fields: [
|
|
{
|
|
name: 'summary',
|
|
label: 'Titel',
|
|
widget: 'string'
|
|
},
|
|
{
|
|
name: 'details',
|
|
label: 'Inhalt',
|
|
widget: 'markdown'
|
|
}
|
|
],
|
|
|
|
pattern: /^{{% collapsible title=\"(.*?)\" %}}$\s*?(.*?)\n^{{% \/collapsible %}}$/ms,
|
|
fromBlock: function(match) {
|
|
return {
|
|
summary: match[1],
|
|
details: match[2]
|
|
};
|
|
},
|
|
toBlock: function(data) {
|
|
return `
|
|
{{% collapsible title="${data.summary}" %}}
|
|
|
|
${data.details}
|
|
|
|
{{% /collapsible %}}
|
|
`;
|
|
},
|
|
toPreview: function(data) {
|
|
return `
|
|
<div class="container mb-0">
|
|
<div class="card border-primary rounded-0 hover-shadow mb-5">
|
|
<div class="card-body mb-0">
|
|
<details class="mb-0">
|
|
<summary class="mb-0">${data.summary}</summary>
|
|
<div class="content"><p class="content">${data.details}</p></div>
|
|
</details>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
`;
|
|
}
|
|
});
|
|
</script>
|
|
<script>
|
|
CMS.registerEditorComponent({
|
|
id: "content",
|
|
label: "\"content\"-Tag",
|
|
collapsed: false,
|
|
fields: [
|
|
{
|
|
name: 'details',
|
|
label: 'Inhalt',
|
|
widget: 'markdown'
|
|
}
|
|
],
|
|
|
|
pattern: /^{{% content %}}$\s*?(.*?)\n^{{% \/content %}}$/ms,
|
|
fromBlock: function(match) {
|
|
return {
|
|
details: match[1]
|
|
};
|
|
},
|
|
toBlock: function(data) {
|
|
return `
|
|
{{% content %}}
|
|
|
|
${data.details}
|
|
|
|
{{% /content %}}
|
|
`;
|
|
},
|
|
toPreview: function(data) {
|
|
return `
|
|
<div class="content">
|
|
${data.details}
|
|
</div>
|
|
`;
|
|
}
|
|
});
|
|
</script>
|
|
<script>
|
|
CMS.registerEditorComponent({
|
|
id: "card",
|
|
label: "Link-Karte",
|
|
collapsed: false,
|
|
fields: [
|
|
{
|
|
name: 'link',
|
|
label: 'Link',
|
|
widget: 'string'
|
|
},
|
|
{
|
|
name: 'title',
|
|
label: 'Bezeichnung',
|
|
widget: 'string'
|
|
}
|
|
],
|
|
|
|
pattern: /^{{< card link=\"(.*?)\" title=\"(.*?)\" >}}/,
|
|
fromBlock: function(match) {
|
|
return {
|
|
link: match[1],
|
|
title: match[2]
|
|
};
|
|
},
|
|
toBlock: function(data) {
|
|
return `
|
|
{{< card link="${data.link}" title="${data.title}" >}}
|
|
`;
|
|
},
|
|
toPreview: function(data) {
|
|
return `
|
|
<div class="container mb-0">
|
|
<div class="card border-primary rounded-0 hover-shadow mb-5">
|
|
<div class="card-body mb-0">
|
|
<h4 class="card-title"><a class="text-decoration-none" href='${data.link}'>${data.title}</a></h4>
|
|
<a href='${data.link}' class="mb-0 btn btn-primary btn-sm text-decoration-none">{{ i18n "show_more"}}</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
`;
|
|
}
|
|
});
|
|
</script>
|
|
<!-- <script>
|
|
CMS.registerPreviewStyle("https://eesev9ie.github.io/style.css");
|
|
CMS.registerEditorComponent({
|
|
id: "gallery",
|
|
label: "Bildergallerie",
|
|
fields: [{
|
|
name: "dir",
|
|
label: "Ordner",
|
|
widget: "string"
|
|
},
|
|
],
|
|
pattern: /{{< gallery dir="([a-zA-Z0-9]+)" />}}/,
|
|
fromBlock: function(match) {
|
|
return {
|
|
username: dir[1],
|
|
};
|
|
},
|
|
toBlock: function(obj) {
|
|
return `{{< gallery dir="${obj.dir}" />}}`;
|
|
},
|
|
toPreview: function(obj) {
|
|
return `{{< gallery dir="${obj.dir}" />}}`;
|
|
},
|
|
});
|
|
</script> -->
|
|
<script>
|
|
CMS.registerEditorComponent({
|
|
id: "gallery-dir",
|
|
label: "Gallerie",
|
|
fields: [{
|
|
name: "dir",
|
|
label: "Ordner",
|
|
widget: "string"
|
|
}],
|
|
pattern: /{{< gallery dir=\"(.*?)\" \/>}}/,
|
|
fromBlock: function(match) {
|
|
return {
|
|
dir: match[1],
|
|
};
|
|
},
|
|
toBlock: function(obj) {
|
|
return `{{< gallery dir=\"${obj.dir}\" \/>}}`;
|
|
},
|
|
toPreview: function(obj) {
|
|
return `{{< gallery dir=\"${obj.dir}\" \/>}}`;
|
|
},
|
|
});
|
|
</script>
|
|
<script>
|
|
CMS.registerPreviewStyle("https://neu.cantorgymnasium.de/plugins/bootstrap/bootstrap.min.css");
|
|
CMS.registerPreviewStyle("https://neu.cantorgymnasium.de/plugins/slick/slick.css");
|
|
CMS.registerPreviewStyle("https://neu.cantorgymnasium.de/plugins/animate/animate.css");
|
|
CMS.registerPreviewStyle("https://neu.cantorgymnasium.de/plugins/venobox/venobox.css");
|
|
CMS.registerPreviewStyle("https://neu.cantorgymnasium.de/plugins/fontawesome/css/all.css");
|
|
CMS.registerPreviewStyle("https://neu.cantorgymnasium.de/plugins/fira/fira.css");
|
|
CMS.registerPreviewStyle("https://neu.cantorgymnasium.de/scss/style.css");
|
|
</script>
|
|
<script>
|
|
var PostPreview = createClass({
|
|
render: function() {
|
|
var entry = this.props.entry;
|
|
var image = entry.getIn(['data', 'image']);
|
|
var bg = this.props.getAsset(image);
|
|
const divStyle = {
|
|
backgroundImage: 'url("/media/backgrounds/page-title.png"),url("/media/backgrounds/page-title.png")',
|
|
};
|
|
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 custom-breadcrumb"},
|
|
h('li', {"className": "list-inline-item h1"},
|
|
h('a', {"className": "text-primary font-secondary", href: ""}, "Schulchronik")),
|
|
h('li', {"className": "list-inline-item ha"},
|
|
h("i", {"className": "fa-solid fa-angle-right text-white"})),
|
|
h('li', {"className": "list-inline-item text-white h1 font-secondary"}, entry.getIn(['data', 'title']))
|
|
)
|
|
)
|
|
)
|
|
),
|
|
h('section', {"className": "section-sm"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "row"},
|
|
h('div', {"className": "col-12 mb-4"}, this.props.widgetFor('body'))
|
|
)
|
|
)
|
|
)
|
|
);
|
|
}
|
|
});
|
|
|
|
CMS.registerPreviewTemplate("schulchronik", PostPreview);
|
|
CMS.registerPreviewTemplate("schuelerrat-index", PostPreview);
|
|
|
|
</script>
|
|
<script>
|
|
var PostPreviewContent = createClass({
|
|
render: function() {
|
|
var entry = this.props.entry;
|
|
var image = entry.getIn(['data', 'image']);
|
|
var bg = this.props.getAsset(image);
|
|
const divStyle = {
|
|
backgroundImage: 'url("/media/backgrounds/page-title.png"),url("/media/backgrounds/page-title.png")',
|
|
};
|
|
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 custom-breadcrumb"},
|
|
h('li', {"className": "list-inline-item h1"},
|
|
h('a', {"className": "text-primary font-secondary", href: ""}, "Schulchronik")),
|
|
h('li', {"className": "list-inline-item ha"},
|
|
h("i", {"className": "fa-solid fa-angle-right text-white"})),
|
|
h('li', {"className": "list-inline-item text-white h1 font-secondary"}, entry.getIn(['data', 'title']))
|
|
)
|
|
)
|
|
)
|
|
),
|
|
h('section', {"className": "section-sm"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "row"},
|
|
h('div', {"className": "col-12 mb-4"},
|
|
h('div', {"className": "content"}, this.props.widgetFor('body'))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
);
|
|
}
|
|
});
|
|
|
|
CMS.registerPreviewTemplate("anmeldung-index", PostPreviewContent);
|
|
CMS.registerPreviewTemplate("impressum", PostPreviewContent);
|
|
CMS.registerPreviewTemplate("schuelerrat-geschaeftsordnung", PostPreviewContent);
|
|
|
|
</script>
|
|
<script>
|
|
var EventPreview = createClass({
|
|
render: function() {
|
|
var entry = this.props.entry;
|
|
var image = entry.getIn(['data', 'image']);
|
|
var bg = this.props.getAsset(image);
|
|
const divStyle = {
|
|
backgroundImage: 'url("/media/backgrounds/page-title.png"),url("/media/backgrounds/page-title.png")',
|
|
};
|
|
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 custom-breadcrumb"},
|
|
h('li', {"className": "list-inline-item h1"},
|
|
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")
|
|
),
|
|
h('li', {"className": "list-inline-item ha"},
|
|
h("i", {"className": "fa-solid fa-angle-right text-white"})
|
|
),
|
|
h('li', {"className": "list-inline-item text-white h1 font-secondary"}, entry.getIn(['data', 'title'])
|
|
)
|
|
),
|
|
h('p', {"className": "text-lighten"}, entry.getIn(['data', 'description']))
|
|
)
|
|
)
|
|
)
|
|
),
|
|
h('section', {"className": "section"},
|
|
h('div', {"className": "container"},
|
|
h('div', {"className": "row"},
|
|
h('div', {"className": "col-12 "},
|
|
h('ul', {"className": "list-unstyled"},
|
|
this.props.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"},
|
|
h('span', {"className": "h2 d-block"}, new Intl.DateTimeFormat('de-De', { day: 'numeric'}).format(event.getIn(['data', 'date']))),
|
|
new Intl.DateTimeFormat('de-De', { month: 'short', year: 'numeric' }).format(event.getIn(['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.getIn(['data', 'title'])),
|
|
h('p', {"className": "mb-0"}, event.getIn(['data', 'summary']))
|
|
),
|
|
h('div', {"className": "d-md-table-cell text-right pr-0 pr-md-4"},
|
|
h('p', {},
|
|
h('i', {"className": "fa-solid fa-location-dot text-primary mr-2"}),
|
|
event.getIn(['data', 'location'])
|
|
)
|
|
)
|
|
);
|
|
})
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
);
|
|
}
|
|
});
|
|
|
|
CMS.registerPreviewTemplate("event-index", EventPreview);
|
|
|
|
</script>
|
|
<script>
|
|
var PagePreview = createClass({
|
|
render: function() {
|
|
var entry = this.props.entry;
|
|
var image = entry.getIn(['data', 'image']);
|
|
var bg = this.props.getAsset(image);
|
|
const divStyle = {
|
|
backgroundImage: 'url("/media/backgrounds/page-title.png"),url("/media/backgrounds/page-title.png")',
|
|
};
|
|
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 custom-breadcrumb"},
|
|
h('li', {"className": "list-inline-item h1"},
|
|
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")
|
|
),
|
|
h('li', {"className": "list-inline-item ha"},
|
|
h("i", {"className": "fa-solid fa-angle-right text-white"})
|
|
),
|
|
h('li', {"className": "list-inline-item text-white h1 font-secondary"}, entry.getIn(['data', 'title'])
|
|
)
|
|
),
|
|
h('p', {"className": "text-lighten"}, entry.getIn(['data', 'description']))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
);
|
|
}
|
|
});
|
|
|
|
CMS.registerPreviewTemplate("blog-index", PagePreview);
|
|
CMS.registerPreviewTemplate("cantorpreis-index", PagePreview);
|
|
CMS.registerPreviewTemplate("contact-index", PagePreview);
|
|
CMS.registerPreviewTemplate("forms-index", PagePreview);
|
|
CMS.registerPreviewTemplate("ganztagsangebote-index", PagePreview);
|
|
CMS.registerPreviewTemplate("wettbewerbe-index", PagePreview);
|
|
|
|
</script>
|
|
<script>
|
|
var PagePreviewImage = createClass({
|
|
render: function() {
|
|
var entry = this.props.entry;
|
|
var image = entry.getIn(['data', 'image']);
|
|
var bg = this.props.getAsset(image);
|
|
const divStyle = {
|
|
backgroundImage: 'url("/media/backgrounds/page-title.png"),url("/media/backgrounds/page-title.png")',
|
|
};
|
|
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 custom-breadcrumb"},
|
|
h('li', {"className": "list-inline-item h1"},
|
|
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")
|
|
),
|
|
h('li', {"className": "list-inline-item ha"},
|
|
h("i", {"className": "fa-solid fa-angle-right text-white"})
|
|
),
|
|
h('li', {"className": "list-inline-item text-white h1 font-secondary"}, entry.getIn(['data', 'title'])
|
|
)
|
|
),
|
|
h('p', {"className": "text-lighten"}, entry.getIn(['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: bg.toString(), alt: "about image"}),
|
|
this.props.widgetFor('body'))
|
|
)
|
|
)
|
|
)
|
|
);
|
|
}
|
|
});
|
|
|
|
CMS.registerPreviewTemplate("about-index", PagePreviewImage);
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|