Alle GitHub Repositories auf einen Blick

maze2
Da ich schon laaaaaaaange den Überblick über all meine GitHub Repositories verloren habe und regelmäßig denke „Da habe ich doch noch etwas passendes bei GitHub liegen. Aber wie finde ich das?“ habe ich mich entschlossen, alle GitHub Repositories mal zu scannen und den Name, die Description und den Inhalt der Readme Datei aller Repositories in einer HTML Datei zusammen zu fassen. Ob mir das in Zukunft hilft weiß ich noch nicht genau, aber das wird sich dann ja zeigen.
Die existieren Liste aller Repositories, die man unter https://github.com/settings/repositories findet hat mir jedenfalls nur in den wenigsten Fällen weitergeholfen.

Wenn dir Lösung gefällt und du eine ähnlich Liste deiner GitHub Repositories erstellen möchtest, kann ich Dich auf mein GitHub Repository github-export-readme verweisen. Hier findest Du die Sourcen für das Skript mit dem ich die 3,5MB große HTML Datei erstellt habe.

Das Skript ist nicht sehr schnell. Ich habe es einmal künstlich verlangsamt, um den GitHub Server nicht unnötig zu belasten und dann verwende ich auch eine eher langsame JSON Engine zum parsen der Daten, die mir die GitHub API liefert. Besonders bei Usern mit sehr vielen Repositories kann es schon mal ein paar Stunden dauern, bis die HTML Datei erzeugt ist.

Hinweis: Das Skript kann für belibige GitHub Logins verwendet werden. Gibt man einen anderen GitHub Account an, werden alle public Repositories des Accounts zusammengefasst. Für den eigenen Account werden dann auch die privaten Repositories berücksichtigt. Das Skript kann zwar auch ohne Authentifizierung genutzt werden, aber die Anzahl der Requests ist von GitHub auf max. 50 limitert. Erst wenn man sich am API Server anmeldet, darf man bis zu 5000 Requests pro Stunde machen. Das sollte in den meisten Fällen ausreichend sein. Dafür muss man sich aber eine Access-Token erstellen. Hat man dieses Token erstellt, kann man es einfach in der Klasse de.jentsch.github.GithubAPI eintragen und schon geht der Spaß los.

Unter https://help.github.com/articles/creating-an-access-token-for-command-line-use/ kann man nachlesen, wie man sich auf die Schnelle mal ein GitHub API Access Token erstellen kann.

Der erzeugte HTML Code hat noch keinen HTML Header. Es handelt sich um den reinen Content. Um die Datei im Browser ordentlich darstellen zu können, muss noch der Header und ein Footer ergänzet werden. Im einfachsten Fall sehen die z.B. so aus.