BBEdit to MarsEdit
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.
May 14th, 2005 at 1:19 pm
Yup, and the sole extent of modifying it for TextWrangler is substituting “TextWrangler” for “BBEdit.”
Thanks for the script. 😉