Y.A.S.D.

« BIRZ | Main | 朝ドラ »

fdus 0.12 公開記念?

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 ユーザによる動作確認希望 (^^;

 

Comments:

Post a Comment:
  • HTML Syntax: Allowed

[Masubi]
Copyright © 1998-2009 Tomoaki TSUMURA. Powered by Apache Roller 4.0.1.
tomoaki@tsumura.info