Erläuterungen
Alle berechneten Daten für jeweils ein Kalenderjahr (passend zur ganz o.a. Datumsangabe) lassen sich exportieren / downloaden und in anderen Anwendungen (weiter-)verwenden /
re- importieren - passend zur gewünschten Anwendung / Client (also z.B. zum Import in eigene Datenbanken, Wikis oder "kalenderfähige" PIM's wie z.B. Outlook oder Thunderbird-Lightning).
Für alle Ausgabearten - wenn man auf korrekte Kennzeichnung der Arbeitsfreiheit Wert legt - gilt die "Definition von regionalen (nicht bundesweit einheitlichen) Feiertagen" - hier kann man regionale Unterschiede kennzeichnen...
Es stehen folgende verschiedene
Ausgabearten zur Verfügung:
- für Datenbanken oder Excel als CSV-Datei:
"Jahrestabelle" erzeugt eine sequentielle CSV-Datei (je Tag ein Datensatz) mit allen relevanten Werten (Datum, jul. Tageszahl, Kalenderwoche, lfd. Tag im Jahr, Sonnenauf- und Untergangszeiten, alle Dämmerungszeiten, Zeiten für blaue und goldene Stunde, Mondphasendaten, Mondauf- und -untergang, Feiertagskennzeichnungen).
- für Outlook oder andere kalenderfähige PIM's als *.ics-Datei im iCalendar-Format
"iCalendar" liefert die Daten im iCalendar-Format. Für den Import in Outlook (Datei->importieren->ics...) oder Thunderbird-Lightning zu nutzen.
- Termine generieren: Man erhält je nach Auswahl in der Ausgabedatei einen Termin: - je Kalendertag - je Mondphase (Vollmond/Neumond) - je Feiertag
- Kategorie iCalendar: Jeder Termin der durch dieses Script erzeugt wird erhält diese spezielle Kategorie/Kennung
- Kategorie iCalendar Feiertage: Jeder Termin mit einem "Feiertagstext" erhält diese spezielle Kategorie/Kennung
- Kategorie iCalendar arbeitsfrei: Jeder Termin (i.d.R. Untermenge der Feiertage) der als arbeitsfrei deklariert ist erhält diese spezielle Kategorie/Kennung
- Kategorie iCalendar Mondphase: Jeder Termin für den Vollmond oder Neumond berechnet wurde erhält diese spezielle Kategorie/Kennung
- Terminklasse: Deklaration aller Termine als "privat" oder "public". Als "Privat" gekennzeichnete Termine zeigt z.B. Outlook selbst bei einem eigentlich für Andere freigegebenem Kalender nicht im Klartext an
Alle relevanten Daten (Sonnenaufgang- und Untergangszeiten, Dämmerungszeiten, Mondphasenbesonderheiten, jul. Tageszahl usw.) finden sich dann in den Details (DESCRIPTION) des jeweiligen Termins wieder. Im Subject (SUMMARY, wird von Outlook z.B. in Übersichten angezeigt) wird je nach Auswahl für "Termine generieren" unterschiedlicher Inhalt veröffentlicht (Kalenderwoche und lfd. Tag im Jahr sowie Mondphase bei einem Termin je Tag, nur die Mondphase bzw. Text für den Feiertag bei entsprechender Auswahl). Desweiteren wird bei Auswahl von "Feiertage" oder "Mondphasen" ein Ganztagstermin generiert, sonst ein Tagestermin mit Beginn-/Ende-Definitionen (DTSTART/DTEND). Man kann dieses Script also z.B. einfach auch nur dazu nutzen, sich die jährlichen Feiertage für den PIM für beliebige Jahre generieren zu lassen - ersetzt dann vollständig die entsprechende Funktion beispielsweise im Outlook (Feiertagsregelungen analog OUTLOOK.TXT bzw. OUTLOOK.HOL) - bekommt hier aber noch eine Kennzeichnung, ob der Tag ein Arbeitstag ist oder nicht (Kategorie arbeitsfrei!). Generiert/importiert man aber sowieso Termine für jeden Tag sind die zusätzlichen Ausgabeoptionen (Feiertag/Mondphase) eigentlich verzichtbar. Man kann+sollte in den Einstellungen der Kategorien im PIM noch entsprechende Kennzeichnungen vornehmen bzw. die Kategorien anlegen (z.B. andere Farbgebung solcher Termine erreicht man damit).
- für einfache Jahresübersichten in einem Mediawiki
"MediaWikiAgenda" liefert ein Kalendarium in Mediawiki-Syntax zum einfügen in eine Seite für das gewählte Jahr - in Form gängiger Monatsübersichten - ebenfalls mit (fast) allen relevanten Daten Kalenderwoche, lfd. Tag, Wochentag, Kennzeichnung arbeitsfrei/Wochenende durch andere Farbe, Mondphase, Sonnenauf- und Untergangszeiten, Feiertagskennzeichnung. In einfachen Anwendungsfällen eine einfache+schnelle Alternative zur Installation einer entsprechenden Mediawiki-Erweiterung
- für einfache Jahresübersichten in einem TiddlyWiki
"TiddlyWikiAgenda" macht dasselbe - in der speziellen Syntax für Tiddlywiki...
- für Verwendung auf Geräten mit kleinem Display (z.B. E-Reader, Tablets, Smartphones) oder ohne direkten Internetzugang als HTML-Kalender, d.h. Ausgabe laesst sich ab ca. 600 Pixel Breite sinnvoll darstellen - Kalenderjahr in HTML in Form von Monatskalendern - ggf. einfach als HTML abspeichern und mitnehmen...
direkter Aufruf z.B. https://galupki.de/kalender/sunmoon.php?jahrestabelle=HTML600&jahr=2019#12 (alle weiteren Formular-Parameter können ebenfalls mitgegeben werden).
Mobilphones, Smartphones, Tablets, E-Reader, Individueller Aufruf mit anderer Position oder GPS-/WLAN-Positionsbestimmung entsprechend ausgestatteter Clients
Grundsätzlich stehen dafür spezielle Aufrufe über ein alternatives Script zur Verfügung:
- https://galupki.de/kalender/mobil.php
(als Parameter können jahr, monat, tag, ort, lat und lon mitgegeben werden, ausserdem gibts den speziellen Parameter "mobil")
- normalerweise (ohne Angabe) wird einfach ein komprimierter Monatskalender ausgegeben
- Jahr, Monat und Tag werden aufgrund des aktuellen Datums passend gesetzt, wenn man sie nicht vorgibt
- lat und lon (geo. Breite und Länge) können vorgegeben - oder über den Ort ermittelt werden.
- Ort
- Kann einfach als Zeichenkette vorgegeben werden.
- Für die aktuelle Position kann "geolocation" verwendet werden, falls der Browser eine Lokationsbestimmung vornehmen kann (fragt den User um Erlaubnis), wird diese ermittelt und verwendet.
Der Chrome-Browser setzt mittlerweile SSL-Verschlüsselung für Lokationsabfragen voraus, daher muss man dann einen SSL-Proxy für galupki.de verwenden, dann folgender Aufruf:
https://galupki.de/kalender/mobil.php?mobil=datum&ort=geolocation
- Viele Orte in Deutschland habe ich in einer eigenen Datenbank, hierzu einfach den Ortsnamen übergeben...
- mobil wird zur Adressierung der gewünschten Subfunktion genutzt.
- mobil=sunmoon zeigt genau diese Gesamtsicht (die für mobile Geräte - ausser Tablets - wahrscheinlich weniger geeignet ist)
- mobil=datum zeigt nur die Details zu einem Tag an
- mobil=geo zeigt eine google maps Karte der Ortsumgebung an (mit den üblichen Möglichkeiten)
Beispiele:
https://galupki.de/kalender/mobil.php?mobil=sunmoon&ort=geolocation (aktuelle Position via Browser/Client, aber diese(lbe) Ansicht)
https://galupki.de/kalender/mobil.php?ort=bonn (Positionsbestimmung via Ortsnamen)
https://galupki.de/kalender/mobil.php?ort=geolocation (aktuelle Position via Browser/Client)
https://galupki.de/kalender/mobil.php?mobil=datum&ort=Sankt%20Augustin&lon=7.183&lat=50.767 (Tagesdaten für Sankt Augustin)
https://galupki.de/kalender/mobil.php?mobil=datum&ort=geolocation (Tagesdaten aktuelle Position)
https://galupki.de/kalender/mobil.php?mobil=geo&ort=geolocation (Google Maps Karte aktuelle Position)
...
Diese "mobilfähige Variante" dieses Scripts hat in etwa folgenden Funktionsumfang:
- Monatskalender (mit entsprechender Navigation +/- 1 Monat, +/- 1 Jahr)
- Detaildaten bzgl. des aktuellen (eines beliebigen) Tages
- Statistische Daten zum Kalenderjahr (z.B. Anzahl Tage je Wochentag, Anzahl Feiertage, Liste Feiertage)
- Google-Maps-Karte
Auf Tablets kann man i.d.R. auch dieses Script verwenden...