fdus 0.12 release だそうで, いい機会なんで私の使ってる Emacsヘボ関数でも公開しようか なんて思っちゃったりして。Y.A.S.D. って fdus と 日記ソースファイル の directory 構造同じだから (^^;。 拡張子は .hd じゃなく .html だけど, それは html-helper-mode が使いたいから。
4 行目の base-dir のところを, fdus の $SRCDIR と同じにして, たとえば
(global-set-key "C-cw" 'TT_web-diary)
とかしとくと, C-cw で今日の日記ファイルが。 C-u数字C-cwで, 今日から数えて数字日だけ前日の日記ファイルが 編集できます :-)。数字を入力せずに C-uC-cw とすると, 前日 (つまり昨日) の日記ファイルが編集できます。
Emacs 20.x 以降なら, 多分動くんじゃないかな。Meadow でも, そのまんま 動くはず。format-time-string を使わないようにすれば, 19.x でも動くかも。日付の巻き戻しのところは 結構カッコ悪いことをしてるので, じっくり見ないように (^^;。ちょっとくらい負になっても 大丈夫そうなんだけども, 念のため。
(defun TT_web-diary (&optional daysago) (interactive "P") (let ((time-list (current-time)) (base-dir "/home/ferdia/public_html/diary/src") (rewind-seconds) (file-dir) (file-name)) (if daysago (progn (if (listp daysago) ;; only universal arg. (setq rewind-seconds 86400) (setq rewind-seconds (* daysago 86400))) ;; univ arg. with digit (while (< (car (cdr time-list)) rewind-seconds) (progn (setcar time-list (1- (car time-list))) (setcar (cdr time-list) (+ 65536 (car (cdr time-list)))))) (setcar (cdr time-list) (- (car (cdr time-list)) rewind-seconds)))) (setq file-dir (expand-file-name (format-time-string "%Y%m" time-list) base-dir) file-name (format-time-string "%Y%m%d.hd" time-list)) (if (null (file-directory-p file-dir)) (make-directory file-dir)) (find-file (expand-file-name file-name file-dir))))
Emacs+fdus ユーザによる動作確認希望 (^^;。