31. Januar 2014
Markdown-Link inklusive Titel aus erstem Google-Suchergebnis erstellen
Du schreibst deine Beiträge in Markdown? Sehr gut. Was, wenn du ein Schlagwort hast, dass du verlinken willst? Es macht z.B. Sinn, den Namen einer App auf die Herstellerwebseite zu verlinken. Also öffnest du deinen Browser, tippst den Namen vermutlich bei Google ein, klickst auf das erste Ergebnis, kopierst die URL und fügst sie in deinem Schreibprogramm ein. Umständlich, oder?
Darum hat Brett Terpstra, Indie-Entwickler und Über-Nerd, ein Skript namens SearchLink geschrieben. Es gibt dir die Möglichkeit anhand festgelegter Suchbegriffe das erste Suchergebnis als Markdown-Link zu erhalten. Dadurch wird aus den 5 Schritten von oben ein einziger.
Du notierst deinen Link in einem vorgegebenen Format und lässt vor dem Weiterverarbeiten das Skript drüber laufen. Es wird die Suchwörter erkennen, die Suchen im Hintergrund ausführen und relevante Stellen mit korrekten Links im Markdown-Format ersetzen. Dabei unterstützt es nicht nur Google-Suchen, sondern auch den iTunes App Store, Wikipedia, Amazon und mehr.
Syntax
Die Syntax für eine Google-Suche lautet:
Ein Link auf [iEnno](!g "iEnno Mac").
!g
deutet auf eine Google Suche hin, "iEnno Mac"
ist der zugehörige Suchbegriff. SearchLink drüber laufen lassen und das Ergebnis ist
Ein Link auf [iEnno](http://www.ienno.de/ "iEnno | Ein Macianer auf seinem Spielplatz").
Enno Style
Du kannst SearchLink so benutzen wie von Herrn Terpstra vorgesehen und damit glücklich werden. Da ein über Rechtsklick verfügbarer System Service zwar nett, aber nicht das Ende der Fahnenstange ist, habe ich noch ein paar Anpassungen vorgenommen. Vorwarnung: ab hier wird es etwas nerdig.
Was ich geändert habe:
- Ich brauche ausschließlich die Google Suche.
- Aus irgendeinem Grund funktioniert das Skript bei mir (!) nur, solang Googles Server über IPv4 angesprochen werden. Ich vermute irgendwas Kabel-Deutschlandiges dahinter. Darum muss ich eine Verbindung über IPv6 ausschließen.
- Aufruf über Keyboard Maestro, da einfaches Shortcut-Handling.
Der erste Punkt geht durch Löschen von unrelevanten Code-Zeilen, logisch. Der Zweite ist ein bisschen aufwändiger. Über Net:HTTP
kann ich keine Angabe zur Nutzung von IPv4 machen, darum habe ich es etwas unelegant direkt über curl
gemacht.
resp = `curl -4 --silent 'ajax.googleapis.com/ajax/services/search/web?v=1.0&q=#{CGI.escape(terms)}&filter=1&rsz=small'`.force_encoding('iso-8859-1').encode('utf-8')
Außerdem übergebe ich den zu ersetzenden String in Form einer Keyboard-Maestro-Variable mit dem kreativen Namen param
.
Zum Nachmachen
Das abgewandelte SearchLink-Skript gibt es als Gist, das Keyboard-Maestro-Macro aufgrund der sowieso nötigen Anpassungen nicht als Direkt-Download, sondern als Screenshot zum Selberbauen:
- Den ausgewählten Text kopieren.
- Nach Keywords für die Google-Suche fragen. Dabei den kopierten Text als Vorauswahl zur Verfügung stellen.
- SearchLink-Format in der
param
-Variable speichern. - SearchLink-Skript ausführen, was anhand von
param
und dem ersten Google-Suchergebnis einen Markdown-Link zurückgibt. Alles unterhalb dieser Aktion sind Aufräumarbeiten.
Wie gesagt, es ist sehr nerdig und nicht ganz easy. Aber einmal zum Laufen gebracht ist die Zeitersparnis enorm. Über den normalen Weg ist man schnell, wenn man 8 bis 10 Sekunden benötigt. SearchLink schafft’s i.d.R. in 2. Leute, das sind 6 Sekunden mehr Katzenbilder pro Link. Wenn das nix is.
Nein ernsthaft, nach dem automatischen Upload zu WordPress ist SearchLink die größte Effizienzbombe in meinem Blogging-Workflow.
Dir gefällt, was du liest?
Sehr schön ;) Erzähl es doch weiter!