ichiroc subset

書きながら考える・考えをまとめる場所

Emacsではてなブログを書く環境を整える

新しいバージョンを書きました。 EmacsからはてなブログAPIで投稿する - ichiroc subset

↓は前のバージョンです。

目標

Emacs から記事を書く環境を整える。

準備

~/.emacs.d/init.el に下記を定義

(setq my-blog-file-path "~/Dropbox/blog.md") ;; 一時書きに使うファイル
(setq my-blog-mail-address "your-secret-address@blog.hatena.ne.jp")   ;; 投稿用アドレス see http://help.hatenablog.com/entry/mailpost
(setq my-blog-backup-dir "~/Dropbox/blog-entries/") ;; 投稿済みの記事を保管するディレクトリ

(defun my-blog-write ()
  (interactive)
  (if (file-exists-p my-blog-file-path)
      (find-file my-blog-file-path)
    (progn
      (compose-mail my-blog-mail-address)
      (write-file my-blog-file-path))))

(defun my-blog-post ()
  (interactive)
  (mail-send)
  (write-file (concat my-blog-backup-dir (format-time-string "%Y-%m-%d-%H-%M-%S") ".md"))
  (move-file-to-trash my-blog-file-path)
  )

;; キーバーインドを設定 (evil-mode 用)
(evil-global-set-key 'normal ",bw" 'my-blog-write)
(evil-define-key 'normal markdown-mode-map ",bp" 'my-blog-post)
  

使い方

キーバインドはevil-mode前提

  1. ,bw でブログを書き始める
  2. 記事を書く
  3. ,bp でブログを投稿
  4. デフォルトのメールクライントが立ち上がる(はてなブログのメール投稿APIから登録)
  5. 送信!

投稿したファイルはバックアップ先に移動させる。 実際にメールが送信されたかどうかは関係なく処理。

しばらくこれでやってみる。