TextExpander und AppleScript

Auf App.net bin ich über einen Beitrag von Markus gestolpert und wir haben uns dann ein wenig darüber unterhalten. Dabei habe ich festgestellt, dass ich eigentlich genau auch so was brauche. Auf App.net hat man die Möglichkeit Inline-Links zu verwenden. Kurz gesagt: Einen Text verlinken und nicht einfach den Link in den Post kopieren.

Ich habe das Problem dann ein wenig anders gelöst und nutzt TextExpander dafür.

Das Programm TextExpander kann nicht einfach nur Kürzel ersetzen, sondern auch AppleScripts ausführen.

textexpander-applescript

Markdown-Links

Ein guter ADN-Client unterstützt Markdown-Links, jedoch muss man die Syntax oft selbst eingeben. So ist es z.B. bei Cauldron. Jetzt muss ich nur noch “.ml” eingeben und das AppleScript holt sich den aktuellen Link aus Safari und baut daraus einen Markdown-Link. Ich muss jetzt einfach nur den Titel eingeben. Und fertig. Das Ganze könnte man noch so erweitern, dass der Titel des aktuellen Tabs auch für den Markdown-Link verwendet wird. Der Code für TextExpander sieht wie folgt aus:

tell application "Safari"
    set theURL to URL of front document
    set theTitle to name of front document
    return "[%|](" & theURL as string & ")"
end tell

Das Ganze basiert auf diesem Gist und daraus lässt sich auch die Version ableiten, dass der Titel des aktuellen Tabs verwendet wird.

Kirby-Workflow optimiert

Die Situation habe ich gleich zum Anlass genommen meinen Kirby-Workflow zu optimieren.

Bis jetzt habe ich den Namen des Bild immer kopiert und dann mit TextExpander eingefügt. Das kann ich mir jetzt sparen. Wenn ich das Kürzel eingebe, um ein Bild einzufügen, wird automatisch der Name des Bildes aus dem Finder geholt. Es muss vorher nur das Bild ausgewählt werden.

tell application "Finder"
    set fileAlias to the selection as alias
    set fileName to name of fileAlias
    return "(pic: " & fileName & ")"
end tell

Und so sieht es dann aus. In TextExpander einfügen, auf AppleScript umstellen und ein Kürzel festlegen. Den Ansatz für das AppleScript habe ich hier gefunden.

Es geht aber noch ein wenig weiter. Ich blogge in Markdown also könnte ich auch wieder das Snippet mit den Markdown-Links verwenden, jedoch nutze ich nicht die klassischen Markdown-Links in Kirby. Unter Multi-Markdown können Links anders aussehen.

Den Ansatz für das AppleScript habe ich [hier gefunden][5]

Am Ende des Dokuments sind dann alle Links und die Syntax sieht so aus:

[5]:http://forums.macrumors.com/archive/index.php/t-927338.html
[6]:https://smilesoftware.com/TextExpander/index.html
[7]:https://cauldron-app.herokuapp.com/

Bei mir sind die Bezeichnungen einfach Zahlen. Um am Ende die Liste zu erstellen kommt wieder TextExpander zum Einsatz. Es wird sich der Link aus dem aktuellen Tab von Safari geholt und in die entsprechende Syntax gebracht.
Dabei habe ich noch ein Feld eingefügt und man muss die Bezeichnung eingeben.

tell application "Safari"
    set theURL to URL of front document
    set theTitle to name of front document
    return "[%filltext:name=Zahl%]:" & theURL as string
end tell

Wieder ein bisschen Zeit gespart

Es ist eine sehr spannende Geschichte was man mit TextExpander alles anstellen kann. Wenn man die Augen offen hält, dann findet man immer etwas, dass optimiert werden will.