# 付属ツールの使い方

## 目次

1. hnf2tdf.pl
2. mail2tdf/mail2tdf.pl.in
3. mkpasswd.pl
4. tdf-mode.el
5. tdf2html/tdf2html.pl.in
   1. template-latex.ph
6. tdf_join.pl
7. anal_tdf.pl
8. upload.pl

contrib/ 以下に同梱してあるツール群について説明します。

## 1.hnf2tdf.pl

hnsの日記ソース*である hnf を TDSの日記ソース*である tdf にコンバートします。 いわゆる乗り換えツールです。

>     % perl hnf2tdf.pl <hnf_diary_dir> <tdf_diary_dir>

または、hnf2tdf.pl 内の $hnf_dir, $tdf_dir を直接変えて下さい。

## 2.mail2tdf/mail2tdf.pl.in

メールから tdf ファイル*を生成するためのツールです。 .forward に記述します。

詳しくは メールによる更新をご覧ください。

## 3.mkpasswd.pl

diary_dir*/conf/.passwd に入力したパスワードを暗号化して保存します。

crypt() をサポートしていない OS で実行した場合、 そのまま生パスワードを保存します。 また、実行時に入力したパスワードがそのまま表示されてしまいますので、 周囲に人がいないことを十分確認してください。

## 4.tdf-mode.el

tdf-mode.elは，Emacsen(GNU Emacs,XEmacs,etc.)でのtdfファイルの記述を支 援するメジャーモードです．Emacs 19.28以上が必要です．

使用するには，tdf-mode.elをロードパスの通った所にコピーし，必要ならバ イトコンパイルしておきます． $HOME/.emacs などに以下のように記述し，Emacs を再起動します．

>     (autoload 'tdf-mode "tdf-mode" "Major mode for editing files of tdf." t)
>     (autoload 'tdf-open "tdf-mode" "Major mode for editing files of tdf." t)
>     (setq auto-mode-alist (cons '("\\.tdf" . tdf-mode)
>     	 auto-mode-alist)) ;; *.tdf を開いたとき自動的にtdfモードにする

>     (add-hook 'tdf-mode-hook
>       (lambda ()
>          (setq diary-dir "~/diary")      ;; *.tdf があるディレクトリ
>          (setq day-change-offset-hour 3) ;; AM04:00を一日の終わりとみなす
>          (define-key tdf-mode-map "\C-c\C-n" 'tdf-new) ;; キーバインドを変える場合
>          ))

Emacs上で M-x tdf-open とすれば，その日のtdfファイルが開かれます．

>     (global-set-key "\C-c\C-q\C-w" 'tdf-open)

などとしておくと、C-cC-qC-w で直接呼び出す事が出来ます。

tdf-modeでは，tdfコマンドを入力するためのキーボードショートカットが利 用できます． 詳細は，tdf-mode.elのソースを参照してください． キーバインドはhtml-helper-modeのそれに準拠しているので， html-helper-modeに慣れている人はわかりやすいかもしれません． 以下に代表的なものを挙げます． 各tdfコマンドの意味は．doc/tdf.htmlを参照してください．

C-c n
  NEW を挿入します．
C-c s
  SUB を挿入します．
C-c C-m
  ~(改行コマンド)を挿入し，改行します．
C-c C-a l
  LINK を挿入します．参照するURLはミニバッファから入力します．
C-c C-a m
  MAILTO を挿入します．メールアドレスはミニバッファから入力します．
C-c C-l u
  リストコマンド(UL)を挿入します．
C-c C-l o
  番号つきリストコマンド(OL)を挿入します．
C-c C-l d
  定義リスト(DL)を挿入します．
C-c C-l i
  リストの要素を挿入します．
C-c C-d k
  STRIKE を挿入します．
C-c C-d S
  STRONG を挿入します．
C-c C-p d
  辞書(dictionary.dat)を編集します．
C-c C-p p
  TODOリスト(todo.dat)を編集します．
C-c C-p s
  スケジュール(schedule.dat)を編集します．

## 5.tdf2html/tdf2html.pl.in

tdf ファイル*を HTML ファイルに変換します。

./configure && make すると、 環境に合った tdf2html.pl が生成されます。 もしくは、cp tdf2html.pl.in tdf2html.pl し、 %PerlPath%, %LibDir% を適切に変更してください。

これを適当なディレクトリにコピーし、

>     % perl tdf2html.pl foo.tdf > foo.html

などとします。

### 5.1.template-latex.ph

latexファイル出力用のテンプレートです。

>     % perl tdf2html.pl -t template-latex.html foo.tdf > foo.tex

## 6.tdf_join.pl

複数の日記ソース*を月毎ファイルにまとめます。

## 7.anal_tdf.pl

tdf ファイル*群を解析するツールです。 平均サイズ、トピック*数や使用頻度の高いコマンド、カテゴリなどを表示します。

## 8.upload.pl

Net::* が必要。 $FTP_Server を設定。 ~/.netrc を記述

[back]
Copyright(C) 2001