HyperNikkiSystem(以下HNS)ではHyperNikkiFile(以下hnf)で日記を記述するだけで HTMLが生成されますが、そのhnfをEmacsで書く時に便利なモードがhnf-modeです。
まずはhnf-mode.elをload-pathの通ったところに置きます。次は、、、 あ、以上です。
とりあえず~/.emacs等に以下の通り記述します。
(autoload 'hnf "hnf-mode" nil t)
(autoload 'hnf-mode "hnf-mode" nil t)
(setq auto-mode-alist (cons '("\\.hnf$" . hnf-mode) auto-mode-alist))
環境に応じた設定
デフォルトの設定
(日記ディレクトリが~/diary/、ウェブ日記ディレクトリが ~/public_html/diary/)
で、hnfを年毎にディレクトリを分けていている場合は変更は不要です。
デフォルトと異なる場合はhnf:diary-dir, hnf:html-dir,
hnf:diary-year-directorypを設定する必要があります。
(setq hnf:diary-dir "~/foo/diary")
(setq hnf:html-dir "~/public_html/foo/diary")
(setq hnf:diary-year-directoryp nil)
補完候補の設定
変数・マーク・RLINK・CAT・ALIASの補完候補を設定します。
使っていない場合はデフォルトのままとします。
(setq hnf:variable '(("TENKI") ("BASHO") ("TAIJU") ("TAION")))
(setq hnf:marks '(("(^^)") ("(-_-)") ("(^^;") ("(;_;)") ("(T_T)"))
(setq hnf:rlink '(("h14m") ("ari")))
(setq hnf:cat '(("Linux") ("Nikki")))
(setq hnf:alias '(("Be") ("hns")))
キーバインド
各種コマンドを使いたい場合はキーバインドを追加しましょう。
(add-hook 'hnf-mode-load-hook
'(lambda () (progn
(define-key hnf-mode-map "\C-c=" 'hnf:get-link)
(define-key hnf-mode-map "\C-cf" 'hnf:link-find-file)
(define-key hnf-mode-map "\C-ct" 'hnf:insert-time))))
namazu.el
namazu.el本体の設定の詳細は省略しますが、namazu.elからnamazu for hnsを
検索結果からhnfを開けるようにします。また、hnf-modeでnamazu.elを呼べるように
しておくと何かと便利です。
(autoload 'namazu "namazu" nil t)
(setq namazu-command (expand-file-name "~/diary/namazu/bin/namazu"))
(add-hook 'namazu-mode-hook
'(lambda ()
(define-key namazu-mode-map "f" 'hnf:namazu-find-file)))
(autoload 'hnf:namazu-edit "hnf-mode" nil t)
(add-hook 'hnf-mode-load-hook
'(lambda ()
(define-key hnf-mode-map "\C-cn" 'namazu)))
使い方
Emacsを起動したらM-x hnfとタイプしましょう。
(以下、Under Construction)
SAQ