Nerdkrams
Schöner lesezeichnen mit Buku

Das nahende Ende von Firefox als benutzbarer Browser lässt mich nicht nur nach einem neuen Standardbrowser, sondern auch nach neuen Lösungen für bisher für gelöst gehaltene Probleme suchen. Während sich ersteres noch über ein paar Monate erstrecken dürfte, nachdem ich erst gestern feststellen musste, dass selbst der ansonsten nicht schlechte Browser Vivaldi gelegentlich nur mit einem neuen Profil zur Mitarbeit bereit ist, passiert zweiteres in kleinen Schritten.

Heute ersetze ich zum Beispiel Xmarks.

Xmarks, früher einmal als Foxmarks bekannt, inzwischen aber nicht mehr nur für Firefox verfügbar, ist eine Browsererweiterung, die die Lesezeichenleiste im Browser schon mit der cloud (Bingo!) synchronisierte, als diese noch gar nicht cloud, sondern einfach nur Server hieß. Mittlerweile gehört Xmarks zu LastPass, einem kleinen Unternehmen aus den USA, das Passwörter ebenfalls in der cloud speichert und in letzter Zeit gern mal durch mangelnde Sicherheitsmaßnahmen auffiel. Ein prima Anlass, über einen Wechsel nachzudenken.

Nun ist Xmarks offenbar bis heute die einzige Anwendung ihrer Art, die die Lesezeichenleisten mehrerer Browser in alle Richtungen miteinander synchronisieren kann. Ein Umstieg auf Firefox Sync oder die entsprechenden Dienste von Google, Opera oder (demnächst) Vivaldi würde zu einer Art Einschluss führen, ich würde mich selbst also auf diesen einen Browser beschränken. Selbst das von den Medien unnötig gelobte, weil konzeptionell nicht besonders sichere ownCloud und dessen Fork nextCloud besitzen gegenwärtig nur eine Firefox-Erweiterung, die einen einzigen Lesezeichenordner synchronisiert und den Rest vollkommen ignoriert. Das ist ein bisschen schade, denn ich mache von zwei Funktionen meiner normalen Browserlesezeichen regelmäßig regen Gebrauch; eigentlich sind beide Funktionen Teilaspekte einer einzigen Funktion, nämlich der Ordnerverwaltung.

Ich habe einen Lesezeichenordner mit Tabs, die ich gern jeden Tag wenigstens einmal öffnen möchte, weil sie nicht ganz problemlos in einen RSS-Feed umgewandelt werden können und ich trotzdem nichts verpassen möchte. Hierfür kann ich zum Beispiel in Firefox „Alle in Tabs öffnen“ auswählen und dann macht er das auch. Außerdem habe ich während der letzten Jahre derart viele Lesezeichen angehäuft, dass ich längst Unterordner benötige, um sie wenigstens noch leidlich übersichtlich zu strukturieren. Nach der Evaluation einiger selbst- wie fremdgehosteter Optionen kamen drei Anwendungen in die engere Auswahl:

Papaly und Raindrop sind optisch und funktional ganz gute Webdienste, wobei insbesondere Papaly offensichtlich ein vollständig kostenloses Angebot ist, zumindest wurde mir das suggeriert. Beide Dienste sind in der Lage, meine Firefox-Lesezeichen weitgehend problemlos zu importieren (im Falle von Papaly sogar direkt über die Browsererweiterung ohne gesonderten Export), jedoch fehlt Raindrop eine Möglichkeit zum Öffnen aller Lesezeichen eines Ordners, Papaly hingegen kann das zwar, beherrscht aber nur zwei Ordnerebenen und ist damit auch kein wirklich tauglicher Ersatz.

Da ich aber gerade wieder einmal dabei bin, von mir genutzte Software durch schlankere Alternativen zu ersetzen, bot sich als weitere Anwendung Buku an. Letztendlich sind Lesezeichen im Webbrowser ja nur grafisch aufbereitete Texte. Was spricht also dagegen, sie auch auf Text-, nämlich Kommandozeilenebene zu verwalten? Eben: Nicht viel.

Buku besteht im Kern bedauerlicherweise aus einem Pythonscript. Zur Installation wird also wahlweise ein Betriebssystem mit gut sortierter Paketverwaltung oder zumindest Python 3 benötigt:

pip install install urllib3 cryptography beautifulsoup4 requests buku

Damit ist Buku eigentlich fertig. Beim ersten Aufruf wird eine SQLite-Datenbank namens bookmarks.db irgendwo im Benutzerverzeichnis (in der Regel in einem Unterverzeichnis namens „buku“) oder, falls das nicht geklappt hat, im aktuellen Ordner angelegt, die aus nur einer Tabelle besteht und alle notwendigen Daten für die Lesezeichen enthält:

Buku ermoglicht eine optionale Ver- und Entschlüsselung dieser Datenbank über die Parameter --lock und --unlock. Eine händische Übergabe des Datenbankpfades ist zurzeit nicht möglich, kann jedoch zum Beispiel mit dem Setzen von Hardlinks gelöst werden.

