LoginSignup
14
17

More than 5 years have passed since last update.

Emacsを使ってChromeで開いているGmailを編集するgmail-message-mode

Last updated at Posted at 2015-01-14

メインで使っているメールは公私共にGmailなのですが、メールを始め文章を書くときは、やはり編集しやすいEmacsで書いてからコピペするということをしていました。

最近、gmail-message-modeというlispを見つけたので、使ってみることにしました。

動作確認環境

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で編集できるようになります。

emacs_gmail_mode01.png

何か入力してから 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を実行すると、

emacs_gmail_mode02.png

のようになります。

<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  

すると、

emacs_gmail_mode03.png

のようになります。

Gmailの作成画面へ反映されましたが、最初の行の改行が反映されていません。

先に述べたとおり、gmail-message-modeは Markdown記法でGmailを編集 するためのものなので、文章の改行についてはMarkdown記法に従い、文末に _ を2つ付ける必要があります。

というわけで、

お世話になっています。__
木板太郎です。

今年もよろしくお願いします。

では。
<br>
----------  
Taro Kiita  
taro_kiita@example.com  
00-0000-0000  
http://example.com  

と入力することで、

emacs_gmail_mode04.png

のように、改行させることができました。

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  

上記のように入力すると、以下のように反映されます。

emacs_gmail_mode05.png

他の記法も使えるものがありそうですが、私が使わなそうなので、残りは割愛させていただきます。

14
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
17