Compare commits

...
Sign in to create a new pull request.

19 commits
main ... main

Author SHA1 Message Date
7607035224 correcting link 2025-07-09 09:48:43 +02:00
b5b219e35e adding timetable to website 2025-07-09 09:47:05 +02:00
01b8059141 edits on timetable 2025-07-09 09:20:46 +02:00
95639e0d44 edits on timetable 2025-06-24 22:41:09 +02:00
34bc23629e edits on timetable 2025-06-23 13:56:51 +02:00
3f22b55760 first timetable 2025-06-21 23:56:14 +02:00
eb91c54995 adding timetable 2025-06-20 23:27:56 +02:00
Tobi
46fe5ab719 fixing closing button issue 2025-06-20 22:36:28 +02:00
Tobi
98c356b201 reverting changes 2025-06-20 18:43:37 +02:00
990c946e40 Merge pull request 'fixing-accessibility-issues' (#14) from wohfab/fedi.camp_Website:fixing-accessibility-issues into main
Reviewed-on: KABI/fedi.camp_Website#14
2025-06-19 10:27:39 +00:00
wohfab
c56c866f79 fix: fixing some types, indentation inconsistencies and semantic HTML 2025-05-15 14:51:24 +02:00
wohfab
c174fd93dd fix: adding accessible name to close buttons (WCAG 2.4.6 Heading and Labels) 2025-05-15 14:28:42 +02:00
wohfab
26449eedb1 typo: fixing some typos, indentation inconsistencies, etc. 2025-05-15 14:22:22 +02:00
wohfab
82afe42465 fix: adding main landmark to body (WCAG 2.4.1 Bypass Blocks) 2025-05-15 14:05:32 +02:00
wohfab
ea45fd3767 typo: capital letter in HTML tag 2025-05-15 13:50:35 +02:00
wohfab
f2f7030c99 fix: removing line break elements (<br>) and replacing by semantic elements (p, ul) (WCAG 1.3.1 Info and Relationships) 2025-05-15 13:48:44 +02:00
wohfab
77871367c0 fix: moving fediverse verification into link tags inside head, so they are not keyboard focusable while hidden (WCAG 1.3.1 Info and Relationships) 2025-05-15 13:40:19 +02:00
wohfab
91da541ccf fix: adding main website language (WCAG 3.1.1 Language of Page) 2025-05-15 13:27:08 +02:00
wohfab
af56aecf44 fix: removing disabling of zoom (WCAG 1.4.4 Resize Text) 2025-05-15 13:26:01 +02:00
4 changed files with 93 additions and 152 deletions

View file

@ -289,24 +289,21 @@
var $this = $(this);
// Close.
$('<div class="close">Close</div>')
.appendTo($this)
.on('click', function() {
location.hash = '';
});
// Handle the × button click
$this.find('button.close').on('click', function(event) {
// Handle the × button click and touchend for mobile compatibility
$this.find('button.close').each(function() {
var closeHandler = function(event) {
event.preventDefault();
event.stopPropagation();
location.hash = '';
});
};
$(this).on('click', closeHandler);
$(this).on('touchend', closeHandler);
});
// Prevent clicks from inside article from bubbling.
$this.on('click', function(event) {
event.stopPropagation();
});
$this.on('click', function(event) {
event.stopPropagation();
});
});

View file

@ -3,14 +3,18 @@
<p><a href="#showmetheway" class="button">Anfahrt</a></p>
<a href="https://matrix.to/#/#fedicamp:hyteck.de" class="button">Matrix-Raum</a><br><br><br>
<!--
<h2 class="major">Call for Participation</h2>
<p>Um den Timetable zu füllen, brauchen wir Eure Workshops, Vorträge, Aktivitäten - was Ihr schon immer gern mit anderen Menschen machen wolltet.<p>
<p><a href="https://orga.fedi.camp/index.php/apps/forms/s/C8d7C9N2FfYgLzPqHCDEKN97" class="button enabled">Call for Participation</a></p>
<p>Das Camp ist eine Unconference das heißt: Es findet das statt, was ihr daraus macht!
Unabhängig von der Camp-Oraga: Bereitet gerne Eure Workshops, Vorträge oder Aktivitäten vor und tragt sie in das Pad Call for Participation (CfP) ein. Für eure Vorbereitung können wir euch BigBlueButton-Räume, Speicherplatz und alles Weitere zur Verfügung stellen einfach kurz per Mail Bescheid geben. Alle freuen sich auf spannende Informationen und das Mitmachen. </p>
-->
<h2 class="major">Timetable</h2>
<p>Aktuell haben wir einige Sessions eingesammelt. Ein Timetable wird erstellt und zum Camp veröffentlicht.<p>
<h2 class="major">TimeTable</h2>
<p>Hier findet Ihr den aktuellen TimeTable / Fahrplan zu den Sessions, Vorträgen und Workshops<p>
<p><a href="/timetable" class="button enabled">Timetable</a></p>
<p>Das Fedicamp ist eine Unconferenz, d.h. es findet das statt was Leute tun möchten, mitbringen und gemeinsam erleben möchten. Der Timetable wird auch wärend des Camps angepasst - ist also nicht in Stein gemeiselt. Bringt gern weitere Themen auch spontan ein.</p>
<p>Wir starten am Mittwoch 16.07. nachmittags bzw. mit dem Abendessen und enden am Sonntag 20.07. gegen Mittag.</p>
<hr>

