hatena-blog-modeを使ってみる
hatena-blog-modeを使ってみる
spacemacsにhatena-blog-modeを入れてみたので投稿テスト
spacemacesを使っています.
そうするとご多分に漏れず, 何でもemacsで完結させたくなっちゃいます.
そこでhatena-blog-mode
を使ってみる.
hatena-blog-mode.el
のインストール
elpa
には登録されていないようなので, ローカルにgit clone
する. 私は~/dotfiles/private_elisp/
ディレクトリ下にしました.
>git clone https://github.com/fnwiya/hatena-blog-mode.git
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-source
とEasyPG
を使ってアスセスできるようにする.
hatena_blog_keys
ファイルの作成と暗号化
netrc形式で下記のようにファイルを作成し, hatena_blog_keys
という名前で適当な場所に保存する. 私の場合は~/dotfiles_secret/hatena_blog_keys
として保存してます.(xxxには各自の値を入れて下さい)
user
はhatena-id
, api-key
はhatena-blog-api-key
, blog-id
はhatena-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?