Zum Inhalt springen

Modul:NewsFeed/Doku

Aus Wikonia

Dies ist die Dokumentationsseite für Modul:NewsFeed



Zweck[Quelltext bearbeiten]

Das Modul NewsFeed generiert einen dynamischen, JSON-basierten Nachrichtenblock für Wikonia. Es dient zur Anzeige von Artikel-News, internen Mitteilungen und Funfacts – vollständig ohne manuelle Pflege auf der Hauptseite.

Funktionsweise[Quelltext bearbeiten]

Das Modul liest drei JSON-Dateien aus:

Jede Datei enthält eine Liste von Einträgen mit Metadaten (Datum, Priorität, Turnus etc.). Aus diesen Daten erzeugt das Modul eine sortierte, ratio-basierte Auswahl für die Anzeige.

Datenfelder[Quelltext bearbeiten]

Feld Typ Beschreibung
title Text / Wikitext Titel oder Haupttext (Wikitext erlaubt, z. B. Artikel)
text Text (optional) Kurzbeschreibung oder Unterzeile
from Datum (YYYY-MM-DD) Startdatum des Zeitraums
to Datum (YYYY-MM-DD) Enddatum des Zeitraums
priority Zahl Gewichtung (höhere Werte werden bevorzugt)
persistent Bool Bleibt sichtbar, auch wenn abgelaufen
turnus Text/Zahl Wiederkehrintervall („day“, „week“, „month“, „year“ oder Zahl in Tagen)
highlight Bool Markiert wichtige Einträge (CSS-Klasse .highlight)

Anzeigeverhalten[Quelltext bearbeiten]

  • Artikel- und Intern-News benötigen ein gültiges Datum oder Turnus/Persistent.
  • Funfacts ohne Datum gelten automatisch als aktiv und werden zufällig gemischt.
  • Alte oder abgelaufene News werden ausgeblendet, sofern nicht persistent.
  • Verhältnis der angezeigten Mengen wird über den Parameter ratio gesteuert.

Aufruf[Quelltext bearbeiten]

{{#invoke:NewsFeed|render|total=11|ratio=5:3:3}}

Parameter[Quelltext bearbeiten]

Parameter Beschreibung Standard
total Gesamtzahl der Einträge 10
ratio Verhältnis Artikel:Intern:Funfacts 5:3:3

Beispiel-JSON[Quelltext bearbeiten]

[
  {
    "title": "Heute erscheint das neue [[Pixel 10]]",
    "text": "KI-Chip, neue Kamera, stärkerer Fokus auf Nachhaltigkeit.",
    "from": "2025-11-01",
    "to": "2025-11-15",
    "priority": 2,
    "persistent": false,
    "turnus": "year",
    "highlight": true
  }
]

Ausgabe[Quelltext bearbeiten]

Erzeugt eine HTML-Liste:

<ul class="newslist">
  <li><b>1.–15. November 2025:</b> Heute erscheint das neue <a href="/wiki/Pixel_10">Pixel 10</a> – KI-Chip, neue Kamera …</li>
</ul>

Hinweise[Quelltext bearbeiten]

  • Das Modul nutzt serverseitige Zeitzone aus $wgLocaltimezone.
  • Alle JSON-Dateien liegen im Modul:-Namensraum, um sie vor normaler Bearbeitung zu schützen.
  • Fehlerhafte JSON-Syntax führt zu einem klaren Lua-Fehler, der in der Ausgabe angezeigt wird.