Um in den heutigen Zeiten nicht verrückt zu werden, habe ich meinen Newskonsum etwas eingeschränkt. Ich möchte nicht auf alle Nachrichten verzichten, aber gern auf die tägliche Sau, die durchs Dorf getrieben wird. Wirklich Wichtiges bekomme ich über Blogs, Mastodon, Podcasts oder andere, (un)soziale, Netzwerke mit.
Ich lese seit einiger Zeit Nachrichten über eine eigene Newsseite:
Diese Seite filtert alles heraus, was mich nicht interessiert oder mich aufregen würde. Über die farbigen Balken vor jeder Zeile sehe ich, von welcher Quelle die Nachricht stammt. Weil nichts so uninteressant wie die News von gestern ist, habe ich den angezeigten Zeitraum auf etwa 24 h beschränkt. Was älter ist, rutscht unten raus und ist weg.
Wie funktioniert das?
Auf meinem Webspace läuft eine FreshRSS-Instanz, die meine RSS-Feeds verwaltet. Mit meinem Hauptaccount dort lese ich Blogs und Zeugs über externe RSS-Reader auf dem Rechner und mobilen Geräten. Nachrichten lese ich dort nicht.
Für diese habe ich einen zweiten FreshRSS-Account angelegt. Darin sind eine Handvoll Nachrichtenseiten hinterlegt. Alles, was mich nicht interessiert, kann FreshRSS ausfiltern. Diese Filter können pro Feed oder pro Kategorie angelegt werden. In meinem Fall sieht das in etwa so aus:
Wird in einem neuen Eintrag eins der Stichworte gefunden, dann wird der Artikel auf »gelesen« gesetzt. Das ist eine große Hilfe und ein Grund, warum ich FreshRSS einsetze.
Ein anderer ist, dass FreshRSS in der Lage ist, die Artikel aller abonnierten Feeds als Einzelfeed auszugeben. Diese lese ich in ein PHP-Script ein, das daraus obige Newsseite bastelt.
Wer möchte, kann dieses Script hier herunterladen und es benutzen. Ich hatte das Script erst auf meinem Webspace laufen, aber seit einiger Zeit nutze ich es auf einem Server in meinem Netzwerk. Den erreiche ich auch von unterwegs über mein VPN.
Damit die Newsseite funktioniert, sind ein paar Dinge zu beachten.
RSS-Feed eintragen
Das Script befindet sich in der index.php. In Zeile 4 wird der RSS-Feed aus FreshRSS eingetragen. Der kann in FreshRSS über »Konfiguration > Benutzerabfragen« und dem Klick auf das kleine Zahnradsymbol abgerufen werden. Dies ist der passende Link:
Ausgabe cachen
Das Script erzeugt eine HMTL, Datei, in der die Schlagzeilen geschrieben werden. Das hatte ich gemacht, damit der Server durch häufiges Neuladen und der daraus resultierenden Abfrage des Feeds nicht so sehr belastet wird. Da FreshRSS nur alle 20 min die Feeds aktualisiert, habe ich die Zeit, wie oft die HTML-Datei aktualisiert wird, auf 15 min festgelegt. Diese Zeit lässt sich in Zeile 10 ändern. Außerdem habe ich in Zeile 13 die Ausgabe der Schlagzeilen auf 100 beschränkt.
Farben der Quellen festlegen
Die Farben der Quellen werden in der Datei »styles/sites.css« definiert. Pro Quelle gibt es einen Eintrag, der in den URLs nach einem Muster sucht.
6. Februar 2025 um 17:19 Uhr
Coole Idee. Ich werd‘ mir das auch mal anschauen. Grüße.