しばらく前から、記事ごとにDocument IDを入れるようにしている。実はこのID、生成するコマンドをシェル上で実行してコピペしてるのだ。記事本文はemacs(Meadow)のhatena-modeを利用してるので、ID生成もemacs上でするようにしようと久々にemacs-lispに触れてみた。こんな簡単なことをするのにもマニュアル見ながら30分近くかかってしまった。
(defun document-id () (interactive) (let ((cnt 0) (ls ())) (random t) (while (< cnt 16) (setq ls (cons (format "%02x" (mod (random) 256)) ls)) (setq cnt (1+ cnt))) (insert (apply 'concat "Document ID: " ls))))
Document ID: dc80885dadc88992c327dd9addee38a6