メインで使っているメールは公私共にGmailなのですが、メールを始め文章を書くときは、やはり編集しやすいEmacsで書いてからコピペするということをしていました。
最近、gmail-message-modeというlispを見つけたので、使ってみることにしました。
動作確認環境
- Mac OS X 10.9
- Chrome 40 (Beta)
- Emacs 24.4.1
- Homebrew emacsで--japaneseオプション復活させてみた! - Qiita を使ってHomebrewでインストール
WebのテキストエリアをEmacsで編集するEdit with Emacsを導入
gmail-message-modeを使うためには、ブラウザのテキストエリアをEmacsで編集するためのプラグインが必要となるため、まずはそれを導入します。
ブラウザプラグインの導入
各ブラウザのプラグインは Plugins に記載されています。
Chromeの場合はChrome拡張の Edit with Emacs を導入します。
edit-server.elの導入
edit-server.elをpackage.elなどで導入します。
その後、init.elなどにサーバーを起動する設定を書いて、Emacsを再起動するなりします。
(when (locate-library "edit-server")
(require 'edit-server)
(defvar edit-server-new-frame nil) ; 新しいフレームは開かない
(edit-server-start))
そうすると、テキストエリア近くに edit ボタンが表示されるようになり、これを押すとEmacsで編集できるようになります。
何か入力してから C-c C-c
などで、ブラウザのテキストエリアに入力内容が反映されます。
Edit with Emacsについての詳しいことは、 以下のブログが参考になりました。
GmailをEmacsで編集する
上記の環境が整ったところで、gmail-message-modeを導入します。
gmail-message-modeの導入
これもpackage.elを使って導入しました。
なお、GitHubにリポジトリがあるのですが、 gmail-mode のようにリポジトリ名が変わっているので注意してください。
Markdown変換ツールの導入
gmail-message-modeの本来の目的としては、Markdown記法でGmailを編集する、というもののようです。
そのため、内部的には編集したテキストをMarkdownとして認識し、それをGmail用のHTMLとして変換して、メール編集画面に貼り付ける、というような処理をしているようです。
そのMarkdownをHTMLとして変換する処理のために、デフォルトでは markdown
もしくは pandoc
コマンドを使います。
私は、以下のブログにてPandocが進められていたので、Homebrewからインストールしました。
gmail-message-modeを使う
メールを新規作成した際に、以下の様な署名が入っているとします。
---
Taro Kiita
taro_kiita@example.com
00-0000-0000
http://example.com
この状態でEdit with Emacsを実行すると、
のようになります。
<br>
---
Taro Kiita
taro_kiita@example.com
00-0000-0000
http://example.com
この <br>
の上の部分がメール本文になりますので、ここに以下のように入力して、 C-c C-c
してみます。
お世話になっています。
木板太郎です。
今年もよろしくお願いします。
では。
<br>
----------
Taro Kiita
taro_kiita@example.com
00-0000-0000
http://example.com
すると、
のようになります。
Gmailの作成画面へ反映されましたが、最初の行の改行が反映されていません。
先に述べたとおり、gmail-message-modeは Markdown記法でGmailを編集 するためのものなので、文章の改行についてはMarkdown記法に従い、文末に _
を2つ付ける必要があります。
というわけで、
お世話になっています。__
木板太郎です。
今年もよろしくお願いします。
では。
<br>
----------
Taro Kiita
taro_kiita@example.com
00-0000-0000
http://example.com
と入力することで、
のように、改行させることができました。
GitHub flavored Markdownを使うようにする
行末に _
を2つで改行するというのはMarkdownのわかりにくい記法の一つだと思うのですが、Pandocの出力をGitHub flavored Markdownにすることで解消できました。
customize
を使うか、init.elなどに以下のように設定することで、行末に _
を2つ入れなくても改行されるようになります。
(custom-set-variables
'(ham-mode-markdown-to-html-command
(quote
("/usr/local/bin/pandoc" "--from" "markdown_github" "--to" "html" "--email-obfuscation" "none" file)))
)
/usr/local/bin/pandoc
のパスは、環境に合わせて適宜設定してください。
また、私の環境では、テキスト内にメールアドレスがあった場合に難読化されるようになってしまったため、 --email-obfuscation
を追加で設定しています。
Markdown記法による編集
私は普段プレーンテキストモードで使っているので、あまり利点はありませんが、gmail-message-mode本来の目的である、Markdown記法による編集機能は、以下の様な感じで使えます。
# お世話になっています。
**木板太郎** です。
_今年もよろしくお願いします。_
では。
<br>
----------
Taro Kiita
taro_kiita@example.com
00-0000-0000
http://example.com
上記のように入力すると、以下のように反映されます。
他の記法も使えるものがありそうですが、私が使わなそうなので、残りは割愛させていただきます。