さて、懸案事項だった目次ページの生成、一部ですが搭載してみました。まだテスト段階なのでデモ版のみ。
http://lioncgi.zero.ad.jp/~zan09870/htmldwarf/htmldwarf_demo.cgi
ファイル管理のページで、フォルダ右の「目次編集」をクリックすると、目次ページ作成メニューに行きます。
フォルダ内の小説ファイル(小人さんで作って章タイトルを入れているもの)をチェックして連番で並び替えてリストアップ。
必要に応じて項目を埋めて、目次用のテンプレートにあわせて出力します。
フォルダひとつにつきひとまとまりというシンプルなつくりなので、シリーズでまとめて一つのフォルダ、とかの使い方は今のところ難しいかな。テンプレートを弄ってもらえば結構いろいろできるとは思いますが。
目次用のテンプレートのソースはこんな感じになります。
(sample1)
<h1>$NOVEL_TITLE</h1>
<div class="info">
$INFO
</div>
<div class="novels">
<!--NOVELS_LIST-->
<h2>$CHAPTER_TITLE</h2>
<div class="chapter_info">$CHAPTER_INFO
</div>
<!--/NOVELS_LIST-->
</div>
<div class="home">$AUTHOR 著 / 掲載サイト:【$SITE_LINK】</div>
<address>Copyright (c) $YEAR $AUTHOR_ENG All rights reserved.</address>
(sample7)
<body>
<div class="all">
<h1>$NOVEL_TITLE</h1>
<h2></h2>
<div class="info">
$INFO
</div>
<div class="title">
$NOVEL_TITLE
</div>
<div class="chapters">
<!--NOVELS_LIST-->
$CHAPTER_TITLE /
<!--/NOVELS_LIST-->
</div>
<div class="link2"></div>
<address>Copyright (c) $YEAR $AUTHOR_ENG All rights reserved.</address>
</div>
</body>
$のついた文字列は変換用の変数です。小説タイトルが「白珠の巫女」なら、「$NOVEL_TITLE」に「白珠の巫女」が代入されるという感じ。
このルールは本文テンプレートでも同様なんですが、目次の場合<!--NOVELS_LIST-->と<!--/NOVELS_LIST-->というコメントタグが必要になってきます。このコメントで挟んだ部分が、章数に応じて伸び縮みして、たとえばこんなページになります。
http://lioncgi.zero.ad.jp/~zan09870/htmldwarf/novel_demo/milkyway/index2.html (sample1使用)
http://lioncgi.zero.ad.jp/~zan09870/htmldwarf/novel_demo/milkyway/index.html (sample7使用)
本文用のテンプレートは本来リンクやサイト名、タイトルが入る部分に変数を入れてもらうだけなのでHTMLページ作成経験のあるかたなら誰でも作れるしろものなんですが、こちらはどうかなあ。そんなに複雑ではないですが、作成ソフトユーザーさんにはコメントタグってなじみがないですよね。まあ仕方ないか。このツールはできるだけ初心者でも扱えるようにしたいんですけどね。まずヘルプファイルをきっちり書かないと。
あ、ちなみに今まで公開していなかったのでついでに書いておくと、本文ページ用のテンプレートのソースはこんな感じですよ。ごくシンプルでございましょう。
(sample1)
</head>
<body>
<h1>$NOVEL_TITLE</h1>
<div class="link1">
<DWARF>$LINK_PREV | </DWARF><DWARF>$LINK_NEXT | </DWARF>$LINK_TOP<DWARF> | $LINK_HOME</DWARF>
</div>
<div class="document">
<DWARF><h2><span class="title"> $CHAPTER_TITLE </span></h2></DWARF>
$DOCUMENT
<p align="right">$AUTHOR 著 / 掲載サイト:【$SITE_LINK】</p>
</div>
<div class="link2">
<DWARF>$LINK_PREV | </DWARF><DWARF>$LINK_NEXT | </DWARF>$LINK_TOP<DWARF> | $LINK_HOME</DWARF>
</div>
<address>Copyright (c) $YEAR $AUTHOR_ENG All rights reserved.
</address>
</body>