simple-hatenaを使ってみる
なんだか最近vimの設定ばっかりなのでemacsでhatenaダイアリーに投稿出来る、simple-hatena-mode.elを使ってみる。
インストール
svn co http://svn.coderepos.org/share/lang/elisp/simple-hatena-mode/trunk ~/.emacs.d/site-list/simple-hatena-mode
はてなダイアリーライター(略称:はてダラ)からhw.plをコピーして以下に配置
~/.emacs.d/bin/hw.pl
~/.profileにhw.plのパスを設定
PATH = ~/.emacs.d/bin:$PATH
設定
simple-hatena.elの読み込み
(setq load-path (cons "~/.emacs.d/site-list/simple-hatena-mode" load-path)) (require 'simple-hatena-mode)
デフォルトユーザIDの設定
(setq simple-hatena-default-id "suusuke")
hw.plがちゃんと動作するか確認
$ hw.pl
実行しても何も表示されない。
perlコマンドからhw.plを実行
$ perl
$ ここにhw.plを張り付け
Crypt::SSLeay is not found, use non-encrypted HTTP mode
SSLeayが無いといわれたのでCPANよりインストールし、エラーは出なくなった。
もう一度、C-c C-pより投稿してみる。
やっぱり、Now Posting...野表示が出てきて投稿されない。
何が原因なんだろう??
次、投稿する時まで原因を解明する。
~/.emacs.el
今のemacs.el
;;; color theme ;;; http://www.cs.cmu.edu/~maverick/GNUEmacsColorThemeTest/index-el.html (require 'color-theme) (color-theme-initialize) (color-theme-arjen) ;;; window setting (if (boundp 'window-system) (setq initial-frame-alist (append (list '(vertical-scroll-bars . nil) ;;スクロールバーはいらない '(width . 120) ;; ウィンドウ幅 '(height . 45) ;; ウィンドウの高さ '(top . 0) ;;表示位置 '(left . 1100) ;;表示位置 ) initial-frame-alist))) (setq default-frame-alist initial-frame-alist) ;;; 行数表示 (line-number-mode t) ;;; optionをメタキーにする。 (setq mac-option-modifier 'meta) ;;; ウィンドウを透明化 (add-to-list 'default-frame-alist '(alpha . (0.85 0.85))) ;;; フレーム(ウィンドウ)をMETA + 2で新たに開く ;;; フレーム(ウィンドウ)をMETA + 0で閉じる (global-set-key "\M-2" `make-frame) (global-set-key "\M-0" `delete-frame) ;;; ウィンドウ上部のアイコンの列は使わないので消す (tool-bar-mode 0) ;;; C-hが使えるようにする (load "term/bobcat") (when (fboundp `terminal-init-bobcat) (terminal-init-bobcat)) ;;; C-spaceで選択した箇所を可視化 (setq-default transient-mark-mode t) ;;; fontの設定(osaka 12) (if (eq window-system 'mac) (require 'carbon-font)) (fixed-width-set-fontset "osaka" 12) ;;; スタートアップページを表示しない (setq inhibit-startup-message t) ;;; 選択文字を強調表示 ;;;(require 'highlight-regexp) ;;; ruby-mode.el (autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t) (setq auto-mode-alist (append '(("\\.rb$" . ruby-mode)) auto-mode-alist)) (setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-alist)) ;;; simple-hatena-mode ;;; svn http://svn.coderepos.org/share/lang/elisp/simple-hatena-mode/trunk ;;; url http://coderepos.org/share/wiki/SimpleHatenaMode (setq load-path (cons "~/.emacs.d/site-lisp/simple-hatena-mode" load-path)) (require 'simple-hatena-mode) (setq simple-hatena-default-id "suusuke") ;;; はてダラスクリプトのパス(デフォルト値: hw.pl) (setq simple-hatena-bin "~/.emacs.d/bin/hw.pl") ;;; はてダラデータを置くディレクトリ(デフォルト値: ~/.hatena) (setq simple-hatena-root "~/.emacs.d/site-lisp/simple-hatena-mode/.hatena") ;;; バックアップフィアルを絶対パスっぽくする ;;; ~/backupにバックアップファイルを作成する (setq backup-by-copying t) (defadvice make-backup-file-name (around modify-file-name activate) (let ((backup-dir "~/backup")) ;; 保存ディレクトリ (setq backup-dir (expand-file-name backup-dir)) (unless (file-exists-p backup-dir)(make-directory-internal backup-dir)) (if (file-directory-p backup-dir)(let* ((file-path (expand-file-name file)) (chars-alist '((?/ . (?#))(?# . (?# ?#))(?: . (?\;))(?\; . (?\; ?\;)))) (mapchars(lambda (c) (or (cdr (assq c chars-alist)) (list c))))) (setq ad-return-value(concat backup-dir "/"(mapconcat 'char-to-string