initial
This commit is contained in:
commit
a486b7bbb7
11 changed files with 426 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
public
|
14
config.toml
Normal file
14
config.toml
Normal 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
46
content/_index.md
Normal 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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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
65
static/dbkcalendar.js
Normal 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
BIN
static/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 549 B |
1
static/hackcal
Normal file
1
static/hackcal
Normal 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
20
static/logo.svg
Normal 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
155
static/main.css
Normal 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
31
static/main.js
Normal 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
BIN
static/wozi.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 78 KiB |
93
templates/page.html
Normal file
93
templates/page.html
Normal 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>
|
Loading…
Add table
Reference in a new issue