Gumulka

ein blog

Jan 19, 2020

Erste Erweiterung für FreshRSS

RSS Feed sind Sammlungen von Artikeln, welche man mit einem entsprechenden Program abrufen kann.

Es gab vor einigen Jahren mal Google News, welches das gemacht hat und ich viel genutzt habe. Allerdings hat google es geschlossen und ich bin zu Feedly gewechselt. Dort hat mich nach einiger Zeit die ständige Werbung genervt und ich wollte mehr Hoheit über meine Daten haben, also habe ich irgendwann auf einem meiner Server FreshRSS installiert und bin ganz glücklich damit.

Ich kann dort meine ganzen Feeds aggregiert lesen und alles ist gut. Bis heise vor einiger Zeit dann angefangen hat ihr Heise+ Abbonement pushen zu wollen und ich jetzt ständig Teaser für teilweise interessante Artikel in meiner Inbox habe, welche ich aber nicht lesen kann, da ich kein Heise+ Abbonement habe.

Es ergibt keinen Sinn für mich, die CT und iX haben wir auf Arbeit, die TR leiste ich mir privat, nur Heise+ ist mir die Kosten nicht Wert.

Bis jetzt habe ich aber keinen Weg gehabt Artikel einfach herauszufiltern aus meinen Listen. Klar, ich kann den Heise Feed komplett abbestellen, aber das will ich ja auch nicht, sondern nur die nicht möglichen Artikel nicht sehen.

Also habe ich angefangen mich mit den Erweiterungen von FreshRSS zu beschäftigen. Die offizielle Dokumentationswebseite ist eine Github-Page, die leider nicht sonderlich hilfreich war. Aber da es eine Github Page ist, und ich gesehen habe, dass der Link mit "01" beginnt habe ich das Repository durchsucht und die richtige Seite gefunden.

Die Dilbert Erweiterung war ein sehr guter Punkt zum starten und es generell zu verstehen. Es hat mir sehr bei der ersten Version geholfen, das Artikel als gelesen markiert, welche "heise+" im Titel haben.

Mit Hilfe der CustomJS Erweiterung habe ich verstehen können, wie die Konfiguration von Extensions funktioniert und habe dieses verwenden können um die Blacklist jetzt individuell gestalten zu können.

Mein Finaler Code ist für jeden verfügbar auf Github unter https://github.com/gumulka/freshrss-blacklist zu finden.

Ich hoffe es findet auch noch jemand anders nützlich.

Dec 18, 2019

Help Target im Makefile

Ich habe vor einiger Zeit angefangen Makefiles wieder verstärkt zu benutzen und lerne dabei ein paar Sachen. Man schreibt diese ja immer erst mal für sich selbst, aber teilweise auch im Team.

Gerade sitze ich an einem Projekt, wo genau das nötig ist und bin über einen Blogeintrag gestoßen, den ich äußerst hilfreich fand, aber der ein paar kleine Verbesserungen benötigt.

Sie schlagen dort vor ein Target help zu definieren:

.PHONY: help

help:
    @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

Das Ganze hat für mich nur ein paar Nachteile. Die Variable MAKEFILE_LIST enhält eine Liste von allen Makefiles und grep gibt den Dateinamen aus, wenn mehrere Dateien übergeben werden. Es fehlt hier also der -h Parameter.

Auch fände ich es schön, wenn help an sich schon dokumentiert wäre.

Und wenn es das bevorzugte Target ist, egal wo es steht, da ich das "sort" doch häufiger weg lasse.

Des weiteren arbeite ich mit Dateien, welche "." und Zahlen im Dateinamen haben können.

Meine help Target sieht also folgendermaßen aus:

# Make the Makefile self-documenting with this targets.
# Targets having a comment with double # are printed out.
.PHONY: help
help: ## Print this help message
    @grep -h -E '^[0-9a-zA-Z._-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
# Make this the default target
.DEFAULT_GOAL := help

Wenn mein Team jetzt also jetzt make ohne Parameter aufruft bekommt es eine nützliche Nachricht mit allen Parametern, welche dokumentiert sind. Und Dokumentieren tut man ja bekanntlich alles. ;-)