Kodama's home / tips.

emacs で HTML のメモを書く

いや, HTML のタグを打とうという事ではなく, <pre> タグの中にメモ書きなどを張り込んでゆこうと云うはなし. emacs で以下のような時刻つきのアンカーを自動的に打つ方法.

時刻つきのアンカー

次のようなタグを生成したい.
<h2>* ここに表題 <a href="#2007-04-06.20:47:00" name="2007-04-06.20:47:00">2007-04-06(金)20:47:00</a></h2>
<pre>
ここにメモ本文
</pre>

memo.html を用意する

~/local_html/memo.html として次のような内容を用意しておく.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<hred>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-2022-JP">
<title> memo </title>
</head>
<body>

<hr><h1>Memo</h1>

このへんにメモを記入

</body>
</html>

目次を生成

目次部分は HTML メモの目次を作成 の項を参照.

.emacs の設定

~/.emacs などに以下のような定義を書いておくと, C-x m で memo.html ファイルを開き, その先頭に, 上のようにメモ用のタグができる.
;; C-x m で メモをファイルを html 形式で開く
(defun memo () (interactive) 
  (find-file "~/local_html/memo.html")
  (beginning-of-buffer) (search-forward "<hr><h1>Memo</h1>") (forward-line)
  (call-process "date" nil t nil "+\n<h2>*  <a href=\"#%Y-%m-%d.%H:%M:%S\" name=\"%Y-%m-%d.%H:%M:%S\">%Y-%m-%d(%a)%H:%M:%S</a></h2>\n<pre>\n\n</pre>")
  (beginning-of-buffer) (search-forward "<hr>") (forward-line) (forward-line) (forward-line) (forward-line)
  )
(define-key ctl-x-map "m" 'memo)

Kodama's home / tips.