MarsEditで無理矢理はてなダイアリーを更新してみる

MarsEditは、現在のバージョンでははてなダイアリーにログインできません。
よって直接はてなダイアリーを更新することはできません。
また当然ながらはてな記法にも対応していません。
MarsEditのプレビューをはてな記法に対応させ、かつ投稿を実施してみます。

MarsEditのはてな記法への対応

紹介マニアどらふと版: MarsEdit でプレビューできる文法を追加するで書いたように、文法を追加します。
はてな記法のパーサーがHatenaSyntax \ Package \ Openpearで公開されています。
最新版はanatoo/HatenaSyntax - GitHubです。
MarsEditにそのまま追加できる形式の物をsakito / MarsEditPlugIn / source — Bitbucketに配置しましたので使いたい人は自己責任でご利用ください。
これでMarsEditではてな記法のプレビューが可能になります。

2012/08/01 追記
HTMLも正常表示できるように修正し tar.gz 形式で配布をしています。
https://bitbucket.org/sakito/marseditplugin/downloads

MarsEditにダミーのBlogを追加する

「File」「New Blog…」で新規Blogを追加します。
URLにはてなダイアリーのURLを入力しておきます。
「OK」すると取得不能でエラーになりますが、そのまま継続して設定します。
設定画面の「Editing」で「preview Text Filter」を「HatenaSyntax」にしておいてください。
MarsEditで Local Draftsで記述する時に作成したBlogの設定を利用します。
「Edit Preview Template」でHTML/CSSを変更すればよりはてなダイアリーと同じ状態でプレビューされますので設定は好きにしてください。

はてなダイアリーにはメールで投稿する

はてなダイアリーにはメールで投稿する機能があります。
メールで日記を書く - はてなダイアリーのヘルプ
ここでは MarsEdit から Sparrow を呼び出し、メールを送信するAppleScriptを作成することでメールで更新してみます。
こんな感じ。

set myfrom to "xxxx@example.com" -- 自分のメールアドレス
set hatenato to "xxxx@d.hatena.ne.jp" -- 送信先メールアドレス 
tell application "Sparrow" to activate 
delay 1 
tell application "MarsEdit" 
activate tell document 1 
set tit to get title 
set cont to get body 
set cont to cont & (get extended entry) 
end tell 
end tell 

tell application "Sparrow" 
activate 
set newMessage to make new outgoing message with properties {subject:tit, sender:myfrom, content:cont} 
tell newMessage to make new to recipient at end of to recipients with properties {address:hatenato} 
compose newMessage
 -- 自動送信はしないので自分で送信してください 
end tell

これをAppleScriptエディタで書いて、「~/Library/Application Support/MarsEdit/Scripts」以下に保存します。
MarsEditを再起動すると、MarsEditのスクリプトメニュー内に保存したスクリプトがありますので、選択するとSparrowにMarsEditで現在記述している内容が送信され、メール送信前の状態になります。
問題ないようであれば、そのまま送信すると投稿されます。

まとめ

従来はメール投稿は便利ですがプレビューできませんでしたが、この方法ならローカルでプレビューすることが可能です。
スクリプトを組めばいろいろ応用できるでしょう。