Vor ein paar Tagen hatte ich bei MacUpdate ein AppleScript Safari2ecto entdeckt, was die aktuelle Seite als Link in ecto einfügt. Das Script habe ich seitdem sehr oft benutzt und finde es enorm praktisch. Allerdings war es ja bislang noch sehr simpel. Nun habe ich es ein bischen aufgebohrt, so dass man auch in Safari selektierten Text mit in den Blog-Eintrag aufnehmen kann und das eine Unterscheidung zwischen Links aus meinem eigenen Blog und anderen getroffen wird. Ich habe versucht das ganze ein bischen so aufzubauen, dass andere es einfach für ihr Blog anpassen können.
ifnot (exists document 1) then
display dialog„Kein Browser offen.“ buttons {„Cancel“} default button 1
end if
– Die Adresse wird in eine Variable geschrieben
set this_URL to the URL of document 1
– Der Seitentitel wird in eine Variable geschrieben
set this_title to do JavaScript„document.title“ in document 1
– Der selektierte Text wird in eine Variable geschrieben
set this_Selected to do JavaScript„getSelection();“ in document 1
end tell
tell application„ecto.old“
activate
– Eindeutigen Part der eigenen Blog-Url
set meine_url to„powerbook.blogger.de“
– Teil des Seitentitels des eigenen Blogs der
– abgeschnitten werden soll
set mein_titel to„powerbook _ blog: „
– Hier wird definiert wie das Zitat im Text eingebunden wird
set quote_start to„"
set quote_end to"„
– Hier werden die Länge der Strings ermittelt
set mein_titel_ende to length of mein_titel
set this_title_ende to length of this_title
– Ein Link wird geöffnet mit der Adresse und dem Attrib ‚title‘
– Die Attribute ‚href‘ und ‚title‘ werden mit den Variablen
– this_URL und this_title gefüllt
set my_link to“ <a href=\““ & this_URL & „\“ title=\““ & this_title & „\“ „
– Hier wird abgefragt, ob es sich bei der Seite um eine aus meinem Blog
– handelt, wenn JA, dann soll nicht das Attribt ‚target‘ gesetzt werden. Bei
– externen Links soll ‚target‘ mit dem Wert ‚_blank‘ gesetzt werden.
if not (this_URL contains meine_url) then
set my_link to my_link & “ target=\“_blank\““
– Wenn es sich um eine Seite meines Blogs handelt, dann weiss ich,
– dass ich einen Teil des Seitentitels nicht brauche, darum beschneide
– ich den Seiten-Titel um die Anzahl der mir bekannten Zeichen, da
– dieser ja aus Bezeichner des Links eingefügt wird
else if (this_title contains mein_titel) then
if (this_title_ende>mein_titel_ende) then
set this_title to (characters mein_titel_ende thru this_title_ende of this_title) as string
end if
end if
– Der Name des Links wird hinzugefügt und der Link-Tag geschlossen
set my_link to my_link & „>“ & this_title & „“
– Jetzt wird geprüft, ob überhaupt Text in Safari markiert war
– – sprich ob die Variable ‚this_text‘ gefüllt ist
– Wenn dem so ist, dann wir der selektierte Text als eingefügt
– und der Seitenlink als Quelle mit angegeben.
if not (this_Selected is„“) then
set my_link to quote_start & this_Selected & quote_end & “ [ Quelle:“ & my_link & “ ]“
end if
– Das ganze wird jetzt bei ecto im Beitragsfeld hinten angehängt
set entry body to entry body & my_link
end tell
Das Umwandeln von AppleScript zu Html habe ich übrigens mit dem Tool Convert Script to Markup Code erledigt, welches zwar etwas behäbig ist, seine Sache aber sonst ganz gut macht.
25. August 2004 um 11:27 Uhr
Omniweb Gibt es dieses Script auch für Omniweb? Habe mal versucht es anzupassen, meine Apple-Script-Kenntnisse reichen aber ganz offensichtlich nicht aus…
25. August 2004 um 14:12 Uhr
Nein. Ich habe jetzt eine neue Version für ecto2 erstellt, da sich da ein paar Sachen geändert haben. Bei der Gelegenheit habe ich auch noch das ganze ein bischen aufgemotzt und so gestaltet, dass es andere besser anpassen können.
Wenn ecto2 für die Allgemeinheit erscheint, dann werde ich das Script auch veröffentlichen. Wenn Du mich dann nochmal ansprichst, kann ich gucken, ob ich das für OmniWeb anpassen kann.
Pingback: Applescript ( und ecto ) [powerbook_blog]