「anything-delicious-bookmarks.el」を書いてみた

http://github.com/tototoshi/my-emacs-lisp/blob/master/anything-delicious-bookmarks.el
http://github.com/tototoshi/my-emacs-lisp/blob/master/delicious-parser.rb

書いてみた。
Emacs-w3mでdelicious使いたいなあという個人的な用途。


現時点ではURLエンコードxmlのパースでRuby使ってます。
そのうちEmacs Lispで書きなおすつもり。
URLエンコードのライブラリとかないのかな?

できること

C-xb: anything-delicious-bookmarks
anythingからdeliciousに入れてる自分のBookmarkに飛べます。
actionはw3mで開くのとfirefoxで開くのがあります。


w3mブラウジング中にa: anything-delicious-bookmarks-add-new-bookmark
w3mで見ているページをdeliciousにポストできます。


C-xbというキーバインドはおそらく多くの人にとって都合悪いですよね。
考えなおしたほう良さそう。


w3m-mode-mapのaはもともとw3m-bookmark-add-current-urlなんですが、
これ使ってないので置きかえることにしました。

使いかた

anything-delicious-bookmarks.el,delicious-parser.rbを~/.emacs.d/に入れてください。

設定例です

(load "anything-delicious-bookmarks")
(setq anything-delicious-bookmarks-user "your delicious account name")
(setq anything-delicious-bookmarks-passwd "your password")
;; anythingのソースに追加したいときは
(setq anything-sources
      (cons 'anything-c-source-delicious-bookmarks anything-sources))
;; proxyを使う場合
;; (setq anything-delicious-bookmarks-use-proxy t)
;; (setq anything-delicious-bookmarks-proxy "http://[proxy-host]:[port]")

;; 最新情報の取得
(anything-delicious-bookmarks-refresh)

やってること

anything-delicious-bookmarks

  1. curlでdeliciousのAPIから自分のBookmark情報(xml)をごっそり取得。
  2. xmlをパース。
  3. candidates-in-bufferを利用してanythingのインタフェースを拝借、候補表示
  4. BookmarkのdescriptionとURLのalistをいったんファイルに出力しそれをloadしてanythingのactionに利用(強引すぎるw)


anything-delicious-bookmarks-add-new-bookmark

  1. curl利用してポストしてるだけ

その他

ちょっとこのままでは設定しずらいですよね。
ディレクトリとかの構成決まっちゃってるし(~/.emacs.dを勝手に想定してる)。あとRubyのPATHとかも。
そのうちちまちま直そう。