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