BBEdit to MarsEdit

Saturday, October 9th, 2004 @ 9:38 pm | Mac

I’ve been trying out MarsEdit and I like it. I prefer its posting interface to MoveableType‘s web interface. However, I still like to compose my entries in BBEdit and save a local copy on my hard drive.

This is doable using MarsEdit’s “Edit with BBEdit” command, but it’s a little cumbersome; the best solution I came up with was editing the post in BBEdit, “saving” the text back to MarsEdit, then pasting the text from MarsEdit into a new BBEdit document.

Like I said, cumbersome.

My solution was to write an AppleScript that would create a new MarsEdit post from the frontmost BBEdit window.

on run
    tell application "BBEdit"
        try
            set active_doc to active document of text window 1
            set doc_title to (name of active_doc)

            -- check to see if the file's been saved
            -- if not, check if the document has a custom name.
            if (active_doc is not on disk) then
                if (doc_title starts with "untitled text") then
                    set doc_title to ""
                end if
            end if
        on error
            beep
            return
        end try
    end tell

    my CreateNewPost((text of active_doc), doc_title)
end run

on CreateNewPost(post_text, post_title)
    tell application "MarsEdit"
        set post_window to make new post window
        tell post_window
            set the body to post_text
            set the title to post_title
        end tell
    end tell

    activate
end CreateNewPost

The body of the new posting comes from the text of the BBEdit window and the title comes from the name of the document. If the document doesn’t exist on disk, the script checks to see if the document has a customized name.

The check for a customized name is a little simplistic — it checks if the document name starts with “untitled text.” I couldn’t really think of anything better to try, but I’m open to suggestions.

If I were really industrious, I’d create a script that used the External Weblog Editor Interface so it would work with multiple editors. However, I’m lazy and I just wanted something that would work for my situation.

This has been tested under BBEdit 8.0. I don’t know if it’ll work as written for older versions. If it doesn’t, it should only take minor modifications to fix any issues or make it work with TextWrangler.

One Response to “BBEdit to MarsEdit”

  1. Michael J. Harris Says:

    Yup, and the sole extent of modifying it for TextWrangler is substituting “TextWrangler” for “BBEdit.”

    Thanks for the script. ;-)