Zum Inhalt springen

Wikivoyage:Calendar

Aus Wikivoyage

Dieser Artikel enthält technische Hintergrundinformationen zum Modul Calendar. Es stellt Funktionen für die Einbettung von Monatskalendern im Text zur Verfügung.

Das Modul ersetzt die Erweiterung „Calendar-Wikivoyage“ und ist fast funktionsidentisch. Einzig der Wert user für den Parameter lang wurde nicht implementiert, da ein Lua-Modul keinen Zugriff auf die Spracheinstellung der Nutzer hat.

Benötigte Module

[Bearbeiten]
  • keine.

Verwendbarkeit

[Bearbeiten]
Unterstützte Skins
alle
Eignung für andere Wikis
geeignet, Übersetzung nötig.
Eignung für mobile Geräte
ja.

Aufruf

[Bearbeiten]

Das Modul wird von der Vorlage {{Kalender}} aufgerufen.

Funktionen

[Bearbeiten]

Die Verwendung des Moduls mit Beispielen kann man unter {{Kalender}} einsehen.

function cl.calendar( frame )
  • Vorgaben:
    • frame
      • tabelle: Parametertabelle, die vom #invoke-Aufruf übergeben wird.
  • Zurückgelieferter Wert:
    • string: Kalender-Tabelle in MediaWiki-Syntax.

Funktionen

[Bearbeiten]

Die Verwendung des Moduls mit Beispielen kann man unter {{Kalender}} einsehen.

Internationalisierung

[Bearbeiten]

Im Modul stehen die Variablen cl.i18n, cl.params, cl.align, cl.width, cl.lang und cl.notAllowedNamespaces für lokale Anpassungen zur Verfügung.

Technische Hintergrundinformationen

[Bearbeiten]

Hervorhebung des aktuellen Tags

[Bearbeiten]

Der Parameter showToday (zeigeHeute) legt fest, ob und in welcher Weise der aktuelle Tag hervorgehoben wird. Folgende Werte sind möglich:

  • |showToday=true – Das Skript nimmt die Hervorhebung selbst vor. Da die Seiten nicht täglich geparst werden, kann sich die Aktualisierung verzögern.
  • |showToday=javascript – Im Tabellentag table wird die Klasse voy-calendar-show-today eingefügt. Zudem enthält das Tag die Klasse voy-calendar-yyyy-m, aus der das Jahr und der Monat hervorgehen wie z.B. voy-calendar-2025-6. Alle Zellen mit den Tagesangaben enthalten eine Klasse in der Form voy-calendar-d wie z.B. voy-calendar-23. Mit Hilfe eines Javascript-Skripts lässt sich die Klasse voy-calendar-today einfügen, die die Hervorhebung des aktuellen Tags bewirkt.
  • |showToday=false – Der aktuelle Tag wird nicht hervorgehoben.

Wartungskategorien

[Bearbeiten]

Anpassungen

[Bearbeiten]

