tawake28のブログ

電気電子とか真空とかビームとか

hatena-blog-modeを使ってみる

hatena-blog-modeを使ってみる

spacemacsにhatena-blog-modeを入れてみたので投稿テスト

spacemacesを使っています. そうするとご多分に漏れず, 何でもemacsで完結させたくなっちゃいます. そこでhatena-blog-modeを使ってみる.

hatena-blog-mode.elのインストール

  1. elpaには登録されていないようなので, ローカルにgit cloneする. 私は~/dotfiles/private_elisp/ディレクトリ下にしました.
>git clone https://github.com/fnwiya/hatena-blog-mode.git
  1. load-pathをspacemacsに追加 私の場合は他にも野良elispを追加することを考えて, .spacemacsファイルの(defun dotspacemacs/user-init ()以下に下記を追記しました.
;; 野良elispのpathをload-pathに追加
(let ((default-directory (expand-file-name "~/dotfiles/private_elisp")))
  (add-to-list 'load-path default-directory)
  (if (fboundp 'normal-top-level-add-subdirs-to-load-path)
      (normal-top-level-add-subdirs-to-load-path)))

hatena-blog-mode.elの設定

まずhatena-idなどの項目を設定するのだが, .spacemacsファイルをgithubで管理しているため, 外部にapi-keyやパスワードを晒したくない.
このためauth-sourceEasyPGを使ってアスセスできるようにする.

hatena_blog_keysファイルの作成と暗号化

netrc形式で下記のようにファイルを作成し, hatena_blog_keysという名前で適当な場所に保存する. 私の場合は~/dotfiles_secret/hatena_blog_keysとして保存してます.(xxxには各自の値を入れて下さい)
userhatena-id, api-keyhatena-blog-api-key, blog-idhatena-blog-idの設定値を入れておきます.
これらの値を調べるにはこちらのサイトを参考にさせて頂きました. ありがとうございます.

host localhost user xxx api-key xxxxxxxx blog-id xxx.hatenablog.com  port hatena.ne.jp

(注) ~/dotfiles_secret/ ディレクトリは絶対に外部に公開しないように!

次にターミナルでgpgコマンドで暗号化する.

>gpg -e -r xxx@xxx.com hatena_blog_key

.spacemacsでの設定

まずgpgファイルから情報を取り込むように.spacemacsファイルの(defun dotspacemacs/user-config ()に下記を追加.

(setq auth-sources '("~/dotfiles_secret/hatena_blog_keys.gpg"))

そして公式サイトの例に従って, (defun dotspacemacs/user-config ()に設定する.

(require 'hatena-blog-mode)
(setq hatena-id (plist-get (nth 0 (auth-source-search :port "hatena.ne.jp")) :user))
(setq hatena-blog-api-key (plist-get (nth 0 (auth-source-search :port "hatena.ne.jp")) :api-key))
(setq hatena-blog-id (plist-get (nth 0 (auth-source-search :port "hatena.ne.jp")) :blog-id))
(setq hatena-blog-editing-mode "md")     ;; set md or html(default as md)
(setq hatena-blog-backup-dir "~/Dropbox/hatena_blog_backup") ;; set if you want to backup your post.

以上!

課題

  • やっぱりorg-modeからやれるようにしたい.
  • hatena-blog-getsでエラーが出てしまう... why?

参考にしたサイト