Make the calendar using pure HTML in Hugo
This commit is contained in:
parent
30bf4dab28
commit
a2a55bf3a7
56
content/page/info/raumbelegung-manuell/index.md
Normal file
56
content/page/info/raumbelegung-manuell/index.md
Normal file
@ -0,0 +1,56 @@
|
||||
---
|
||||
title: "Raumbelegung man"
|
||||
date: 2023-01-21T18:20:35+01:00
|
||||
draft: false
|
||||
menu:
|
||||
main:
|
||||
parent: info
|
||||
weight: 1
|
||||
---
|
||||
Hier finden Sie die planmäßige Raumbelegung.
|
||||
_Außerhalb der Trainings- und Kurszeiten können die Räume für Ihr freies Training gebucht werden._
|
||||
Um die Verfügbarkeit für alle Mitgieder transparent zu halten und Überschneidungen zu vermeiden, bitten wir Sie, Ihre Belegung eines Saals hier frühzeitig zu hinterlegen. Die Anleitung finden Sie unten.
|
||||
|
||||
Bitte beachten Sie, dass die Nutzung der Räumlichkeiten ausschließlich zum Zwecke des Tanztrainings zulässig ist.
|
||||
|
||||
## Raumbelegung - planmäßig
|
||||
|
||||
Stand 02.12.2022
|
||||
|
||||
Die komplette {{< dld src="plan/2022-12-02/Belegung.pdf" >}}Saalbelegung als PDF{{< /dld >}} herunter laden.
|
||||
|
||||
|
||||
![](plan/2022-12-02/Saalbelegung_A.jpg)
|
||||
|
||||
![](plan/2022-12-02/Saalbelegung_B.jpg)
|
||||
|
||||
{{< tsc/show-calendar 10 23 "Mo" "Di" "Mi" >}}
|
||||
{{< tsc/show-calendar 14 23 "Do" "Fr" >}}
|
||||
|
||||
|
||||
## Raumbelegung außerplanmäßig
|
||||
|
||||
### Belegungsplan heute
|
||||
|
||||
{{< tsc/iframe >}}https://cloud.tsc-vfl.de/index.php/apps/calendar/embed/d5KikZAZJfJxMHyK-RyoP44ym84oa5NFm-8DBYtgZwmkDsdemr/timeGridWeek/now{{< /tsc/iframe >}}
|
||||
{{<tsc/calendar-color-table>}}
|
||||
|
||||
|
||||
### Anleitung zur Raumbuchung
|
||||
Wenn Sie **einmalig einen Raum buchen möchten**, senden Sie mindestens zwei Tage vor dem gewünschten Termin eine E-Mail an raumbuchung@dummy.com mit folgenden Angaben:
|
||||
- Ihr Name (für Rückfragen, wird nicht öffentlich sichtbar)
|
||||
- den Anlass (wird öffentlich sichtbar)
|
||||
- gewünschter Saal
|
||||
- konkreter Termin mit Datum, Uhrzeit und Dauer
|
||||
|
||||
Das TSC Team wird die Eintragung für Sie übernehmen. Sollten Sie die Reservierung doch nicht wahrnehmen können, bitten wir Sie um eine Info, damit der Saal für andere Mitglieder verfügbar sein kann.
|
||||
|
||||
**Bitte beachten Sie, dass das Team keine Überschneidungsprüfung vornehmen kann. Also prüfen Sie bitte stets vor der Anfrage die Verfügbarkeit.**
|
||||
|
||||
Wenn Sie **regelmäßig einen Raum buchen**, benötigen Sie einen Account in unserer Vereinsplattform "TSC Cloud Kalender". Um diesen Account zu erhalten, senden Sie bitte eine E-Mail an dummy-kontakt@dummy.com mit folgenden Angaben:
|
||||
- Ihrem vollständigen Namen
|
||||
- der gewünschten E-Mailadresse für den Account
|
||||
- sowie das Stichwort "Registrierung Raumbuchung".
|
||||
Sie erhalten zeitnah einen Registrierungslink sowie eine Anleitung, wie Sie Termine eintragen können.
|
||||
|
||||
Mit Ihren Anmeldedaten können Sie sich im TSC Cloud Kalender anmelden und Ihre Trainingstermine selbstständig eintragen. Bitte achten Sie auf die Verfügbarkeit des Saals!
|
145
data/calendar.yaml
Normal file
145
data/calendar.yaml
Normal file
@ -0,0 +1,145 @@
|
||||
calendar:
|
||||
vorne:
|
||||
Mo:
|
||||
"17:00":
|
||||
title: DS Kids 0
|
||||
slots: 4
|
||||
"18:15":
|
||||
title: DS Adults 5
|
||||
slots: 4
|
||||
"19:15":
|
||||
title: DS Contest Gruppe
|
||||
slots: 8
|
||||
Di:
|
||||
"16:30":
|
||||
title: DS Kids 4
|
||||
slots: 4
|
||||
Mi:
|
||||
"14:30":
|
||||
title: Kindertanz 4
|
||||
slots: 4
|
||||
"15:30":
|
||||
title: Kindertanz 5
|
||||
slots: 4
|
||||
"16:30":
|
||||
title: Kindertanz 6
|
||||
slots: 6
|
||||
"18:00":
|
||||
title: DS Teens 0
|
||||
slots: 4
|
||||
"19:00":
|
||||
title: Turnieraufbau Std
|
||||
slots: 6
|
||||
Do:
|
||||
"17:00":
|
||||
title: DS Kids 5
|
||||
slots: 4
|
||||
"18:15":
|
||||
title: DS Kids 1
|
||||
slots: 4
|
||||
"19:30":
|
||||
title: DS Adults 3
|
||||
slots: 6
|
||||
Fr:
|
||||
"16:30":
|
||||
title: DS Minis
|
||||
slots: 4
|
||||
"19:00":
|
||||
title: Tanzkreis 6
|
||||
slots: 6
|
||||
"20:30":
|
||||
title: Discofox
|
||||
slots: 4
|
||||
# Sa: {}
|
||||
# So: {}
|
||||
mitte:
|
||||
Mo:
|
||||
"17:30":
|
||||
title: DS Teens 2
|
||||
slots: 4
|
||||
"18:30":
|
||||
title: Ballet
|
||||
slots: 6
|
||||
"20:00":
|
||||
title: Tanzkreis 1
|
||||
slots: 6
|
||||
Di:
|
||||
"18:45":
|
||||
title: DS Adults 1
|
||||
slots: 4
|
||||
"20:00":
|
||||
title: Tanzkreis 2
|
||||
slots: 8
|
||||
Mi:
|
||||
"17:00":
|
||||
title: DS Kids 2
|
||||
slots: 4
|
||||
"18:00":
|
||||
title: DS Kids 7
|
||||
slots: 4
|
||||
"19:00":
|
||||
title: Tanzkreis 3
|
||||
slots: 6
|
||||
"20:30":
|
||||
title: Tanzkreis 4
|
||||
slots: 6
|
||||
Do:
|
||||
"19:30":
|
||||
title: Tanzkreis 5
|
||||
slots: 6
|
||||
Fr:
|
||||
"19:00":
|
||||
title: Tanzkreis 0
|
||||
slots: 6
|
||||
"20:30":
|
||||
title: Tanzkreis 9
|
||||
slots: 6
|
||||
Sa: {}
|
||||
So: {}
|
||||
hinten:
|
||||
Mo:
|
||||
"15:45":
|
||||
title: Ballet
|
||||
slots: 6
|
||||
# "18:15":
|
||||
# title: DS Adults 5
|
||||
# slots: 4
|
||||
Di:
|
||||
"19:00":
|
||||
title: Turnier Latein
|
||||
slots: 4
|
||||
"20:00":
|
||||
title: Turnier Standard
|
||||
slots: 8
|
||||
Mi:
|
||||
"10:30":
|
||||
title: Ballet
|
||||
slots: 6
|
||||
"17:00":
|
||||
title: DS Kids 3
|
||||
slots: 4
|
||||
"18:00":
|
||||
title: DS Teens 1
|
||||
slots: 4
|
||||
"19:00":
|
||||
title: DS Adults 0
|
||||
slots: 4
|
||||
"20:00":
|
||||
title: Breitensport
|
||||
slots: 6
|
||||
Do:
|
||||
"18:00":
|
||||
title: Kindertanz 8 (Turnieraufbau)
|
||||
slots: 6
|
||||
Fr:
|
||||
"14:30":
|
||||
title: Kindertanz 0
|
||||
slots: 4
|
||||
"15:30":
|
||||
title: Kindertanz 7
|
||||
slots: 4
|
||||
"16:30":
|
||||
title: Kindertanz 2 (Turnieraufbau)
|
||||
slots: 6
|
||||
Sa: {}
|
||||
So: {}
|
@ -157,6 +157,91 @@ h1 {
|
||||
}
|
||||
}
|
||||
|
||||
.calendar-manual {
|
||||
font-size: xx-small;
|
||||
|
||||
@include media-large() {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
tr {
|
||||
height: 20px;
|
||||
&.first-min {
|
||||
border-top: solid lightgray 1px;
|
||||
}
|
||||
&:nth-of-type(n) {
|
||||
background-color: unset;
|
||||
}
|
||||
|
||||
.time {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.time:last-of-type, .first-col-of-room {
|
||||
border-left: solid lightgray 1px;
|
||||
}
|
||||
|
||||
.day-title {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.calendar-block {
|
||||
position: relative;
|
||||
.calendar-block-entity {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
padding: 1.5px;
|
||||
box-sizing: border-box;
|
||||
|
||||
|
||||
&.height-1 {
|
||||
height: 20px;
|
||||
}
|
||||
&.height-2 {
|
||||
height: 40px;
|
||||
}
|
||||
&.height-3 {
|
||||
height: 60px;
|
||||
}
|
||||
&.height-4 {
|
||||
height: 80px;
|
||||
}
|
||||
&.height-5 {
|
||||
height: 100px;
|
||||
}
|
||||
&.height-6 {
|
||||
height: 120px;
|
||||
}
|
||||
&.height-7 {
|
||||
height: 140px;
|
||||
}
|
||||
&.height-8 {
|
||||
height: 160px;
|
||||
}
|
||||
|
||||
.room-block {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 3px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.room-vorne {
|
||||
background-color: var(--color-vhvorne);
|
||||
}
|
||||
.room-mitte {
|
||||
background-color: var(--color-vhmitte);
|
||||
}
|
||||
.room-hinten {
|
||||
background-color: var(--color-vhhinten);
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.float-right {
|
||||
float: right;
|
||||
margin: 7px 0 7px 15px;
|
||||
|
64
themes/tsc_vfl/layouts/shortcodes/tsc/show-calendar.html
Normal file
64
themes/tsc_vfl/layouts/shortcodes/tsc/show-calendar.html
Normal file
@ -0,0 +1,64 @@
|
||||
{{ $start := .Get 0 }}
|
||||
{{ $end := .Get 1}}
|
||||
{{ $days := after 2 .Params }}
|
||||
{{ $calendar := $.Site.Data.calendar.calendar }}
|
||||
<table class="calendar-manual">
|
||||
<tr>
|
||||
<th></th>
|
||||
{{ range $days }}
|
||||
<th colspan="3" class="day-title">{{ . }}</th>
|
||||
{{ end }}
|
||||
<th></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
{{ range $days }}
|
||||
<th class="first-col-of-room">vorne</th>
|
||||
<th>mitte</th>
|
||||
<th>hinten</th>
|
||||
{{ end }}
|
||||
<th></th>
|
||||
</tr>
|
||||
{{ range seq $start $end }}
|
||||
{{ $hour := . }}
|
||||
{{ range seq 0 15 45 }}
|
||||
{{ $firstMin := "" }}
|
||||
{{ if eq . 0 }}
|
||||
{{ $firstMin = "first-min" }}
|
||||
{{ end }}
|
||||
<tr class="{{ $firstMin }}">
|
||||
{{ $time := printf "%2d:%02d" $hour . }}
|
||||
{{ if or (eq . 0) (eq . 30) }}
|
||||
<td rowspan="2" class="time">{{ $time }}</td>
|
||||
{{ end }}
|
||||
{{ range $days }}
|
||||
{{ $day := . }}
|
||||
{{ $firstRoom := true }}
|
||||
{{ range slice "vorne" "mitte" "hinten" }}
|
||||
{{ $room := . }}
|
||||
{{ $addClass := "" }}
|
||||
{{ if $firstRoom }}
|
||||
{{ $addClass = "first-col-of-room" }}
|
||||
{{ $firstRoom = false }}
|
||||
{{ end }}
|
||||
{{ with index (index (index $calendar .) $day) $time }}
|
||||
<td class="calendar-block {{ $addClass }}">
|
||||
<div class="calendar-block-entity height-{{ .slots }}">
|
||||
<div class="room-block room-{{ $room }}">
|
||||
{{ .title }}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
{{ else }}
|
||||
<td class="{{ $addClass }}"></td>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if or (eq . 0) (eq . 30) }}
|
||||
{{ $time := printf "%2d.%02d" $hour . }}
|
||||
<td rowspan="2" class="time">{{ $time }}</td>
|
||||
{{ end }}
|
||||
</tr>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</table>
|
Loading…
Reference in New Issue
Block a user