Möglicherweise noch verwendete Aufrufe {{#Calendar...}} sollten durch die Vorlage {{Kalender}} ersetzt werden. Die Namen der Attribute sind gleichlautend.

Stilvorlagen

[Bearbeiten]

JavaScript

[Bearbeiten]

Erzeugter HTML-Code

[Bearbeiten]
<table class="voy-calendar voy-calendar-2025-12 voy-calendar-default-width voy-calendar-right voy-calendar-show-today">
  <tbody>
    <tr class="voy-calendar-title-row">
      <td class="voy-calendar-prev-link"> -previous link- </td>
      <th class="voy-calendar-title" colspan="5"> -titel- </th>
      <td class="voy-calendar-next-link"> -next link- </td>
    </tr>
    <tr class="voy-calendar-weekdays">
      <th class="voy-calendar-mondays">Mo</th><th class="voy-calendar-sundays">So</th>
    </tr>
    <tr class="voy-calendar-row voy-calendar-row-0">
      <td></td> <!-- no day is shown -->
      <td class="voy-calendar-mondays voy-calendar-1">1</td>
      <td class="voy-calendar-tuesdays voy-calendar-2 voy-calendar-highlighted">2</td>
      <td class="voy-calendar-wednesdays voy-calendar-3 voy-calendar-today">3</td></tr>
    <tr class="voy-calendar-row voy-calendar-row-1"></tr><tr class="voy-calendar-row voy-calendar-row-5"></tr>
  </tbody>
</table>

Klassenbezeichner

[Bearbeiten]
  • voy-calendar – Bezeichner für die gesamte Kalendertabelle,
    • voy-calendar-yyyy-mm – Bezeichnung für (aktuelles) Jahr und Monat. Die Monatsangabe ist einstelling für die Monate Januar bis September,
    • voy-calendar-default-width – Kennzeichnung, ob die Standardbreite eingesetzt wird,
    • voy-calendar-center – Kalendertabelle befindet sich in der Mitte,
    • voy-calendar-left – Kalendertabelle befindet sich links,
    • voy-calendar-right – Kalendertabelle befindet sich rechts,
    • voy-calendar-show-today – ein JavaScript soll den aktuellen Tag durch Eintrag eines Klassenbezeichners hervorheben,
  • voy-calendar-title-row – Bezeichner für die gesamte Titelzeile,
    • voy-calendar-prev-link – Bezeichner für den „Vorher“-Link,
    • voy-calendar-title – Bezeichner für den Titel,
    • voy-calendar-next-link – Bezeichner für den „Nachfolger“-Link,
  • voy-calendar-weekdays – Bezeichner für die Zeile mit den Tagesangaben
    • voy-calendar-mondays – Wochentagsbezeichner für montags (auch bei den Tagen im Monat),
    • voy-calendar-tuesdays – Wochentagsbezeichner für dienstags,
    • voy-calendar-wednesdays – Wochentagsbezeichner für mittwochs,
    • voy-calendar-thursdays – Wochentagsbezeichner für donnerstags,
    • voy-calendar-fridays – Wochentagsbezeichner für freitags,
    • voy-calendar-saturdays – Wochentagsbezeichner für samstags,
    • voy-calendar-sundays – Wochentagsbezeichner für sonntags,
  • voy-calendar-row – Bezeichner für Zeilen mit den Tagesangaben,
    • voy-calendar-row-0 – Bezeichner für die 0. Zeile mit den Tagesangaben,
    • voy-calendar-row-1 – Bezeichner für die 1. Zeile mit den Tagesangaben,
    • voy-calendar-row-2 – Bezeichner für die 2. Zeile mit den Tagesangaben,
    • voy-calendar-row-3 – Bezeichner für die 3. Zeile mit den Tagesangaben,
    • voy-calendar-row-4 – Bezeichner für die 4. Zeile mit den Tagesangaben,
    • voy-calendar-row-5 – Bezeichner für die 5. Zeile mit den Tagesangaben.
  • einzelne Tage, zusammen mit Wochentagsangabe (siehe oben)
    • voy-calendar-1 – Bezeichner für den 1. Tag eines Monats,
    • voy-calendar-31 – Bezeichner für den 31. Tag eines Monats,
    • voy-calendar-general-day-links – Bezeichner für eine mit einem Link versehene Tagesangabe,
    • voy-calendar-highlighted – Bezeichner für eine hervorgehobene Tagesangabe,
    • voy-calendar-today – Bezeichner für den heutigen Tag.

Platzhalter (z.B. für Links)

[Bearbeiten]
  • $a – abgekürzter Wochentagsname,
  • $A – ausgeschriebener Wochentagsname,
  • $b – abgekürzter Monatsname,
  • $B – ausgeschriebener Monatsname,
  • $d – Tag im Monat, Bereich 01 bis 31,
  • $D – Tag im Monat, Bereich 1 bis 31,
  • $e – Tag im Monat, Bereich ' 1' bis '31',
  • $m – Monat als Dezimalzahl, Bereich 01 bis 12,
  • $M – nächster Monat als Dezimalzahl, Bereich 01 bis 12,
  • $n – abgekürzter Monatsname des nächsten Monats,
  • $N – ausgeschriebener Monatsname des nächsten Monats,
  • $o – Jahr des nächsten Monats als Dezimalzahl ohne Jahrhundertangabe, Bereich 00 bis 99,
  • $O – Jahr des nächsten Monats als Dezimalzahl mit Jahrhundertangabe,
  • $p – abgekürzter Monatsname des vorherigen Monats,
  • $P – ausgeschriebener Monatsname des vorherigen Monats,
  • $q – Jahr des vorherigen Monats als Dezimalzahl ohne Jahrhundertangabe, Bereich 00 bis 99,
  • $Q – Jahr des vorherigen Monats als Dezimalzahl mit Jahrhundertangabe,
  • $R – vorheriger Monat als Dezimalzahl, Bereich 01 bis 12,
  • $y – Jahr als Dezimalzahl ohne Jahrhundertangabe, Bereich 00 bis 99,
  • $Y – Jahr als Dezimalzahl mit Jahrhundertangabe,
  • $% – Dollar-Zeichen (falls nötig).

Weitere Beispiele

[Bearbeiten]