Willkommen!

Hallo und herzlich willkommen in meinem kleinen Weblog! Hier berichte ich über diverse Dinge die mich so beschäftigen.

Damit du das lesen kannst, was dich interessiert, kannst du oben in der Navigation eine der drei Hauptkategorien auswählen oder hier unter diesem Text einfach Artikel aus allen Kategorien lesen.

Es kann gut sein dass sich die Kategorie Glaube und Leben ziemlich vermischen da sie nunmal ziemlich zusammenhängen!


Viel Spaß auf meiner Seite! Hinterlass doch einen Eintrag im Gästebuch ;)

Luke


Mär 4 2010

[mac] Thumbnail-Support für MarsEdit

Da MarsEdit keine Thumbnails unterstützt und ich diese doch sehr gern und viel einsetze, hab ich mir eine kleine Lösung dazu gebastelt.

Wie Wordpress mit Bilderuploads grundsätzlich umgeht war mir bisher noch nicht so bekannt. Beim genaueren hinschauen hab ich aber gemerkt, dass Wordpress immer 3 Versionen von den Bildern anlegt. Ein Thumbnail (bei mir 150×150 px), eine verkleinerte Version (hier 450px) und die Orginaldatei. Das Benennungsschema ist:

dateiname-widthxheight.endung

Mit dieser Grundlage kann man sich also schon theoretisch die Dimensionen des Bildes ausrechnen und dann den Dateinamen selber einsetzen. Das ganze (vor allem das Ausrechnen) war mir aber dann doch zu anstrengend und daher hab ich nach einer automatisierten Lösung gesucht.

MarsEdit-MenuBar.png

Über das Script-Menü kann man auf einige mitgelieferte Scripte zugreifen. Allerdings kann man natürlich auch eigene schreiben und genau das habe ich versucht. Das Ergebnis sieht so aus:

Script Menü mit Thumbnail-Einträgen

Anleitung

Man läd zuerst ganz normal ein Bild hoch und bekommt dann den img-Tag im Editor angezeigt. Diesen markiert man nun komplett (wichtig!) und wählt dann im Menü das entsprechende Script aus. Nun wird das img-Tag durch einen a-Tag erweitert und durch das Thumbnail ersetzt. Das Ergebnis sieht dann so aus:

Nach dem Script ausführen

Funktionsweise

– Wordpress Medium Size Image

– Converts a MarsEdit-Image Tag to the image-tag of the medium sized image and links it with the orginal image.

– Author: Lucas Bares 2010 (http://www.luke-b.com)
– Version: 0.1

set maxWidth to 450
set maxHeight to 450

on displayErrorMessage(s)
    display dialog (s) buttons {"OK"} default button "OK" with icon caution
end displayErrorMessage

tell application "MarsEdit"
    
    try
        set currentWindow to document 1
    on error errorMessage
        displayErrorMessage("Can’t run Script because no post window is open!") of me
        return
    end try
    
    set s to selected text of currentWindow
    if (s is equal to "") then
        displayErrorMessage("No Image URL selected") of me
        return
    else
        – Split transmitted data and extract info
        set AppleScript’s text item delimiters to "\""
        set attList to every text item of s
        set imgPath to item 2 of attList
        set imgAlt to item 4 of attList
        set imgBorder to item 6 of attList
        set imgWidth to item 8 of attList as integer
        set imgHeight to item 10 of attList as integer
        
        – Calculate image dimensions
        if imgWidth > imgHeight then
            set thumbWidth to maxWidth
            round ((imgHeight * maxHeight) / imgWidth) rounding down
            set thumbHeight to result
        else
            set thumbHeight to maxHeight
            round ((imgWidth * maxHeight) / imgHeight) rounding down
            set thumbWidth to result
        end if
        
        – Extract filename without file extension in -> f
        set AppleScript’s text item delimiters to "."
        set nameListe to every text item of imgPath
        set f to first item of nameListe
        set i to 2
        
        repeat while i is not (count of nameListe)
            set f to f & "." & (item i of nameListe)
            set i to i + 1
        end repeat
        
        – Build link
        set newString to ""
        set newString to "<a href=\"" & imgPath & "\" rel=\"lightbox[post]\">\n"
        set newString to newString & "  <img class=\"alignnone size-thumbnail\" src=\"" & f & "-" & thumbWidth & "x" & thumbHeight & "." & (last item of nameListe) & "\" alt=\"" & imgAlt & "\" />\n"
        set newString to newString & "</a>\n"
        
        
        set selected text of document 1 to newString
    end if
end tell

Das Script macht im Wesentlichen nicht anderes, als den Tag etwas auseinanderzunehmen, die Maße des neuen Bildes zu berechnen und somit den Pfad zur verkleinerten Version zu errechnen. Danach baut es etwas HTML-Code und ersetzt den markierten Text im Editor

Beim kleinen Thumbnail ist der Code etwas anders, da hier das Bild zugeschnitten wird. Vom Grundsatz her ist der Code aber gleich:

Installation

Da ich bisher noch nie AppleScript programmiert bzw geschrieben habe, ist das Script sicherlich nicht sonderlich hochwertig, aber es erfüllt seinen Dienst und lässt sich ziemlich leicht anpassen. Wer es will kann es gerne über die unten angefügten Links downloaden. Danach müsst ihr die beiden Script-Dateien nur noch in

User/Library/Application Support/MarsEdit/Scripts

kopieren und sie müssten im Menü auftauchen.

Zum Download klicken