View file

@ -25,31 +25,29 @@ As days please only use the following days:
const eventData = {
Wednesday: {
12: {
'Lunch table': {
event: 'Breakfast',
description: 'All-day breakfast',
10: {
'Camp ground': {
event: 'Mit Yoga kraftvoll in den Tag starten',
description: 'Morgendlicher Start auf der Wiese vom Gasthof Wiese mit gemeinsamen Yoga-und AtemÜbungen. Bitte bringt eure Matte, bequeme Kleidung und ggf. eine Decke mit.',
},
},
12: {
'Stage room': {
event: 'CoC, Charta, Hausregeln fürs Fedicamp',
description: 'Workshop: Erarbeitung der Charta für das FediCamp. Ansprechperson: @Tealk@rollenspiel.social',
},
/* other events */
},
14: {
'Camp ground': {
event: 'Microblog und Permacomputing',
description: 'Microblog und Permacomputing - Sustainability (CO2 etc.) - Überlegungen zu verschiedenen (ActivityPub) Ansätzen. Was ist mit dem Jonasschen Prinzip Verantwortung überhaupt drin? Ansprechperson für die Session ist @mro@digitalcourage.social',
event: 'Botanischer Exkurs Wendland',
description: 'Wir entdecken gemeinsam die Pflanzenwelt rund um den Gasthof Wiese - zu Fuß, mit dem Rad. Ansprechperson: greensoul',
},
/* other events */
},
18: {
'Camp ground': {
event: 'Diskussionsrunde Schnittstellen',
description: 'Diskussionsrunde zu offenen Schnittstellen und wie wir das Fediverse resilient gegen Großkonzerne machen. Ansprechperson für die Session ist @reticuleena@digitalcourage.social.',
16: {
'Stage room': {
event: 'Rollenspiel meets Fediverse',
description: 'Workshop: Ausarbeitung einer Agenda wie man Rollenspieler von GAFAM weg bekommt. Wir haben ja einige Leute da die öfters Vorträge halten, da würd ich gern mal die best ofs mitnehmen. Ansprechperson: @Tealk@rollenspiel.social',
},
'Lunch table': {
event: 'Foodbar',
description: 'Abendessen und Snacks. Planung findet am Veranstaltungstag statt.',
},
/* other events */
},
20: {
'Fire place': {
@ -60,171 +58,121 @@ const eventData = {
},
Thursday: {
10: {
'Lunch table': {
event: 'Breakfast & Coffee',
description: 'Join us for a fresh morning coffee & snacks.',
'Camp ground': {
event: 'Mit Yoga kraftvoll in den Tag starten',
description: 'Morgendlicher Start auf der Wiese vom Gasthof Wiese mit gemeinsamen Yoga-und AtemÜbungen. Bitte bringt eure Matte, bequeme Kleidung und ggf. eine Decke mit.',
},
/* other events */
},
12: {
'Camp ground': {
event: 'Fediverse Charta II',
description: 'Workshop: Wir schreiben einen Entwurf einer „Fediverse-Charta“. Ansprechperson für die Session ist @reticuleena@digitalcourage.social.',
'Stage room': {
event: 'Fediverse Einstiegshelfy Austausch',
description: 'Workshop: Wie helfen wir Leuten konkret dabei, ins Fediverse einzusteigen Erfahrungsaustausch. Leute sind überfordert von den Auswahlmöglichkeiten. Verschiedene Zielgruppen: Leute die umsteigen wollen; Leute die neu auf Social Media sind; Organisationen, die umsteigen wollen. Ansprechperson: Ben @b_rain@troet.cafe',
},
},
14: {
'Stage room': {
event: 'Moderationstreffen (FMT)',
description: 'Allgemeines Moderationstreffen mit den Initiatoren des etablierten turnusmäßigen Treffen der Moderator-/innen. Ansprechperson für die Session ist @w4ts0n@nerdculture.de.',
event: 'Austauschrunde: "Einen Fediverse-Workshop halten"',
description: 'Wir tauschen uns über unsere Erfahrungen beim Halten von Fediverse-Workshops aus. Kommt gern auch vorbei, wenn ihr noch nie einen Workshop zum Thema gehalten habt! Ansprechperson: Ückück',
},
},
16: {
'Lunch table': {
event: 'Pen and Paper mit Tealk',
description:
'Zur Auswahl stehen Aborea, Cyberpunk RED, Durance und Warhammer 40k Wrath & Glory. Die Delux edition ist noch unangetastet. Empfohlene Spielerzahl: 3 bis 6 Spielende. Außerdem wir das allseits beliebte Muchkin dabei sein. Ansprechperson für diese Session ist @Tealk@rollenspiel.social.',
},
'Camp ground': {
event: 'Fck Uber',
description:
'So können wir mit dezentralen Netzwerken den großen Konzernen Marktanteile wegnehmen bei Branchen, die stark lokal ausgerichtet sind. Ansprechperson ist @clemensg@digitalcourage.social.',
},
'Mobile': {
event: 'Schweißworkshops',
description: 'Einführung ins Schweißen von @willHelm@links.potsda.mn. Maximal 2 Personen.',
event: 'Löt-Workshop supported by WAK-Lab e.V.',
description: 'Workshop Löten funny stuff zB BlinkyParts. BlinkyPart Vorbestellung ggf über WAK-Lab e.V. Ansprechperson: greensoul',
},
},
18: {
'Camp ground': {
event: 'Erotik und nun?',
description: 'Diskussionsrunde: Erotik-Content im Fediverse. Und nun? Ansprechpartner für diese Sessionn ist Digitalcourage.',
/* other events */
'Stage room': {
event: 'Solarlichter Löten / Löten für Anfänger',
description: 'Anfänger Workshop, kleiner Start-guide zum Löten lernen mit anschließender Umsetzung am Beispiel eines Solarlichtes. Bauteile/Platinen/Gehäuse werden gestellt. Dauer ca. 1-1,5h. Begrenzt auf 5 Personen. Ansprechperson: SandFuchsFroschy, @sandfrog@social.grautier.eu',
},
},
20: {
'Camp ground': {
event: '300.000 Jahre Homo Sapiens ...',
description: '... 50.000 Jahre Sprache, 10.000 Jahre Sesshaftigkeit, 2.500 Jahre Literatur, 500 Jahre Buchdruck, 25 Jahre Web - welche Anfängerfehler passieren uns gerade. Ansprechperson für diese Session ist @mro@digitalcourage.social',
'Fire place': {
event: 'Bonfire',
description: 'Sit-in and talks around the fire.',
},
},
/* other times */
},
Friday: {
10: {
'Camp ground': {
event: 'Dinge selber machen',
description:'Dinge trotzdem selber machen (oder: Konsum oder Agency?). Vielleicht finden wir ja einen schönen Begriff statt >Agency<. Mit einem Ausflug zu Ivan Illich und den 📖 Tools for Convivality. Ansprechperson für diese Session ist @mro@digitalcourage.social',
},
'Lunch table': {
event: 'Breakfast & Coffee',
description: 'Join us for a fresh morning coffee & snacks.',
event: 'Mit Yoga kraftvoll in den Tag starten',
description: 'Morgendlicher Start auf der Wiese vom Gasthof Wiese mit gemeinsamen Yoga-und AtemÜbungen. Bitte bringt eure Matte, bequeme Kleidung und ggf. eine Decke mit.',
},
},
12: {
'Camp ground': {
event: 'Was ist möglich im Fediverse',
description: 'Über die Spezifikationen des ActivityPub-Protokolls. Einführung an drei konkreten Beispielen mit Spielkarten. Ansprechperson ist @sl007@digitalcourage.social.',
'Stage room': {
event: 'Privat-IN: Nextcloud auf Kleincomputern',
description: 'Vortrag: Nextcloud speichert Adressen, Kontakte, Passwörter (und vieles mehr). So etwas können Normalbürger zu Hause auch: mit Kleincomputern (Raspberry, Orange, BananaPi). Kurzer Vortrag ca. 30min. Bei Interesse außerdem: Hands-on mit Hardware. Ansprechperson: @sven_ola@norden.social',
},
/* other events */
},
14: {
'Stage room': {
event: 'Gesund Kommerzialisieren',
description: 'Workshop: Gesund kommerzialisieren: nachhaltige Finanzierungskonzepte entwickeln, Billing automatisieren. Ansprechperson für die Session ist @reticuleena@digitalcourage.social.',
event: 'CryptoParty: Offene Austauschrunde',
description: 'Offene Austauschrunde rund um Kryptographie, Datenschutz und digitale Sicherheit. Mit Interessensabfrage und Verteilung in thematische Gruppen. Wir diskutieren aktuelle Entwicklungen, tauschen Erfahrungen aus und bilden bei Bedarf kleinere Arbeitsgruppen für vertiefende Gespräche. Alle Interessierten sind willkommen - von Anfängern bis zu Experten! Ansprechperson: @cryptgoat:tchncs.de',
},
'Lunch table': {
event: 'Pen and Paper: Mausritter',
description:
'Dieses Mal ein fertiges Abenteuer, dass es zu den GRT gab. ACHTUNG: Es können nicht so viele Mäuse mitspielen! Thema: Ritterliche Abenteuer mit kleinen Mäusen; Dauer 3-4 Stunden. Ansprechperson für diese Session ist @ueckueck@dresden.network.',
},
/* other events */
},
16: {
'Stage room': {
event: 'Talk: Werbetracking erkennen',
description:
'Matthias Eberl zeigt, wie man mit der Netzwerkanalyse des Browsers nach Trackingeinbettungen suchen kann, wie man sie identifiziert und mit welchen Rechtsgrundlagen man dann mit meinem Beschwerdegenerator "Tracktor" dagegen vorgehen kann. Außerdem wird eine einfache Methode gezeigt, um Apps auf verdächtige Verbindungen zu prüfen. Ansprechperson für diese Session ist @rufposten@social.tchncs.de.',
event: 'RollenspielMonster vorstellung',
description: 'Übersicht über den Aufbau und technischen Hintergrund des Projekts. Bestandteile: Proxmox VE und Backup, pfSense, Proxymanager und co. Wurde sich bereits zweimal gewünscht, daher werd ich da jetzt mal durchgehen. Ansprechperson: @Tealk@rollenspiel.social',
},
'Lunch table': {
event: 'Ownhome',
description:
'Ansprechperson für diese Session ist Clemens',
},
/* other events */
},
18: {
'Camp ground': {
event: 'Fedimins Serverabkommen',
description:
'Workshop: Im Anschluss an den "Fediverse Charta" Workshop reden wir über das Serverabkommen von Fedimins, betrachten den aktuellen Stand und reden darüber. Ansprechperson für die Session ist @tealk@rollenspiel.social.',
'Stage room': {
event: 'FediCamp - Vereinsgründung',
description: 'Wir wollen die Möglichkeiten diskutieren, wie wir das FediCamp nachhaltig und rechtssicher etablieren können. Dazu ist ein Verein hilfreich, der die Veranstaltungen trägt. Lasst uns gemeinsam darüber nachdenken und schauen, wie wir uns in Zukunft gemeinsam aufstellen.',
},
/* other events */
},
20: {
'Fire place': {
event: 'Bonfire',
description: 'Sit-in and talks around the fire.',
event: 'Music Acoustic Jam Session at the Camp Fire Site',
description: 'Bringt eure stromlosen Instrumente mit und lasst uns am Lagerfeuerplatz jammen. Gemeinsam jammen!',
},
'Lunch table': {
event: 'Tidying up',
description: 'Tidying up the kitchen and preparing for the next day.',
},
/* other events */
},
/* other times */
},
Saturday: {
10: {
'Camp ground': {
event: 'Pen and Paper runden',
description: 'Diverse Runden fürs Rollenspiel. Geplant sind Aborea, W40k Wrath & Glory, Everyone is John und Moirenico. Als Freizeit gedacht. Ansprechperson: @Tealk@rollenspiel.social',
},
},
12: {
'Stage room': {
event: 'Workshop Algorithmus',
description:
'Workshop: Der "wichtiges"-Algorithmus fehlt manchen. Wie ließe sich das gesellschaftsverträglich umsetzen? Ansprechperson für die Session ist @reticuleena@digitalcourage.social.',
event: 'How-To-Homeserver: Einfache Selfhosting zuhause',
description: 'Workshop: Wie du mit alter Hardware zuhause deine eigenen Dienste hosten kannst. Wir zeigen, wie du aus einem alten Laptop oder PC einen funktionierenden Homeserver machst. Von der Hardware-Auswahl über die Installation bis zur Konfiguration der ersten Dienste. Praktische Tipps für Anfänger und Fortgeschrittene. Ansprechperson: @cryptgoat:tchncs.de',
},
/* other events */
},
14:{
'Mobile': {
event: 'Schweißworkshops',
description: 'Einführung ins Schweißen von @willHelm@links.potsda.mn. Maximal 2 Personen',
14: {
'Camp ground': {
event: 'Botanischer Exkurs Wendland',
description: 'Wir entdecken gemeinsam die Pflanzenwelt rund um den Gasthof Wiese - zu Fuß, mit dem Rad. Ansprechperson: greensoul',
},
'Stage room': {
event: 'Flohmarkt',
description:
'Föderierte kleinanzeigen. Ansprechperson: @grindhold@chaos.social',
},
},
16: {
'Camp ground': {
event: 'Lötworkshop',
description:
'Lernt löten. @hilde@dz.social wird durch den Workshop führen und Euch zeigen, wie das alles funktioniert. Lötkolben und weiteres benötigtes Werkzeug wird zur Verfügung gestellt.',
'Stage room': {
event: 'Leben am Ende der Welt - ferne Inseln und das Leben dort',
description: 'Wir schauen uns den Alltag auf fernen Inseln an, lernen wie das Leben dort funktioniert, ohne ständigen Zugriff auf Infrastruktur die wir kennen. Ansprechperson: Tobi (tobi@dz.social)',
},
'Camp ground': {
event: 'Vorstellung einer Wetterstation und LiveCam auf lokalen Servern (Raspberry Pi), betrieben mit Solarstrom',
description: 'Workshop/Projekt: Wir bauen gemeinsam eine Wetterstation und eine LiveCam, die auf lokalen Servern (Raspberry Pi) laufen und mit Solarstrom betrieben werden. Fragen, Austausch und gemeinsames Basteln. Die Technik wird über die Tage aufgebaut und vorgestellt, wenn es fertig ist. Ansprechperson: Marius Quabeck, Nerdzoom, @marius@social.nerdzoom.media',
},
/* other events */
},
18: {
'Camp ground': {
event: 'Zu große Instanzen',
description: 'Diskusstionsrunde zum Thema große und zu große Instanzen.',
'Stage room': {
event: 'Löt-Workshop supported by WAK-Lab e.V.',
description: 'Weiterer Termin: Workshop Löten funny stuff zB BlinkyParts. BlinkyPart Vorbestellung ggf über WAK-Lab e.V. Ansprechperson: greensoul',
},
'Lunch table': {
event: 'Preparing BBQ',
description: 'Preparing BBQ & dinner.',
},
/* other events */
},
20: {
'Fire place': {
event: 'Bonfire',
description: 'Sit-in and talks around the fire.',
'Camp ground': {
event: 'Pen And Paper Brindlewood Bay',
description: 'Pen and Paper Runde mit Omis, die Kriminalfälle lösen und einem Hauch übernatürlicher Monster. Rollenspielrunde mit PbtA-System. Ansprechperson: Ückück',
},
'Lunch table': {
event: 'Tidying up',
description: 'Tidying up the kitchen and preparing for the next day.',
},
/* other events */
},
/* other times */
},
Sunday: {
12: {
@ -232,16 +180,8 @@ const eventData = {
event: 'Tearing down',
description: 'Clearing up the camp grounds.',
},
/* other events */
},
14: {
'Lunch table': {
event: 'Coffee',
description: "Let's have a last coffee before traveling home again.",
},
/* other events */
},
/* other times */
},
/* other days */
};
module.exports = eventData;

View file

@ -3,21 +3,21 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Event Timetable</title>
<title>FediCamp Timetable</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div id="landscape-message">
<br><br>
<h1>FediCamp 2024 TimeTable</h1>
<img src="https://fedi.camp/images/fedicamp-logo2024.png" alt="FediCamp Logo" id="logo" />
<h1>FediCamp 2025 TimeTable</h1>
<img src="https://fedi.camp/images/fc25_logo.png" alt="FediCamp Logo" id="logo" />
<h2>Please Rotate Your Device</h2>
<p>For the best viewing experience, please switch to landscape mode.</p>
</div>
<div id="timetable">
<h1 id="headline">FediCamp 2024</h1>
<h1 id="headline">FediCamp 2025</h1>
<h2 id="subheadline">Time Table</h2>
<div id="slider-container">