thinkretro.de

Sep 17, 2016

Join the Shell Users' Revolutionary Front Rage Against the Web

Das schöne an Linux ist ja, dass es immer wieder etwas Neues zu entdecken gibt. Oft stellt man dabei auch noch fest, dass es für eine bestimmte Aufgabe - wie etwa die Suche im Web - noch einen kürzeren, eleganteren und vor allem schnelleren Weg gibt. So z.B. mit Surfraw (Shell Users Front Rage Against the Web), das über die Shell aufgerufen, die query-url für eine ganze Reihe an Webseiten und Suchmaschinen zusammenbaut und das ganze dann im Browser aufruft. Klingt erst einmal wenig spektakulär, aber genau darin liegt die Magie :-) Da ich eh immer ein Terminalfenster offen habe, ist das wesentlich schneller als erst zum Browser zu wechseln, dort die Website einzugeben und dann die Suchfunktion zu bemühen.

Eine einfache Suche über surfraw bei duckduckgo sieht bspw. so aus:

$: sr duckduckgo Battle of Hoth

Surfraw bringt von Haus aus eine ganze Reihe an unterstützten Webseiten (elvis) genannt mit. Eine einfache Liste dieser Elvis kann man über

$: sr -elvi

aufrufen oder einfach im Verzeichnis /usr/lib/surfraw nachsehen. Ich benutze z.B. folgende Elvis ziemlich regelmäßig:

  • debpkghome -- Website der Originalsoftware in einem Debianpaket
  • archwiki -- Archlinux Wiki
  • duckduckgo -- nette Suchmaschine
  • youtube -- videos direkt suchen
  • google -- gute Ergebnisse, aber evil :-)
  • wayback -- internet archive wayback machine
  • wikipedia -- enzyklopädie
  • leodict -- Dictionary

Jedes Elvi bietet zudem noch einige Optionen, mit der man die Suche entweder präzisieren kann oder aber das Verhalten der aufgerufenen Website zu steuern. Dabei listet

$: sr elvi -local-help

die für das elvi verfügbaren Optionen auf. Im Falle von duckduckgo wäre das bspw.:

$: sr duckduckgo -local-help

    Usage: duckduckgo [options] [search words]...
    Description:
    Surfraw search the web using DuckDuckGo (www.duckduckgo.com)
    Local options:
            -d,-ducky,-l,-lucky         use in case of overwhelming feeling of duckiness
            -j,-javascript              use javascript
            -safe                       enable safe search
            -r,-redirect                use redirection
            -s,-insecure                disable SSL search

eigene Bookmarks, eigene elvis

Neben den bereits vorhandenen elvis bietet surfraw zudem die Möglichkeit bookmarks zu setzen. Will man bspw. die Pronom-Datenbank der National Archives nach einer bestimmten PUID (= Pronom unique identifier) suchen, kann man das bequem über ein Bookmark machen. Dazu erstellt man die Datei ~/.config/surfraw/bookmarks und trägt dort Folgendes ein:

puid http://www.nationalarchives.gov.uk/PRONOM/%s

Nun kann man über

$: sr puid fmt/44

oder

$: sr puid x-fmt/20

direkt den jeweiligen Eintrag in der Pronomdatenbank aufrufen. Alternativ kann man übrigens auch den entsprechenden Bang von duckduckgo nutzen (think of the possibilities :-) ):

$: sr duckduckgo \!puid fmt/44

Wichtig ist hierbei das Ausrufezeichen zu escapen, damit es nicht von der Shell interpretiert wird.

Alternativ kann man auch direkt loslegen und ein eigenes elvi erstellen. Wie das geht, ist im offiziellen Surfraw Hacking Guide beschrieben. Die einfachste Methode ist sich ein existierendes elvi, das am besten zu der gewünschten Website passt, zu nehmen und und es einfach entsprechend anzupassen.

Dez 01, 2014

Blogartikel mit Vim, Markdown und Pandoc erstellen

Seitdem mich ein Freund auf das Konvertierungstool Pandoc aufmerksam gemacht hat, mit dem man bspw. Markdown-Dokumente ganz einfach nach Html konvertieren kann, schreibe ich meine Blogartikel komplett in Markdown.

Markdown - die Basics

Markdown ist eine von vielen Auszeichnungssprachen, die es ermöglichen mit einer überschaubaren Anzahl an Elementen Text zu formatieren. Ziel ist hierbei, dass schon das Markdown-Dokument ohne weitere Konvertierung leicht lesbar und verständlich ist. Dabei ist die Syntax relativ leicht zu lernen und nicht wirklich kompliziert. Hier gibt es einen guten Überblick. Darüber hinaus findet man auch über die Google Suche das ein oder andere Cheatsheet, das die wichtigsten Elemente kurz zusammenfasst.

Vim Markdown

Für meinen momentanen Lieblingseditor Vim gibt es ein nettes Plugin, welches den Umgang mit Markdown-Texten ziemlich vereinfacht. Hier gibt es das Plugin

Pandoc

Um aus meinem zuvor erstellten Markdown-Dokument ein gültiges Html-Dokument zu machen, bedarf es noch einer Umwandlung mittels pandoc. Pandoc selbst ist in den Debian Paketquellen vorhanden und lässt sich mittels #apt-get install pandoc installieren. Um das vorhandene Markdown-Dokument in ein Html-Dokument umzuwandeln genügt ein $pandoc -o testseite.html markdown-dokument.md.

Fazit

Mit der Kombination aus Vim + Markdown + Pandoc ist es mir relativ leicht möglich Artikel für meine Website zu schreiben. So kann ich das Ergebnis als Html-Quelltext im Anschluss in meinen Wordpress-Editor laden und dort den letzten Feinschliff vornehmen. Dadurch, dass Markdown-Dateien im Prinzip nur Textdateien sind, lassen sie sich zudem wunderbar mit Tools wie bspw. 'grep' auf Kommandozeilenebene durchsuchen.