Modul:NewsFeed/Doku
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
ratiogesteuert.
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.