ハイパー日記システム Version 2.10
hnf の記述方法
ハイパー日記ファイルの概要
ハイパー日記システムでは、日々の日記は
非常に単純なテキスト・ファイルである hnf(Hyper Nikki
File) に記述します。 ファイルの名前は
"d日付.hnf" です。 例えば
1999年12月1日の場合は "d19991201.hnf"
です。 当然 "
は省きますし、全て半角小文字です(全角文字ではありません)。
hnf
は,日記ディレクトリ(~/diary/)以下に置きます.~/diary/1999/
には, 1999年の hnf
を置きます(過去との互換性のため ~/diary/ に
hnf を置くこともできますが推奨されません。同一日付の hnf
が ~/diary/ と ~/diary/YYYY/
の両方にある場合は, ~/diary/
にあるものが表示されます).
hnf の漢字コードは,JIS/S-JIS/EUC
のいずれでも表示可能ですが,EUC
で書くことを推奨します.
hnf のファイルの更新時刻は様々に利用されます.hnf
をコピーする場合などは,
ファイルの更新時刻情報を保持する tar や cp -p
を利用することを お勧めいたします.
hnf の基本構造は以下のとおりです.
- コマンドは行頭に置きます。
スペース一つでも空いているとコマンドとして認識されません。
-
1行に1コマンドのみが記述できます.コマンド行の最後は必ず改行します。
-
コマンドは全て半角アルファベットの大文字で書きます.
- コマンドの引数は基本的にスペースで区切ります。
- 文末に「~」が存在すると <BR>
に置きかえられます。
- hnf はヘッダ部と本文に分かれます.
-
ヘッダ部と本文の間は改行のみの1行が来ます.
- ヘッダ部には,
ユーザ変数を記述します(記述しなくても
構いません).
- ヘッダ部には空白行があってはなりません.
-
ヘッダ部の最終行は「OK」だけにしてください。
- OK
が存在しないと、その日の日記は表示されません.
- 本文は必ず NEW,LNEW,RLNEW(又は CAT 又は GRP) から始めます.
- 行の先頭の半角アルファベット大文字の文字列は,
それがコマンドでなくとも将来コマンドとして使用される可能性があります.
このような場合は,スペースを前に入れていただくか,
半角アルファベット大文字の文字列の直後にスペースを入れずに
本文を入力することをお奨めします.
hnf の例
hnf は以下のような簡単なファイルです.
----- start -----
TENKI 曇
OK
NEW Namazu for hns 1.0.2 リリース
おバカな仕様を修正した 1.0.2 をリリースいたしました.
~
hns-1.02.tar.gz に付属の「Namazu for hns」のドキュメントは
古くなっておりますので,ウェブにあるものを御覧下さい.
NEW No hnf bug
いきなり初の bug が発見されてしまいました.ただし日記を書けば,
実害はありません.
~
詳細は,
LINK http://www.h14m.org/docs/known_bugs-j.html バグ報告
をご覧ください.patch を現在準備中です.
----- end -----
hnf および実際の表示例は,
公式日記の hnf と 公式日記
を参照してください.
コマンド一覧
コマンドが生成する HTMLタグ は, テーマ設定(theme.ph)によって
ほぼカスタマイズ可能です.
カスタマイズ可能ですが,コマンドの意味は変わりません.
また,変えてはいけません.なお,日記は以下の「基本コマンド」のみで
書くことができます.
基本コマンド
- NEW
- 文法: NEW 1行の文章
セクションのタイトルを記述します.
タイトル行は,リンク可能なように自動的にアンカー(a
name) が定義されます.アンカー
は上から順に数字が増えていきますので, NEW と NEW
の間に新しいセクションを追加してはいけません. NEW
と NEW
の間に新しいセクションを追加するとどこかのページから
リンクされている場合,リンク先がずれてしまいます. NEW
は必須のコマンドです.必ず記述してください.
- SUB
- 文法: SUB 1行の文章
セクション内のサブ・セクションのタイトルを記述します.
サブ・セクションもリンク可能なように自動的にアンカー(a
name) が定義されます.SUB と SUB
の間に新しいサブ・セクションを
追加してはいけません.理由は NEW
と同じです.
- ~
- 文法: ~
タグ<br>
を表示します.つまり改行されます.このコマンドは,
文末にあったときのみコマンドして認識されます.
応用コマンド
基本コマンド拡張コマンド
- CAT
- 文法: CAT カテゴリ1 [カテゴリ2
...]
例: CAT lynx install
セクションのカテゴリ(分類)を記述します.日記の内容を,
カテゴリで分類したい場合に使用します.使用しなくても
構いません. CATコマンドは NEW, LNEW または
RLNEW の直前にのみ指定できます.
タイトル行にカテゴリ別のアイコンを表示させることも可能です.
詳細は,日記のカテゴリ分類の方法をご覧下さい.
- LNEW
- 文法: LNEW url 1行の文章
例: LNEW http://www.h14m.org/
ハイパー日記システム
NEW
と同様セクションのタイトルを指定しますが,url
へリンクが 張られます.
-
RLNEW
- LSUB
- 文法: LSUB url 1行の文章
例: LSUB http://www.h14m.org/
ハイパー日記システム
SUB
と同様サブ・セクションのタイトルを指定しますが,url
へリンクが張られます.
-
RLSUB
- P
- 文法: P
タグ<p>
を表示します。段落を分けます。Pコマンドは、
/Pコマンドで閉じる必要があります。
- /P
- 文法: /P
Pコマンドを閉じます。タグ</p>
を表示します。
- GRP
- 文法: GRP グループ1 [グループ2
...]
例: GRP ruri shinomu
ひみつ交換日記機能を利用します。
GRPコマンドはそのセクションに CAT
がある場合は、CAT の直前に、 CAT
がない場合は、NEW, LNEW または RLNEW
の直前にのみ指定できます. 詳細は,ひみつ交換日記機能をご覧下さい.
リンク・コマンド
- LINK
- 文法: LINK url 説明文章
例: LINK http://www.h14m.org/
ハイパー日記システム
リンクを張ります. 例は,「 ハイパー日記システム
」と表示されます.
- URL
- 文法: URL url 説明文章
例: URL http://www.h14m.org/
ハイパー日記システム
URL を記述しリンクを張ります.例では「
ハイパー日記システム(http://www.h14m.org/)
」と表示されます.URL
を明示したい場合に使用します.
-
RLINK
-
文法: RLINK 引数1 引数2
説明文章
例: RLINK hoge ?19981201 説明文章
「説明文章」としてリンクされる点は,LINKコマンド と同様ですが,
~/diary/conf/rlink.txt で定義した URL に最初の
引数1 が置き換えられます. よくリンクする
URL
を設定し日記の記述を省略するために用意されました.
定義ファイルrlink.txt は
定義文字列[スペース]URL
と記述します。例えば,
hoge http://www.foo.bar.jp/~hoge/diary/
のように記述します.
この場合,上記のコマンド例は,
http://www.foo.bar.jp/~hoge/diary/?19981201
へのリンクを張ります.
-
RLNEW
- 文法: RLNEW 引数1 引数2
1行の文章
NEWコマンド同様、新しいセクションのタイトルを
記述しますが、 同時にRLINKコマンド同様にリンクを指定します。
-
RLSUB
- 文法: RLSUB 引数1 引数2
1行の文章
SUBコマンド同様、新しいサブ・セクションのタイトルを
記述しますが、 同時にRLINKコマンド同様にリンクを指定します。
- LNEW
- LSUB
-
LSTRIKE
- LIMG
装飾コマンド
- FONT
- 文法: FONT 引数1 引数2
文章
例: FONT COLOR red 赤い文字
タグ<font>
を表示します.上記例では,「赤い文字」と表示されます.
-
STRIKE
- 文法: STRIKE 文章
タグ<strike> を表示します.
「文章」と表示されます.
- LSTRIKE
- 文法: LSTRIKE url 文章
例: LSTRIKE http://www.h14m.org/
ルリ少佐万歳
STRIKEコマンドと同様 タグ<strike>
を表示しますが,同時に リンクを張ります.
- STRONG
- 文法: STONG 文章
例: STRONG ルリ少佐万歳
タグ<strong> を表示します.例は,
「ルリ少佐万歳」と表示されます.
- SPAN
- 文法: SPAN class_name 文章
タグ<span class="class_name">
を表示します. class は CSS
で事前に定義しておく必要があります。
- DIV
- 文法: DIV class_name
タグ<div class="class_name">
を表示します. class は CSS
で事前に定義しておく必要があります。 DIV は /DIV
で閉じる必要があります.
- /DIV
- 文法: /DIV
タグ</div> を表示します.
画像コマンド
- IMG
- 文法: IMG {r|l|n} ファイル名
説明文字列
例: IMG l pic1.gif ルリの写真
タグ<img src> を表示します.r
は画像を右に,l は画像を左に表示します.1.03-pl1
からは n も指定可能に なりました.n
を指定すると align
を付けません.説明文字列は画像の説明を
記述します。なお、画像の表示サイズは、 ImgWidthMaxSize
により自動的に調整されます。
- LIMG
- 文法: LIMG url {r|l|n} ファイル名
説明文字列
例: LIMG http://www.h14m.org/ l pic1.gif
ルリの写真
タグ<img src> を表示しリンクを張ります。r
は画像を右に,l は画像を左に表示します. n
を指定すると align
を付けません.説明文字列は画像の説明を
記述します。
- MARK
- 文法: MARK 引数
例: MARK !!
あらかじめ定義されたアイコンを表示します.
引数もあらかじめ定義されたものを指定します. MARK
は テーマ
により定義されています.また,自分で定義することも可能です.
アイコンを指定する引数については,互換性を確保する観点から,
ハイパー日記システム・プロジェクトで
標準マークを定めて公開します.
箇条書コマンド
- UL
- 文法: UL
タグ<ul> を表示します.UL
の後には,LIコマンドが必要です.また,/UL
で ULコマンドを 閉じる必要があります.
- /UL
- 文法: /UL
タグ</ul> を表示します.
- OL
- 文法: OL
タグ<ol> を表示します.OL
の後には,LIコマンドが必要です.また,/OL
で OLコマンドを 閉じる必要があります.
- /OL
- 文法: /OL
タグ</ol> を表示します.
- LI
- 文法: LI 文章
タグ<li> を表示します.LI を書く前に
ULまたはOLコマンドが必要です.
- DL
- 文法: DL
タグ<dl> を表示します.
- DT
- 文法: DT 文章
タグ<dt> を表示します.DT を書く前に
DLコマンドが必要です.
- DD
- 文法: DD 文章
タグ<dd> を表示します.DD を書く前に
DLコマンドが必要です.
- /DL
- 文法: /DL
タグ</dl> を表示します.
引用系コマンド
- PRE
- 文法: PRE
タグ<pre> を表示します.PRE は /PRE
で閉じる必要があります.
- /PRE
- 文法: /PRE
タグ</pre> を表示します.
- CITE
- 文法: CITE
タグ<blockquote>
を表示します.引用を記述する場合に使います.
/CITEコマンドで閉じる必要があります.
-
/CITE
- 文法: /CITE
タグ</blockquote> を表示します.
コメント系コマンド
- !
- 文法: ! 一行の文章
HTMLでのコメント <!-- 一行の文章 -->
を表示します.つまり通常ブラウザでは表示されません.ただし
HTMLソースを 読むと見ることができます. Namazu for hns
では検索可能です.
- !#
- 文法: !# 一行の文章
なにも表示されません.HTMLソースにも表示されません.
ただし,Namazu for hns では検索可能です.
- FN
- 文法: FN
脚注を記載します.FNコマンドは引数をとりません.
脚注の内容は,次の行以降に記載して下さい.
/FNコマンドで閉じる必要があります. FN 〜
/FN内には LINK,
STRIKE, ~コマンド
のみが使用可能です.脚注は各セクションの末尾に表示されます.
- /FN
- 文法: /FN
FNコマンドを閉じます.
置換コマンド
-
ALIAS
-
文法: ALIAS 引数
例: ALIAS hns
~/diary/conf/alias.txt で定義した 文字列に
引数 が置き換えられます. よくリンクする
URLなど
を設定し日記の記述を省略するために用意されました.
定義ファイルalias.txt は,
引数[スペース]置き換えたい文字列
と記述します. 例えば,
hns <a accesskey="L" href="http://www.h14m.org/">ハイパー日記システム</a>
のように記述します.
この場合,上記のコマンド例は, 「ハイパー日記システム」と変換されます.
ハイパー日記システム Version 2.10
Index