Die Verwaltung von Lesezeichen ist einfach: Entweder können sie aus bestehenden Lesezeichensammlungen, wie sie die meisten Browser heutzutage exportieren können, importiert werden (buku --import pfad/zur/bookmarks.html) oder es kann mit einer leeren Datenbank begonnen werden. Beim Importieren werden zwar Ordnerstrukturen als flache Etiketten abgebildet, aber bei Buku ist das wegen hervorragender Filtermöglichkeiten nicht so schlimm. Sofern in der Lesezeichensammlung bereits Etiketten („Tags“) gesetzt waren, bleiben diese bestehen. Das händische Hinzufügen und Entfernen von Lesezeichen ist mit buku -a und buku -d oder buku --add und --delete auch recht intuitiv, wobei sogar der Titel der Website automatisch ausgelesen wird:

(Ich arbeite hier mit einer lokalen git-Version von Buku; statt python .\buku.py genügt normalerweise der Befehl buku.)

Für Tags – irgendwie müssen die Lesezeichen ja geordnet werden – und sonstige Änderungen lässt sich entweder direkt beim Hinzufügen eine Liste anfügen oder es wird der Umweg über -u/--update beschritten:

Künftig ist das Lesezeichen auch per Tag „web“ (es wird mit Kleinbuchstaben gearbeitet) zu finden.

Selbstverständlich lassen sich die Lesezeichen auch im Browser aufrufen (buku -o [Index] oder, um mehrere Lesezeichen gleichzeitig zu öffnen, buku --oa [Suchbegriff]). Buku versucht – sofern die Umgebungsvariable BROWSER (unter unixoiden Systemen zum Beispiel mit export BROWSER=firefox, unter Windows per set BROWSER=C:\Programme\Firefox\Firefox.exe) nicht anderweitig gesetzt wurde – den Standardbrowser des Systems aufzurufen.

Angenommen, ich hätte SPIEGEL ONLINE, YouPorn und ZEIT ONLINE unter „Morning Coffee“ kategorisiert (so heißt eine uralte Firefox-Erweiterung, die ich für so etwas benutzt hatte, bevor ich auf Lesezeichenordner umgestiegen bin) und würde diese gern im Browser öffnen:

> buku --oa "morning coffee"

qutebrowser

Na bitte.

Unter Windows – das nicht forken kann – muss der Webbrowser allerdings bereits laufen, damit das Öffnen mehrerer Tabs funktioniert, aber das ist bei der Zielgruppe dieser Anwendung vermutlich sowieso der Normalfall.

Man könnte sich das Leben vermutlich auch etwas leichter machen, indem man die Firefox- und Chrome-Erweiterung „bukubrow“ installiert, die irgendwie auf das laufende buku zugreifen kann, allerdings geht die Binärkomponente derzeit von GNU/Linux als Zielsystem aus, weshalb ich auf einen Test dieser Erweiterung vorerst verzichtet habe. Überhaupt ist der Quellcode von Buku – Buku gibt sich standardmäßig Websites gegenüber als Ubuntu Linux aus – ein weiterer Beleg dafür, dass sogar noch weniger Leute wirklich Linux nutzen als es die einschlägigen Statistiken suggerieren.

Gibt es trotzdem irgendetwas zu meckern? Klar: Es gibt keine mobile Anwendung oder wenigstens Weboberfläche für Buku, so weit ich das bislang ermitteln konnte. Das ist allerdings verschmerzlich, denn auch bisher griff ich für das Erfassen und Verwalten mobiler Lesezeichen auf das hervorragende Pocket zurück. Die Weboberfläche von Xmarks ist von überschaubarer Bedienbarkeit.

Davon abgesehen: Ein wirklich schönes Spielzeug, dieses Buku. :)

(Offenlegung: Ich habe während der letzten Tage die Windowsunterstützung von Buku zu verbessern geholfen und bin daher am aktuellen Zustand der Software nicht völlig unschuldig.)


Nachtrag vom 6. April 2017: Inzwischen kann Buku auch die Ordnerstruktur aus Firefox-Lesezeichen als Tags importieren.

Senfecke

Bisher gibt es 2 Senfe:

  1. Ich kann pinboard.in absolut empfehlen. Das wurde als kostenpflichtiger Delicious-Ersatz entwickelt (damit man auch wirklich Kunde ist). Gibt etliche Clients und Extensions für alle möglichen Browser und zusätzlich zu den Delicious-Features noch ein bisschen mehr (z.B. Linkstatistiken, dead links, cache von alles gespeicherten Seiten, usw.). Wärmstens.

Senf dazugeben:

:) 
:D 
:( 
:o 
8O 
:? 
8) 
:lol: 
:x 
:aufsmaul: 
:P 
:ups: 
:cry: 
:evil: 
:twisted: 
mehr...
 

Erlaubte Tags:
<strong> <em> <pre class="" title="" data-url=""> <code class="" title="" data-url=""> <a href="" title=""> <img src="" title="" alt=""> <blockquote> <q> <b> <i> <del> <span style="" class="" title="" data-url=""> <strike>

Datenschutzhinweis: Ihre IP-Adresse wird nicht gespeichert. Details finden Sie hier.

Du willst deinen Senf dazugeben, dir ist aber der Senf ausgegangen? Dann nutz den SENFOMATEN! Per einfachem Klick kannst du fertigen Senf in das Kommentarfeld schmieren, nur dazugeben musst du ihn noch selbst.