[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40. 日記を書く ― ndiary mode (2004/03/11)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=write%20diary"
"MeadowMemo/日記を書く―ndiarymode"へのコメント(無し)
検索全文Elisp


この章で紹介していること



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.1 日記を書くためのシステムとは (2004/03/11)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=diary%20system"
"MeadowMemo/日記を書くためのシステムとは"へのコメント(無し)
検索全文Elisp

当り前ですが日記は時系列順に並びます.そのために,後から「たしかこのころにあった と思ったんだけどなぁ」という曖昧な記憶でも該当する記事を探しやすいというメリットが あります.

そのために, Web ページ上で日記を公開するという使い方だけでなく,個人のメモとし ても非常に便利に使うことができます.

しかし,いざ書こうとしてもなかなか面倒なものです.メモ帳でずらずらと並べても,後 から見て分かりにくい.しかも,ある程度書式を決めておかないと,後から何らかの加工 を行うこともできなくなってしまいます.

さらに,公開となると尚面倒な作業になります.普通に書くと,毎月 HTML ファイルを変え る必要がありますが,これは見る人にとって不便です.しかし,固定ページに日記を書い て,定期的に別ページへ移動するのも書く側が面倒です.

そこで,極めて簡単な書式で書かれた日記を加工して HTML に出力してくれるソフトがたく さん開発されています.具体的にはtdiarynDiary などがあります.

では,どれを選んだらいいのか.これらは非常に大雑把に分けると 2 タイプになります.

個人的には,「サーバが不要なもの」が簡単に導入でき,個人のメモとしても利用しやす いと思います.中でも nDiary は Meadow ユーザ用に各種モードが用意されており,使い勝手 がいいシステムです.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.2 nDiary とは何? (2003/10/22)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=ndiary"
"MeadowMemo/nDiaryとは何?"へのコメント(無し)
検索全文Elisp

普通, Web ページを作る場合,全体の構想を決め, HTML のタグを編集していきます. つまり,「 a href 」,「 h1 」,「 p 」などなどを打ち込んでいく必要があるわけです.

Web ページ作成ソフトで作る人もいるかもしれませんね.これだと,手でタグを編集す ることはあまりないかもしれませんが,このサイトを見る人にそんな軟弱者はいないでしょ う.

それはともかく,タグを打つという作業は普通にページを作るだけでも面倒です.どのタ グを使っていいのか忘れたり,閉じ忘れたりといったことがあり,プレビューと編集を繰 り返す必要があります.

しかも,日記となるとさらに面倒です.例えば, 1 ページにずらずらと書いていくと, ファイルサイズが大きくなりすぎてしまいます.しかし,かといって,毎日昨日書いたも のを別のファイルへ移動するのも面倒です.

そこで, nDiary の登場です.

          本の虫
目次
○リンク
○写真館
○旅の記録

ここに日記を入れたいなぁ

------------------------------------
見てくれてありがとう

例えば,こんな風に見えるページを作りたいとします.普通は,日記以外の部分を作って おき,日記部分を毎日編集していくという形になります.

nDiary では,上記のファイルをテンプレートとして利用します.

そして,別のファイルに日記を書きます.例えばこんな具合.

○「たった一つの冴えたやり方」読了

SF の古典.異星人とのファースト・コンタクトを描いた 4 つの小説が収められています.

見ての通り,タグはなく普通のテキストしかありません.そのため,普段使い慣れたエディ タで編集することができます.もちろん,テキストですので,事前に加工を行うことも簡 単にできます.

この日記ファイルを nDiary により処理すると,例えば

          本の虫
目次
○リンク
○写真館
○旅の記録

○「たった一つの冴えたやり方」読了

SF の古典.異星人とのファースト・コンタクトを描いた 4 つの小説が収められています.

------------------------------------
見てくれてありがとう

のように見える HTML を出力してくれます.http://www.bookshelf.jp/もこんな 風にして作っています.

さらに,トピックのように,話題の一覧 も出力してくれます.

これにより,毎日ストレスなく日記を書くことができます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.3 nDiary のインストール (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=install%20ndiary"
"MeadowMemo/nDiaryのインストール"へのコメント(無し)
検索全文Elisp

nDiary を使うことができるようにするためには,いくつかのステップを踏む必要があり ます.以下で,順番に紹介していきます.

40.3.1 nDiary の入手とインストール (2003/06/02)  
40.3.2 nDiary を実行するソフトをインストール (2003/06/02)  
40.3.3 日記ディレクトリの作成 (2003/06/02)  
40.3.4 テンプレートを設置 (2003/06/02)  
40.3.5 設定ファイル ndiary.conf の設置 (2003/06/02)  
40.3.6 実行用の bat ファイルを作る (2003/06/02)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.3.1 nDiary の入手とインストール (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=download%20ndiary"
"MeadowMemo/nDiaryの入手とインストール"へのコメント(無し)
検索全文Elisp

nDiary過去ログ置き場から ndiary_0.9.2.zip をダウンロードします.

これより新しいものがあれば,それをダウンロードします.ただし,ファイル名に beta と ついていないものを選んでください. beta は直前の安定バージョンに入っているファイル の一部しか入っていませんので,それだけでは使えません.

ダウンロードしたら,解凍します.解凍してできたファイルやフォルダを全部一緒に好き な場所へ移動します.ただし,パスにスペースや日本語を含まない方が無難です.

パスとは

C:\Documents and Settings\Administrator\Application Data

のようにファイルやフォルダのある場所のことです.これにスペースが含まれていると, トラブルの原因になります.

そのため,例えば,

c:/ndiary

にコピーしておきます.そうすると,以下のような構成になります.

c:/ndiary/log
c:/ndiary/misc
c:/ndiary/sample
c:/ndiary/script
c:/ndiary/index.html
c:/ndiary/product.css



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.3.2 nDiary を実行するソフトをインストール (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=install%20ndiary%20related"
"MeadowMemo/nDiaryを実行するソフトをインストール"へのコメント(無し)
検索全文Elisp

nDiary は Ruby という言語で書かれています.これは,このままではパソコンで実行するこ とはできません.そこで,別のソフトが必要になります.

1 つは Ruby で,もう一つは nDiary 用の実行ファイルです.

標準機能に関してはどちらでも同じように使うことができます.個人的には Ruby がお勧め です.

ただし, Windows 用実行ファイルはネットで公開されている一部の機能追加用ファイルは 動かないかもしれません.

ndiary-mode.el を使えば,両方とも Emacs から使うことができます.

40.3.2.1 Ruby のインストール (2003/06/02)  
40.3.2.2 Windows 用実行ファイルのインストール (2003/06/02)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.3.2.1 Ruby のインストール (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=install%20ruby%20ndiary"
"MeadowMemo/Rubyのインストール"へのコメント(無し)
検索全文Elisp

Rubyとは手軽なオブジェクト指向プログラミング を実現するための種々の機能を持つオブジェクト指向スクリプト言語です.

ここでは, nDiary を実行するために必要なものと思っておいてください.

まず,ruby のダウンロード先より, Ruby をダウンロードします.そして,解凍します.

できたフォルダを例えば, c:/script/ へ移動します.

そうすると,

c:/script/bin
c:/script/doc
c:/script/lib
c:/script/man
c:/script/Readme など

といった構成になります.次にパスを通します.

これで, Ruby のインストールは完了です.インストールの確認は,スタートメニューから 「コマンドプロンプト」あるいは「 MSDOS プロンプト」を起動します.

そして,以下を入力します.

ruby -v

この結果,「 ruby 1.6.8 (2002-11-09) 」などが表示されれば問題ありません.

表示されなければ,

set

と入力します.すると,環境変数が表示されますので, PATH の項目を確認します. cygwin を使っているなら,

set | grep "PATH"

とすると分かりやすいでしょう.これで,正しく設定されているかどうかを確認します.

Windows 98 だと,環境変数の領域 (PATH がこの値だということなどを保存しておく場所) が 足りないという可能性もあります. c:/config.sys を開き

shell=c:\command.com c:\ /p /e:2048

のように編集します.既に同じようなのがあれば,こんな風に変えてください.既に 2048 になっていれば,もっと大きくしてください.

これで,再起動します.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.3.2.2 Windows 用実行ファイルのインストール (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=install%20ndiarywin"
"MeadowMemo/Windows用実行ファイルのインストール"へのコメント(無し)
検索全文Elisp

nDiary過去ログ置き場から, ndiary_win32_*.*.*.zip (*は数字) をダウンロードします.

ダウンロードしたら,解凍します.

そうすると, ndiary-console.exe と ndiary.exe などのファイルができます.次に, ndiary-lib.rb のあるフォルダ,つまり, c:/ndiary/script に ndiary-console.exe と ndiary.exe を移動します.他のファイルは不要ですので,消して構いません.

これで完了です. ndiary.exe を実行すると,起動できます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.3.3 日記ディレクトリの作成 (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=mkdir%20ndiary%20dir"
"MeadowMemo/日記ディレクトリの作成"へのコメント(無し)
検索全文Elisp

毎日書く日記ファイルを置いておくディレクトリ (=フォルダ) を作成します.

どこでもいいですが,ここでは,

c:/diary

を作成したものとします.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.3.4 テンプレートを設置 (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=make%20ndiary%20template"
"MeadowMemo/テンプレートを設置"へのコメント(無し)
検索全文Elisp

作成される日記のもととなるファイルです.必要になるテンプレートは以下の 3 つあります.

nDiary はこれらのファイルへ日記などを追加して,最終的な HTML を作成してくれます.

一番楽なのは,

c:/ndiary/sample

に入っているものを使うことです.

ここでは,

c:/ndiary/sample/nonsensetalk1

のファイルを使ってみます.まず, ndiary.conf 以外のファイルを日記のディレクトリ (c:/diary) へコピーします.拡張子が css のファイルについては,出力先 (例えば c:/www) にもコピーしておきます.

テンプレートのデザインは適宜編集してください.日記は「<!--body-->」とある部分に 挿入されます.

ただし,ファイルを編集する際には

<!--body-->

のようなコメント部分の編集には注意してください.この部分は nDiary が使いますので, 下手に編集するとうまく動作しなくなります.

もちろん場所を移動するだけなら問題ありません.

40.3.4.1 機能の調べ方 (2003/06/02)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.3.4.1 機能の調べ方 (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=check%20ndiary%20plugin"
"MeadowMemo/機能の調べ方"へのコメント(無し)
検索全文Elisp

ここは興味のある人向けです.とりあえずは分からなくても構いません

例えば, latest.html を開くと

<div class="calendar">
<!--plug=calendar?lang=en-->
</div>

のような部分があります.名前で検討はつくでしょうが,機能は以下のようにして調べる ことができます.

こんな風に plug で始まっているものは,プラグインが処理します.プラグイン,つまり, 機能拡張です.

その後にある「 calendar 」がプラグインの名前,「? 」以降が引数になります.

引数とは,プラグインに渡す条件 (オプション) のことです.この例では,「 calender プラ グインを実行しなさい.ただし, lang は en としなさい」という意味になります.

次に calender プラグインを見てみましょう. c:/ndiary/script/plugin に calender.rb と いうファイルがあります.これが, calender プラグインです.

最初の方に

    nDiary Plug-in  カレンダーの作成

    各日付へのリンク付きのカレンダーを作成します。

    option:
      lang=en         月名、日付を英語表記にします。

      exsample:
        <!--plug=calendar?lang=en-->

のように説明がありますね.これで, latest.html の 1 行が何をしているのか分かりました.

こんな風にして,各機能を調べていくことができます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.3.5 設定ファイル ndiary.conf の設置 (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=ndiary%20conf"
"MeadowMemo/設定ファイルndiary.confの設置"へのコメント(無し)
検索全文Elisp

次に設定ファイルを作成します. c:/ndiary/script に「 sample.ndiary.conf 」というファ イルがありますので,これを編集します.

とりあえず編集が必要なのは,以下の項目です.

# 日記の原稿が存在するディレクトリ
#          (ここで指定したディレクトリ以下を再帰的に検索します)
LOG_DIRECTORY = 'c:/diary/'

# html ファイルを出力するディレクトリ
# 日記ファイルとは別の場所を指定すること
# c:/www はあらかじめ作っておくこと
OUTPUT_DIRECTORY = 'c:/www/'

# 1 日分の日記の下に挿入される html   ex.) '<hr>'
SPLIT_PASTDAYS = '<hr>'

# トピック一覧の設定
# 下の 2 つはコメントにしておく (先頭に#をつける)
TOPIC = topics.html		[○●◎□■◇◆△▲▽▼☆★] *
#TOPIC = ndiary.html	(?i:ndiary)	[○●◎□■◇◆△▲▽▼☆★] *
#TOPIC = books.html	読書	[○●◎□■◇◆△▲▽▼☆★] *

編集したら,

c:/ndiary/script/ndiary.conf

に保存します.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.3.6 実行用の bat ファイルを作る (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=ndiary%20bat%20file"
"MeadowMemo/実行用のbatファイルを作る"へのコメント(無し)
検索全文Elisp

nDiary を利用する場合,作っておくと楽になります.作らなくても構いません.

以下のように書き, c:/ndiary/script/make.bat に保存します. diary ファイルがあると ころへ作成してください.

Ruby 版

cd c:/ndiary/script
ruby diary ndiary.conf all
ruby diary ndiary.conf

Windows 用実行ファイル版

cd c:/ndiary/script
ndiary-console ndiary.conf all
ndiary-console ndiary.conf



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.4 日記を書こう (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=make%20diary"
"MeadowMemo/日記を書こう"へのコメント(無し)
検索全文Elisp

もう嫌になったと言われそうで不安ですが,いよいよ日記を書く時です.

日記ファイルは

c:/diary

以下に書きます.ファイル名は

20030601.diary
年月日.diary

のように,「今日の日付 +.diary 」になります.ディレクトリに入れても構いません.

毎回,手入力は面倒ですが,これは ndiary-mode.el を使うことで解決できます.

また,強調やリンクなどは独自のタグを使います.それについては,

C:/ndiary/log/2000/01/20010101.diary

に書いてあります.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.5 HTML を nDiary で出力 (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=output%20ndiary"
"MeadowMemo/HTMLをnDiaryで出力"へのコメント(無し)
検索全文Elisp

make.bat が作ってあれば,実行するだけです.

Windows 用の実行ファイル ndiary.exe も実行するだけです.作成を押せば作成できます.

これで,出力先にファイルが作成されているはずです.

それ以外の場合には,「コマンドプロンプト」,「 MSDOS プロンプト」,「 bash 」のいず れかを起動します.

そして,以下を参考にコマンドを入力します (以下の例は「コマンドプロンプト」, 「 MSDOS プロンプト」のものです) .

c:
cd ../../ndiary/script
ruby diary ndiary.conf

Windows 用実行ファイルでは

ndiary-console ndiary.conf

になります.

これにより,

が作成されます.

ところが,月が変わってしまうと,先月のファイルは更新されなくなってしまいます.そ うなると,カレンダーは古いままになってしまいます.

そこで,

ruby diary ndiary.conf all
ndiary-console ndiary.conf all

のように,最後に all を付けてください.そうすると,

が作成されます.最新のファイルは作られませんので,注意してください.

また,

ruby diary ndiary.conf 200306
ndiary-console ndiary.conf 200306

とすると,

が作成されます.これで,出力フォルダ (c:/www) にファイルが作成されているはずです.

これで,基本的な使い方は終わりです.後は日記を書いていくだけです.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.6 Meadow で日記を書こう (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=diary%20for%20meadow"
"MeadowMemo/Meadowで日記を書こう"へのコメント(無し)
検索全文Elisp

やっと Meadow の説明まできました.ここでは, nDiary と Meadow を便利に使う方法を 説明します.

40.6.1 Meadow と Elisp で何ができるのか (2003/06/02)  
40.6.2 日記編集用のモード ― ndiary-mode (2003/06/03)  
40.6.3 日記ファイルを一覧表示 (2003/06/02)  
40.6.4 ndiary-mode を使わずに日記ファイルを作成するには (2003/06/02)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.6.1 Meadow と Elisp で何ができるのか (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=advantage%20ndiary"
"MeadowMemo/MeadowとElispで何ができるのか"へのコメント(無し)
検索全文Elisp

ここまでで, nDiary を説明してきました.一度使って見ると以下のような点が不便だと感 じるのではないでしょうか.

Meadow と Elisp を使うと,これらを解決できます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.6.2 日記編集用のモード ― ndiary-mode (2003/06/03)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=ndiary-mode"
"MeadowMemo/日記編集用のモード―ndiary-mode"へのコメント(無し)
検索全文Elisp

公開されているサイトで使っている人はほとんどいないんじゃないかという気がしますが, 紹介します.

これを使うと,

が解決できます.

本家は公開プログラむズです.私が 紹介してるのは,少し中身が違いますので,ご注意を.

まず,ndiary-mode.el をダウン ロードし,ロードパスの通ったところ (c:/unix/Meadow2/site-lisp など) へコピーしま す.

設定

以下を.emacs に追加します.

Ruby を使うとき

 
(require 'ndiary-mode)
(setq ndiary-ruby-file-name "ruby")
(setq ndiary-log-directory "c:/diary") ;;日記ファイルの場所
(setq ndiary-script-derectory "c:/ndiary/script") ;;diary のあるディレクトリ
(setq ndiary-latest-filename "c:/www/index.html") ;;トップページ
;; fft ソフトと引数.分からなければ nil でいいです.
(setq ndiary-upload-command "E:/Program Files/ffftp/FFFTP.exe")
(setq ndiary-upload-command-option " -s bookshelf -m -q -f")

ndiary-console を使う時

 
(require 'ndiary-mode)
(setq ndiary-ruby-file-name "c:/ndiary/script/ndiary-console")
(setq ndiary-diary-command nil)
(setq ndiary-log-directory "c:/diary") ;;日記ファイルの場所
(setq ndiary-script-derectory "c:/ndiary/script") ;;diary のあるディレクトリ
(setq ndiary-latest-filename "c:/www/index.html") ;;トップページ
;; fft ソフトと引数.分からなければ nil でいいです.
(setq ndiary-upload-command "E:/Program Files/ffftp/FFFTP.exe")
(setq ndiary-upload-command-option " -s bookshelf -m -q -f")

使い方

@kd{M-x ndiary-edit}で今日の日記ファイルが開かれます.後はそのまま書くだけです.

書き終わったら,C-c C-cで HTML に出力します.出力が終わったら,C-c pで プレビューができます.

日記を全部作り直したい時には,C-u C-c C-c allとします. all を 200306 などにす ることもできます.

主要なキーバインドは以下の通り

普段は日記を書いて C-c C-c で html を作成. たまに, C-u C-c C-c の後に all を入力し て, すべての html を作成し直す. で, あとは FTP ソフトを使ってアップデート. とい うのが, 基本的な使い方です.

.emacs に上記に続けて

 
(ndiary-edit)

と書いておくと, Meadow を起動するだけで日記が書けるようになります. これで毎日, 20010101.diary といったファイル名を入力する必要がなくなり, 便利です.

また, Meadow 起動時に日記ファイルが表示されるのは嫌だという時には, さらに続けて,

 
(switch-to-buffer "*scratch*")

と書いておきます. すると, 起動時は scratch バッファになり,人前で起動しても安全 です.

日記を書くときには, C-x b で日記バッファに移動します.

次からは, ndiary-mode を拡張する方法を紹介していきます.

40.6.2.1 yahtml, text-adjust と組み合わせる (2003/06/02)  
40.6.2.2 nDiary のタグを挿入する (2003/07/05)  
40.6.2.3 複数の日記を書きたい (2003/07/05)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.6.2.1 yahtml, text-adjust と組み合わせる (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=ndiary%20yahtml"
"MeadowMemo/yahtml,text-adjustと組み合わせる"へのコメント(無し)
検索全文Elisp

私は text-adjustyahtml を組み合わせて使ってい ます.

text-adjust と組み合わせると,機種依存文字を書いたとしても変換してくれますし,英 語と日本語の間には自動的にスペースを入れてくれるようになります.

yahtml-mode と組み合わせると,リンクを張る際に yahtml を利用してタグを入力するこ とができます.

まぁ, ndiary には ndiary のリンクの貼り方があるのですが, 慣れてしまった方がやり やすいので, 私はタグを打ちこむことが多いです.

 
(add-hook 'ndiary-pre-compile-hook
          '(lambda ()
             (text-adjust-codecheck)
             (text-adjust-kutouten)
             (text-adjust-space)
             ))

(add-hook 'ndiary-mode-hook
           '(lambda ()
              (require 'yahtml)
              (local-set-key "\C-c\C-t" 'browse-url-of-buffer)
              (local-set-key "\C-cb" 'yahtml-insert-begend)
              (local-set-key "\C-cB" 'yahtml-insert-begend-region)
              ))



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.6.2.2 nDiary のタグを挿入する (2003/07/05)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=insert%20ndiarytag"
"MeadowMemo/nDiaryのタグを挿入する"へのコメント(無し)
検索全文Elisp

馴染みのない人には ndiary のタグは使いにくいもの. なかなか覚えないし, ストレスも 溜まる.

そこで, こんなのはどうでしょうか. C-c C-iでメニューが表示され, タグが入力 できます.

リンクやプログラムコードの挿入, ルビなどが簡単にできます.

また, メニューから「 Row 」を選ぶと直接 html を書くことができます.これを選ぶと yahtml-mode に切り換わります. 編集が終わったら C-cC-c で ndiary-mode へ戻ることができます.ただし, yahtml-mode を使ってない人も多いと思うので,コメン トにしてあります.必要に応じてコメントアウトしてください.

ndiary-menu.elをダウン ロードし,ロードパスの通ったところへ置き,

 
(load "ndiary-menu")

を追加して使ってください.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.6.2.3 複数の日記を書きたい (2003/07/05)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=ndiary%20schedule"
"MeadowMemo/複数の日記を書きたい"へのコメント(無し)
検索全文Elisp

ndiary 自体は日記を 1 つしか管理できません.しかし,複数書きたいこともあると思いま す.そこで, ndiary-mode の設定を切り変えることで,複数の日記を管理することができ ます.

まず, nDiary を複数設置します.それぞれの出力先や日記ファイルの場所も作成しておき ます.

multi-ndiary.elをダウン ロードし,ロードパスの通ったところへ置き,

 
(load "multi-ndiary")

を ndiary-mode の設定の後に追加します.

nikkiと併用する際には, コメントをはずしてください

これで,M-x change-ndiary-diaryとすることにより,日記を切り替えることがで きます.後は普通に編集できます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.6.3 日記ファイルを一覧表示 (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=nikki"
"MeadowMemo/日記ファイルを一覧表示"へのコメント(無し)
検索全文Elisp

ndiary は日記を書くのに便利なのですが, 不便な点もあります. それは 1 日 1 ファイ ルなので, 前日までに書いた日記を探すのが面倒なことです.

そこで, nikki.el を利用します.インストールはダウンロードして,ロードパスの通っ たところへ置きます.

そして,以下を.emacs に追加します.

 
(autoload 'schedule "nikki" nil t)
(setq schedule-dir "~/diary") ;; 日記ファイルのあるディレクトリ
(schedule)

これで起動すると,スクリーンショットのように, 1 ヶ月単位で日 記ファイルを一覧できます.

ここで,v を入力すると, スクリーンショットのように簡易表 示ができます.編集したい日記があればeで編集できます.

主な機能は以下の通り.

ただし, ~/diary/2002/01/20020128.diary (年/月/日記ファイル) というディレクトリ構 成以外では動きません. ndiary-mode を使っていれば問題ないと思います.

その上, 私がかなり適当に変更してますので, ご注意を.

最後に nikki.el 内の Author にはメールなどしないようにお願いします. 多分, 私の責 任ですので,,,

40.6.3.1 一覧表示をトピックで切り替える (2003/09/23)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.6.3.1 一覧表示をトピックで切り替える (2003/09/23)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=nikki%20topic"
"MeadowMemo/一覧表示をトピックで切り替える"へのコメント(無し)
検索全文Elisp

何が問題なのか?

nikki.el で一覧表示は可能ですが,結局ずらずらと並ぶだけで便利とはいい難いものです.

一応,検索して表示するトピックは変更できますが,毎回指定するのも面倒です.

何ができるのか?

表示するトピックを簡単に切り替えることができます.

設定方法

以下を参考に.emacs に設定を追加します.

 
;; トピックの切り替え
(defun schedule-change-topic ()
  (interactive)
  (if schedule-summary-search-mode-p
      (setq schedule-summary-search-mode-p nil)
    (progn
      (message "d) iary b) ook E) tc...")
      (let ((c (char-to-string (read-char))))
        (cond
         ((string-match "d" c)
          ;; ここに s で検索する文字を指定する
          (setq schedule-search-word "日記"))
         ((string-match "b" c)
          (setq schedule-search-word "読書"))
         ((string-match "e" c)
          (setq schedule-search-word "その他"))
         ))
      (setq schedule-summary-search-mode-p t)))
  (schedule-open schedule-current-time
                 schedule-prev-conf t))

(add-hook 'schedule-mode-hook
          '(lambda ()
             (local-set-key "t" 'schedule-change-topic)
             ))

詳しい使い方

日記の一覧画面で, t とすると,

d) iary b) ook E) tc...

というメニューが出ます.ここで,例えば,d と入力すると,s 日記と入力 したのと同じ動作をしてくれます.

これにより,毎回「日記」と入力しなくても,表示するトピックを切り替えることができ ます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

40.6.4 ndiary-mode を使わずに日記ファイルを作成するには (2003/06/02)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=nouse%20ndiary-mode"
"MeadowMemo/ndiary-modeを使わずに日記ファイルを作成するには"へのコメント(無し)
検索全文Elisp

ndiary-mode が好きになれないとか, うまく動かないという場合は以下の様にすると日記 ファイルを開くだけなら簡単にできます. また, apel も不要です.

.emacs に以下を記入します.

 
;; ファイル名の指定
(defun ndiary-time-stamp-for-file ()
  (format-time-string "%Y%m%d"))

;; ディレクトリは 2003/05 (年/月) にする
(defun ndiary-time-stamp-for-dir ()
  (format-time-string "%Y/%m/"))

(setq ndiary-dir-name
      (concat
       "c:/diary/" ;; 変更の必要有り
       (ndiary-time-stamp-for-dir)
       ))

(setq ndiary-file-name
      (concat
       (eval ndiary-dir-name)
       (ndiary-time-stamp-for-file)
       ".diary"))

;;ディレクトリがなければ作成
(when (not (file-exists-p ndiary-dir-name))
  (ignore-errors (make-directory ndiary-dir-name t)))
(find-file ndiary-file-name)

これで, Meadow を起動するだけで日記が書けるようになります. ただし, ディレクトリ は適当に変更してください


[ << ] [ >> ]           [表紙] [目次] [索引] [検索] [上端 / 下端] [?]