This commit is contained in:
kleines Filmröllchen 2024-11-18 12:31:22 +01:00
commit a486b7bbb7
Signed by: filmroellchen
SSH key fingerprint: SHA256:NarU6J/XgCfEae4rbei0YIdN2pYaYDccarK6R53dnc8
11 changed files with 426 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
public

14
config.toml Normal file
View file

@ -0,0 +1,14 @@
base_url = "https://chaostreff-backnang.de"
author = "Chaostreff Backnang e.V."
compile_sass = false
minify_html = true
hard_link_static = true
title = "Chaostreff Backnang"
default_language = "de"
[markdown]
external_links_target_blank = true
smart_punctuation = true
[languages.en]
title = "Chaostreff Backnang"

46
content/_index.md Normal file
View file

@ -0,0 +1,46 @@
+++
title = "Chaostreff Backnang"
template = "page.html"
page_template = "page.html"
description = "jasdfjlajsdfjkaf"
+++
# Chaostreff Backnang e.V.
Der Chaostreff Backnang e.V. ist ein Anlaufpunkt und Austauschort für Technik-Interessierte, Bastler\*innen, Datenreisende und Wesen mit "Spaß am Gerät". Gemeinsam werden meist technisch angehauchte Projekte wie freie Software und Hardware, 3D-Druck oder Smart Home diskutiert und umgesetzt. Wir befassen uns aber auch mit gesellschaftlichen Themen wie Datenschutz, Informationssicherheit und digitaler Selbstbestimmung.
Der Chaostreff Backnang ist ein seit 2019 bestehender und seit 2023 eingetragener Verein in Backnang, der sich dem [Chaos Computer Club](https://www.ccc.de/) verbunden fühlt. Bei uns sind Wesen aller Herkunft und aller Lebenssituationen willkommen, nicht nur aus Backnang und Umgebung.
![Bild aus dasWohnzimmer](/wozi.jpg)
## Termine
Wir treffen uns regelmäßig am **1. Dienstag im Monat zum Stammtisch** und am **3. Sonntag im Monat ab 15:00 Uhr als Popup-Hackspace** im [dasWohnzimmer](https://map.freifunk-stuttgart.de/#!/de/map/3ec806d9cc8c) (Willy-Brandt-Platz 2) in [Backnang bei Stuttgart](https://www.openstreetmap.org/relation/165637). Der Zugang zu unseren Treffen ist unverbindlich und frei wir freuen uns immer auf neue Gesichter! Wir sind auch gerne bei Fragen behilflich.
Weitere Treffen finden nach Bedarf meist sonntags statt. Tagesordnungen, Protokolle, Informationen, Links und vieles mehr findest du in der [Pad-Übersicht](https://pad.hacknang.de/dbk-meta).
<div id="dbkcalendar"></div>
- Mehr Termine anzeigen
- Kalender abonnieren
## Ausstattung
- Freifunk durch unsere Partnercommunity Freifunk Backnang
(Logo von Freifunk Backnang)
- Getränke und Snacks der Bar (auch Mate!)
- Sofas
- 3D-Drucker, diverses Werkzeug
## Kontakt
In unseren [Matrix](https://matrix.org/ecosystem/clients/)-Gruppen findet der alltägliche Austausch statt, außerdem werden hier zeitnah kurzfristige Änderungen und Terminerinnerungen verschickt.
- Matrix-Space: [#chaostreff-backnang:hacknang.de](matrix:r/chaostreff-backnang:hacknang.de?action=join)
- Haupt-Raum: [#chaostreff-bk:hacknang.de](matrix:r/chaostreff-bk:hacknang.de?action=join)
- Freifunk Backnang-Raum: [#freifunk-bk:hacknang.de](matrix:r/freifunk-bk:hacknang.de?action=join) (auch auf [Signal](https://signal.group/#CjQKILQW0-zHTyBMIiCubKPh-RmSayhOMyP9DtGa_I7_eX7kEhBaV21xphwxFoeaG2rsNU9n))
Weitere Kontaktmöglichkeiten:
- per Mail [info@chaostreff-backnang.de](mailto:info@chaostreff-backnang.de)
- Folge [@ctbk im Fediverse](https://chaos.social/@ctbk)
- Erreiche uns auf Chaos-Events per EPVPN unter der Durchwahl: [1002](tel:+49221596191002)

65
static/dbkcalendar.js Normal file
View file

@ -0,0 +1,65 @@
/*
Include calendar | Chaostreff Backnang | @paddy
*/
export default function hackcal(e, p = 1) {
// var cal_uri = "https://chaostreff-backnang.de/hackcal/?period=" + p;
var cal_uri = "/hackcal";
var uri_regex =
/(https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w\/\-_\.\:]*(\?\S+)?)?)?)/gi;
fetch(cal_uri)
.then((res) => res.json())
.then((data) => {
var items = [];
Object.keys(data).forEach(function (date) {
var day = new Date(date);
items.push(
"<tr class='' data-date='" +
date +
"'><span>" +
day.toLocaleDateString(true, {
weekday: "short",
day: "numeric",
month: "long",
year: "numeric",
}) +
"</span></tr>"
);
Object.keys(data[date]).forEach(function (uid) {
var event = data[date][uid];
var location = event.location
? event.location
.replace(/\n/g, "<br>")
.replace(uri_regex, "<a href='$1' target='_blank'>$1</a>")
: "";
var description = event.description
? event.description
.replace(/\n/g, "<br>")
.replace(uri_regex, (url) => {
event.summary = `<a href='${url}' target='_blank'>${event.summary}</a>`;
return "";
})
: "";
var categories = event.categories
? "<i>" + event.categories.replace(",", "</i> <i>") + "</i>"
: "";
items.push(
"<tr data-uid='" +
uid +
"'><span>" +
event.datestr +
"</span><span><b>" +
event.summary +
"</b> | " +
location +
"<br/>" +
description +
categories +
"</span></tr>"
);
});
});
document.querySelector("#dbkcalendar").innerHTML = items.join("");
});
}

BIN
static/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 B

1
static/hackcal Normal file
View file

@ -0,0 +1 @@
{"2024-11-17":{"3ab15365-b4e3-4558-9c30-0930983f9ee8":{"dtstart":"2024-11-17T15:00:00+01:00","dtend":"2024-11-17T20:00:00+01:00","datestr":"15:00","summary":"Chaostreff Backnang","location":"dasWohnzimmer, Backnang","description":"https://pad.hacknang.de/dbk-meta","categories":"CTBK"}},"2024-11-23":{"3e3c9b04-77d7-441e-a1ec-acaca4e9e708":{"dtstart":"2024-11-23T14:30:00+01:00","dtend":"2024-11-23T19:00:00+01:00","datestr":"14:30","summary":"Besuch bei Swabian Instruments","location":"Swabian Instruments GmbH, Zuffenhausen","description":"https://tickets.ctbk.de/ctbk/swins/","categories":"CTBK"}},"2024-11-27":{"52d6cb7c-8d2d-4c3c-91df-7035613c3fe1":{"dtstart":"2024-11-27T19:00:00+01:00","dtend":"2024-11-27T22:00:00+01:00","datestr":"19:00","summary":"FFS Technik-Treffen","location":"https://meet.mars-services.de/ffs","description":"https://wiki.freifunk-stuttgart.net/technik:themenspeicher","categories":"FFS"}},"2024-12-03":{"c8d1b002-69c1-41c7-a621-d81d18182553":{"dtstart":"2024-12-03T18:00:00+01:00","dtend":"2024-12-03T22:00:00+01:00","datestr":"18:00","summary":"Chaos-Stammtisch","location":"dasWohnzimmer, Backnang","description":"Unser zweiter Termin im Monat. Es gibt keine Tagesordnung, dasWohnzimmer hat regul\u00e4r ge\u00f6ffnet.","categories":"CTBK"}},"2024-12-05":{"a6a0848c-f829-4bed-9749-87c81856b083":{"dtstart":"2024-12-05T19:00:00+01:00","dtend":"2024-12-05T21:00:00+01:00","datestr":"19:00","summary":"Freifunk Backnang","location":"online","description":"https://pad.hacknang.de/dbk-meta","categories":"FFBK"}},"2024-12-09":{"345e3e05-382c-4da4-85d5-941bfc1dd30d":{"dtstart":"2024-12-09T19:00:00+01:00","dtend":"2024-12-09T21:00:00+01:00","datestr":"19:00","summary":"Freifunk Stuttgart","location":"shackspace, Stuttgart","description":"https://pad.freifunk-stuttgart.de/p/ffs-metapad","categories":"FFS"}},"2024-12-15":{"3ab15365-b4e3-4558-9c30-0930983f9ee8":{"dtstart":"2024-12-15T15:00:00+01:00","dtend":"2024-12-15T20:00:00+01:00","datestr":"15:00","summary":"Chaostreff Backnang","location":"dasWohnzimmer, Backnang","description":"https://pad.hacknang.de/dbk-meta","categories":"CTBK"}}}

20
static/logo.svg Normal file
View file

@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.0" viewBox="55.5 146 310 191">
<defs>
<linearGradient id="or" x1="100%" x2="0%" y1="0%" y2="100%" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ffef26"/>
<stop offset="1" stop-color="#e3312d"/>
</linearGradient>
<style>
<![CDATA[g>*{fill:url(#or)}]]>
</style>
</defs>
<g>
<path d="M92.9 219.6a4 4 0 0 1-1.1 2.8c-.8.7-1.7 1.1-2.8 1.1H74.8a4 4 0 0 1-2.8-1.1 4 4 0 0 1-1.1-2.8v-47.3c0-1.1.4-2.1 1.1-2.8s1.7-1.1 2.8-1.1H89a4 4 0 0 1 2.8 1.1c.8.7 1.1 1.7 1.1 2.8v12.8H88v-12.3H75.8v46.4H88v-13.6h4.9v14zm88.4 3.9h-4.6v-.9a107 107 0 0 1-11.1 1.1c-2.6 0-3.8-1.3-3.8-3.8v-12.5c0-2.6 1.3-3.9 4-3.9h11v-10.3h-10.1v5.8h-4.5v-5.8c0-2.6 1.3-4 3.9-4h11.3c2.6 0 3.9 1.3 3.9 4v30.3zm-4.5-4.3v-12.1h-10.4v12.3l10.4-.2zm31.9.3c0 2.6-1.3 4-4 4H193c-2.6 0-3.9-1.3-3.9-4v-26.3c0-2.6 1.3-4 3.9-4h11.7c2.6 0 4 1.3 4 4v26.3zm-4.7-.1v-26h-10.3v26H204zm30.7.1c0 2.6-1.3 4-4 4H220c-2.6 0-4-1.3-4-4v-7.8h4.6v7.7h9.5v-6.8l-12.2-10a4.5 4.5 0 0 1-1.8-3.7v-5.7c0-2.6 1.3-4 4-4h10.6c2.6 0 4 1.3 4 4v6.8h-4.5v-6.8h-9.5v6l12.3 10c1.1.9 1.7 2.2 1.7 3.7v6.6zm53.5-19h-4.6v-7.1l-8.6.3v29.7h-4.7v-34.1h4.7v.9l4.7-.7c1.9-.3 3.4-.4 4.7-.4 2.6 0 3.9 1.3 3.9 3.8l-.1 7.6zm25.1 19c0 2.6-1.3 4-3.9 4h-11.3c-2.6 0-3.9-1.3-3.9-4v-26.3c0-2.6 1.3-4 3.9-4h11.3c2.6 0 3.9 1.3 3.9 4v12.3l-1.6 1.7h-13v12.4h10.1v-6.3h4.5v6.2zm-4.5-16v-10.3h-10.1v10.3h10.1zm25.2-30.9h-6.6v16.7h5.8v4.1h-5.8v30.1h-4.6v-30.1h-4v-4.1h4v-16.9c0-2.6 1.3-4 3.9-4h7.3v4.2zm17.1 0h-6.6v16.7h5.8v4.1h-5.8v30.1h-4.6v-30.1h-4v-4.1h4v-16.9c0-2.6 1.3-4 3.9-4h7.3v4.2zm-195.6 130a4 4 0 0 1-1.1 2.8 4 4 0 0 1-2.8 1.1h-18.1v-55h18a4 4 0 0 1 2.8 1.1 4 4 0 0 1 1.1 2.8v16.3c0 1.5-.7 2.7-2 3.7l-3.9 2.3 4.1 2.7c1.2.8 1.8 1.9 1.8 3.5v18.7h.1zm-5-30.3v-16.6h-12.1v19.9h7.2l4.9-3.3zm.1 29.8v-19l-5-3.2h-7.3v22.3h12.3v-.1zm32.2 4.4h-4.6v-.9a107 107 0 0 1-11.1 1.1c-2.6 0-3.8-1.3-3.8-3.8v-12.5c0-2.6 1.3-3.9 4-3.9h11v-10.3h-10.1v5.8h-4.5v-5.8c0-2.6 1.3-4 3.9-4h11.3c2.6 0 3.9 1.3 3.9 4v30.3zm-4.5-4.3v-12.1h-10.4v12.3l10.4-.2zm31.2.3c0 2.6-1.3 4-3.9 4h-11.1c-2.6 0-3.9-1.3-3.9-4v-26.3c0-2.6 1.3-4 3.9-4h11.1c2.6 0 3.9 1.3 3.9 4v6.8h-4.6v-6.7h-9.7v26h9.7v-7.6h4.6v7.8zm26.8 4h-5.1l-9.4-17.4v17.4h-4.7v-55h4.7v34.9l8.8-14.1h5v.1l-9.9 15.1 10.6 19zm24.6 0h-4.7v-30l-10.3.3v29.7h-4.7v-34.2h4.7v.9l5.5-.7c2.3-.3 4.1-.4 5.6-.4 2.6 0 3.9 1.3 3.9 3.8v30.6zm26.9 0h-4.6v-.9a107 107 0 0 1-11.1 1.1c-2.6 0-3.8-1.3-3.8-3.8v-12.5c0-2.6 1.3-3.9 4-3.9h11v-10.3h-10.1v5.8h-4.5v-5.8c0-2.6 1.3-4 3.9-4h11.3c2.6 0 3.9 1.3 3.9 4v30.3zm-4.6-4.3v-12.1h-10.4v12.3l10.4-.2zm31.9 4.3h-4.7v-30l-10.3.3v29.7h-4.7v-34.2h4.7v.9l5.5-.7c2.3-.3 4.1-.4 5.6-.4 2.6 0 3.9 1.3 3.9 3.8v30.6zm27 9c0 2.6-1.3 4-4 4H327c-2.7 0-4-1.7-4-5l.1-1.8.1-1.7h4.6v4.5h9.8v-9h-7.7a7 7 0 0 1-5.2-2.1 7 7 0 0 1-2.1-5.3v-20c0-2 .6-3.7 1.8-5 1.2-1.3 2.8-2 4.8-2l8.3 1.2v-.9h4.6v43.1zm-4.7-13.1v-25.8l-6.5-.4c-2.6 0-3.9 1.3-3.9 3.9v18.3c0 2.6 1.3 3.9 3.9 3.9h6.5v.1zm-96.5-98.1h25.4v4.9h-25.4z"/>
<path d="M264.6 221.9v-24.8l-7.7-7.6v-3.7h3.1l-6.6-17.4-6.3 17.6h2.8v3.7l-7.5 7.5V228l2 3.1v-33l7.5-7.6V184h-2l3.5-9.9 3.7 9.7h-2.2v6.6l7.7 7.5v28.6"/>
<path fill="url(#or)" d="M144.8 222h5.6v9.6h-5.6z"/>
<path d="M138.9 222h3.9v9.6h-3.9zm-3.9 0h1.4v9.6H135zm-3.5 9.6V222h.7v9.6zm24.3-38.7.1-.1-7.6-10.9-7.7 10.1-.1.2 7.6 10.9 7.7-10.2zm-7.5-9.8 6.7 9.7-7 9.2-6.7-9.7 7-9.2zm-13.7 56c71.1 1.4 134 4.4 134.6 4.4v-.6c-.6 0-63.6-2.9-134.7-4.4l.1.6zm51.1 3.3h.7v9.5h-.7zm3.8 0h.7v8.7h-.7zm-7.5.8h.7v5.5h-.7zm64 1.4h.7v9.5h-.7zm3.9 0h.7v8.7h-.7zm-7.5.8h.7v5.4h-.7zm-32.3-3.1v.7c15.5 0 28.2 9.4 30.5 22.3l.7-.1c-2.4-13.1-15.4-22.9-31.2-22.9"/>
<path d="M150.3 239.6c-7.9 0-15.3 2.4-21.2 7.1l.4.5a34 34 0 0 1 20.8-6.8c15.2 0 28.2 9.6 30.5 22.4l.7-.1c-2.4-13.2-15.7-23.1-31.2-23.1m126.3.9v.6l-112.4-4v-.6zm-162.4-68.6h-16v55.6h.7v-55h14.6v7.6h.7v-2.9c2.4-.1 8.3-.8 8.3-2.6 0-1.3-4.1-2.3-8.3-2.7m0 4.6v-4c4.9.5 7.6 1.5 7.6 2.1 0 .7-2.4 1.6-7.6 1.9"/>
<path d="m73 228.3 41.5.1v-14.5h4.5v-7.8h-4.5V205h4.5v-7.8h-4.5V196h4.5v-7.8h-4.5V187h4.5v-5.8c11.6.2 26 .7 27.8 1.3 1 1 4.7 6.6 7.1 10.4l-1.9 2.7V222h-1.8v9.7h2.3l.1 9.1 1.1-.2 1.3-.1c13.5 0 25.4 7.7 29 18.7l.4 1.2 2.2-1.3.1-.3a30.8 30.8 0 0 1 27.6-15.4c14.8 0 27.6 9.3 29.8 21.7l.2 1.2 2.3-.8.2-.5c3.6-11 15.5-18.7 29-18.7h1.8c.6 0 1-.4 1-1s-.4-1-1-1h-1.8c-13.5 0-25.6 7.4-30.2 18.1-3.4-12.3-16.1-21.1-31.2-21.1a33 33 0 0 0-29 15.6c-4.4-11-16.6-18.5-30.3-18.5h-.4l-.2-8.8h-2.4v-5.7h1.8v-27.7l2.3-3.2-.4-.6c-1.1-1.7-6.5-10.3-8-11.6a247 247 0 0 0-34.4-1.7h-1v2.1h4.5v3.8h-4.4v5.2h4.5v3.8h-4.5v5.2h4.5v3.8h-4.5v5.2h4.5v3.8h-4.5v14.5l-38.8-.1m21.7 87.3-.3-.5c-.6-1-15-24-10.3-38.2a51 51 0 0 1-7.3-11.3c-.8-.9-7.6-8.3-2.3-17.3 0-1 .4-6.8 2.9-8.5l-3.1-8.7 4.8 7.9c19.4 1 25.6 24.1 26.2 26.8 14.2 6 21.7 24 24.1 29.9.3.8.6 1.6.8 1.7l.1.2-.1.3c-.1.3-.2.4-7.3 2l-.4.1-.2-.4c-3.5-8.1-11.3-17.1-16.7-17.1h-.1l-8.7 4.8c-3.7 2.7-.3 15.6 3.7 23.3l.2.4-6 4.6zm-16.2-75.6.1.3-.4.2c-2 1-2.7 6.1-2.7 8v.1l-.1.1c-5.4 8.9 1.8 16 2.1 16.3l.1.2c2 5.1 7.3 11.2 7.4 11.3l.2.2-.1.3c-4.4 12.7 7.8 33.8 9.8 37.2l4.5-3.4c-3.4-6.8-7.9-20.8-3.1-24.2l9-4.9h.3c5.9 0 13.7 8.9 17.5 17.4l5.9-1.4-.6-1.3c-2.4-5.9-9.8-23.7-23.8-29.5l-.2-.1-.1-.3c-.1-.3-5.7-25.5-25.6-26.3l-.2-.2z"/>
<path d="m78.3 263.7-.9-.4c3.8-9.5 3.1-13.4 1.8-15-1.3-1.6-3.4-1.2-3.4-1.2l-.2-1c.1 0 2.7-.5 4.4 1.5 2.1 2.7 1.6 8-1.7 16.1zm18.5 21.4c0-.1-.4-5.7-10.8-11.2-.2.2-.2.7-.2.9l-1 .1c0-.2-.1-1.1.3-1.7.2-.2.5-.4.8-.4h.1l.1.1c11.2 5.8 11.6 11.9 11.6 12.1l-.9.1h.5-.5zm8.6-4.6c-.2-.5-5.2-13.1-2.4-17.4.1-.2.3-.3.5-.3.7-.1 1.8.7 2.4 1.2l-.6.8-1.5-.9c-2.3 4 2.5 16.3 2.5 16.4l-.9.2z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

155
static/main.css Normal file
View file

@ -0,0 +1,155 @@
:root {
--main-bg-color: #020404;
--main-text-color: #efe3e3;
--main-accent-color: #f9c827;
--secondary-accent-color: #ff925f;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
"Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
overflow-x: hidden;
background-color: var(--main-bg-color);
color: var(--main-text-color);
margin: 1.5rem;
margin-top: 0;
}
a {
color: var(--main-accent-color);
&:hover,
&:focus {
color: var(--secondary-accent-color);
}
}
code {
font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
monospace;
}
img {
display: block;
}
#space-image {
height: 12vh;
transition:
height 0.2s,
transform 0.2s;
&:hover {
height: 14vh;
}
}
header {
display: flex;
flex-direction: row;
align-items: flex-start;
justify-content: space-between;
overflow: hidden;
}
#header-image {
height: 20vh;
max-width: 40vw;
}
#skip-header {
background: var(--main-bg-color);
border: 0;
clip: rect(0, 0, 0, 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
white-space: nowrap;
width: 1px;
&:active,
&:focus {
clip: auto;
height: auto;
margin: 1em;
overflow: visible;
white-space: inherit;
width: auto;
}
}
nav {
display: flex;
flex-wrap: wrap;
margin: 1em;
a {
height: min-content;
font-size: 1.2em;
font-weight: bold;
color: var(--main-text-color);
margin-left: 1em;
margin-bottom: 0.4em;
text-transform: uppercase;
text-decoration: underline 0.15em var(--main-text-color);
transition:
text-decoration-color 0.3s,
color 0.25s;
&:focus,
&:hover {
text-decoration-color: var(--main-accent-color);
color: var(--main-accent-color);
}
}
}
main {
display: grid;
grid-template: ". content ." auto / 1fr minmax(min-content, 45rem) 1fr;
section {
grid-area: content;
}
img {
height: auto;
max-width: 100%;
border-radius: 1em;
}
}
h1 {
font-weight: 700;
margin-bottom: 0.5em;
color: var(--main-accent-color);
}
footer {
background-color: var(--main-bg-color);
text-align: center;
padding-top: 1.5em;
margin-top: 1.5em;
font-weight: bold;
border-top: 2px solid transparent;
border-image: linear-gradient(
90deg,
transparent,
var(--secondary-accent-color),
transparent
);
border-image-slice: 1;
}

31
static/main.js Normal file
View file

@ -0,0 +1,31 @@
import hackcal from "./dbkcalendar.js";
const refreshRate = 60 * 1000;
function checkSpace() {
const icon = document.getElementById("space-image");
let openText = "";
fetch("https://spaceapi.ctbk.de/")
.then((response) => response.json())
.then((data) => {
if (data.state.open) {
openText = "Offen";
icon.src = data.state.icon.open;
} else {
openText = "Geschlossen";
icon.src = data.state.icon.closed;
}
icon.alt = "Der Space ist " + openText;
console.log("Icon: " + icon.src);
})
.catch((error) => {
console.error(error);
});
}
const interval = setInterval(() => {
checkSpace();
}, refreshRate);
document.addEventListener("DOMContentLoaded", checkSpace);
document.addEventListener("DOMContentLoaded", hackcal);

BIN
static/wozi.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

93
templates/page.html Normal file
View file

@ -0,0 +1,93 @@
<!doctype html>
<!doctype html>
{% if page.title %} {% set title = page.title %} {% elif section.title %} {% set
title = section.title %} {% elif config.title %} {% set title = config.title %}
{% endif %} {% if page.description %} {% set description = page.description |
truncate(length=150) %} {% elif section.description %} {% set description =
section.description | truncate(length=150) %} {% elif config.description %} {%
set description = config.description | truncate(length=150) %} {% endif %}
<html lang="{{ config.default_language }}">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#252627" />
<meta name="description" content="{{ title }}" />
<meta property="og:title" content="{{ title }}" />
<meta property="og:description" content="{{ description }}" />
<meta
property="og:image"
content="{{ get_url(path='logo.svg', trailing_slash=false) }}"
/>
<meta property="og:url" content="{{ get_url(path='') }}" />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{{ title }}" />
<meta name="twitter:description" content="{{ description }}" />
<meta
name="twitter:image"
content="{{ get_url(path='logo.svg', trailing_slash=false) }}"
/>
<link
rel="icon"
href="{{ get_url(path='favicon.png', trailing_slash=false) }}"
/>
<link
rel="apple-touch-icon"
href="{{ get_url(path='logo.svg', trailing_slash=false) }}"
/>
<link
rel="stylesheet"
href="{{ get_url(path='main.css', trailing_slash=false) }}"
/>
<script
src="{{ get_url(path='main.js', trailing_slash=false) }}"
type="module"
></script>
<title>{{ title }}</title>
</head>
<body>
<header>
<a id="skip-header" href="#main-content">Skip to main content</a>
<a href="/" tabindex="-1"
><img
id="header-image"
src="{{ get_url(path='logo.svg', trailing_slash=false) }}"
alt="Chaostreff Backnang Logo"
/></a>
<nav>
<a href="{{ get_url(path='/') }}">Home</a>
<a href="{{ get_url(path='/termine') }}">Termine</a>
<a href="{{ get_url(path='/fsck') }}">FSCK</a>
<a href="{{ get_url(path='/freifunk') }}">Freifunk</a>
<a class="image-container" href="https://spaceapi.ctbk.de"
><img id="space-image" src="" alt="Space Icon"
/></a>
</nav>
</header>
<main id="main-content">
<section class="main-text">
{% if section %} {{ section.content | safe }} {% else %} {{ page.content
| safe }} {% endif %}
</section>
</main>
<footer>
© 2024 Chaostreff Backnang |
<a href="{{ get_url(path='/impressum') }}">Impressum</a> |
<a href="{{ get_url(path='/datenschutz') }}">Datenschutz</a>
</footer>
<template id="calendar-date">
<tr class="calendar-date" data-date=""></tr>
</template>
<template id="calendar-entry">
<tr class="calendar-entry" data-uid="">
</tr>
</template>
</body>
</html>