Sec1: top Guidemaker ガイド Guidemakerは C プログラミングガイドUNIX ガイド のようなドキュメントを簡単に作るために作成したものです。 中身は私にとっての生涯三本目程度の Perl で記述されたプログラムからできていますので、品質はかなりひどいものだと思いますがこの際公開してしまいます。 マニュアルを書くべきなのでしょうが、手間が掛かるのでサンプル文書としてこの文書を作っておきます。それぞれの機能が、どのように書けばうまく使われるのか、試すことができるでしょう。(原稿そのものも<>の節に置いておきます。) Sec2: install インストール guidemaker.tgz をダウンロードして、展開します。その後、
  $ tar xzf guidemaker.tgz
  $ cd guidemaker
とするだけです。サンプルの原稿ファイル(body.txt)がついていますので、<>の節を見て、まずは実際にドキュメントを作ってみると分かりやすいでしょう。 あとは<>の節を見て、まずは実際にドキュメントを作ってみると分かりやすいでしょう。この本文の原稿ファイルが参考になるでしょう。 Sec3: _requirements システム要件 UNIX 系 OS と、perl があればそのまま動くと思います。Linux とか MacOSX といった部分での相違は問題にならないでしょう。Shell Script もほとんど使っていないに等しいですから、ここを変更することで DOS システムでもなんでも動作するようにはできると思います。 Sec2: basic 基本的な操作 Guidemaker は、body.txt という文書(今読んでいるこの文書の原稿となります)ファイルをもとに、目的とする HTML ファイル群を generate します。そのための shell script が mkdocs.sh です。このとき、別に用意しておいた画像ファイルなども集めて HTML ディレクトリ以下に完全なドキュメント群が作成されます。 つまり body.txt を作り、./mkdocs.sh とやって shell script を起動すれば HTML ディレクトリ以下に HTML ファイル群、画像ファイル群が揃っている、というわけです。

基本的な構造
基本的な構造とそのための操作

ブラウザでこの HTML/index.html ファイルにアクセスすれば、出来具合いが確認できますから、完成すればそのまま HTML ディレクトリごと、どこかの Web ディレクトリにコピーすれば良いでしょう。必要なものはすべて HTML ディレクトリにそろっていますので、ただディレクトリごとコピーするだけで良いはずです。 Sec3: _howitworks mkdocs.sh の動き このスクリプトの中身は以下のようになっており、mkdocs1.pl という Perl プログラムが画面左側の目次列にあたる _contents.html を合成し、続いて mkdocs2.pl が同右側のページ群にあたる HTML ファイル群を合成します。その後、RESOURCES ディレクトリに含まれている画像ファイルと index.html ファイルを HTML ディレクトリに複写して、ドキュメントとして読める状態になります。
./mkdocs_i.pl body.txt > index.dat
cat mkdocs_chead.dat > _contents.html
./mkdocs_c.pl index.dat >> _contents.html
cat mkdocs_ctail.dat >> _contents.html
./mkdocs_b.pl index.dat body.txt 
cp -rp RESOURCES/* HTML
mv _*.html HTML
exit
# ------------------------------------------------------------------- Sec1: structure 全体の構造 Sec2: _simple_sample 最も簡単なサンプル 最も簡単な body.txt (原稿)のフォーマットは以下のようなものでしょう。
  # 最も簡単なサンプル
  Sec1: top 最も簡単なサンプル

  本文はこれだけ
一行目の # ではじまる行はコメントとみなされます。 Sec1: のように Sec に続いて数字、そのあとに : がつく行は章レベルを示します。その後ろに HTML ファイル名となるキーワード、章タイトルがつきます。 一番最初の章のキーワードとして top という名前を選んでいますが、結果的にこれが画面右半分に自動的に最初に開かれるページの HTML ファイル名 _top.html になります。一番最初の章の HTML ファイル名はもともとの index.html ファイルにハードコード(固定的に記述)されていますので、つまりここの top という名前は変えない方が良いでしょう。(変えるときは index.html とセットでどうぞ。) Sec2: _headers ヘッダについて HTML ファイルは上に書いてあった原稿の内容だけでなく、body.txt や <> がおいてあるディレクトリと同じ階層にある以下の四つのファイルの内容を集めてできあがります。それぞれの中に HTML の TITLE タグの内容などが埋まっていますので、適宜このあたりを変更すると良いでしょう。
mkdocs_chead.dat画面左側の目次欄(_cotents.html)の前半
mkdocs_ctail.datその後半
mkdocs_bhead.dat画面右側の本文欄(_cotents.html)の前半
mkdocs_btail.datその後半
また、同様にトップページとなる index.html が RESOURCES ディレクトリ以下にありますので、ここも適宜修正すると良いでしょう。 そのほか、スタイルシートやボタンアイコンなどが RESOURCES ディレクトリには含まれています。 Sec2: section 章立て 章立てのある文章は以下のような構造で書きます。
  # 章立てのあるサンプル
  Sec1: top 第一章
  まえがきなどいろいろ
  Sec2: sec1_1 第二レベルの章
  いろいろ前置きなど
  Sec3: sec1_1_1 第三レベルの章
  本文いろいろ
  うんぬんかんぬん
  Sec1: second 第二章
  第二章概要説明など
  Sec2: _sec_sec 第二章 第二節 という感じ
  本文いろいろ
  Sec3: _ さらに細かく
  本文追加
本文中に Sec1: などで指定する、章立てのレベルは 3 つまで現在用意されています。二番目のパラメタにキーワードを書くと、そのキーワードに応じた HTML ファイルが別に用意され、つまりはこれが HTML でのページの区切りになります。逆に上の章節と同じページに続けて書きたい、と思った場合はキーワードを _ (アンダーライン)で始めれば良いです。_ だけなら画面左側の見出しからリンクが作られず、_ に続けて何か英単語があれば、リンクが設けられます。 # ------------------------------------------------------------------- Sec1: body 本文の記述 以下に本文を記述するための文法や例文についてまとめておきます。 Sec2: _linebreak 行区切りについて body.txt 原稿ファイル中では、原稿の一行が HTML 上での一行(具体的には <br>)になります。つまり行を折り返したいところで原稿も改行して下さい。 ただし改行の後すぐに一行以上の空行があれば、そこは一パラグラフとみなして処理をします(具体的には <p></p>になる)。 こうすることで比較的原稿ファイルの記述と、結果の HTML ファイルの見た目が揃うと思ったので、こうした仕様にしています。 Sec2: prefix <pre> の記述 <pre> </pre> に囲まれた記述は以下のように書きます。
  <pre>
  main() {
    printf("Hello World\m");
  }
  </pre>
Sec2: image 画像の表示 画像の埋め込みは以下のように記述します。
  <p>
  <div align="CENTER">
  <img src="image.png" alt="サンプル画像"><br>
  サンプル画像の埋め込み表示結果
  </div>
  </p>
これで結果は以下のようになります。

サンプル画像
サンプル画像の埋め込み表示結果

つまりおおよその HTML タグはそのまま通してしまいますので、こういった作業についてはほとんどそのままタグを書いておけば良いのです。 Sec2: table テーブルの表示 テーブルも<>同様にただ HTML をそのまま書けば良いようにしてあります。
  <table border="1">
  <tr><th>サンプル</th><th>データ</th></tr>
  <tr><td>Sample1</td><td>data1</td></tr>
  <tr><td>Sample2</td><td>data2</td></tr>
  </table>
これで結果は以下のようになります。
サンプルデータ
Sample1data1
Sample2data2
table のなかに table を入れる、といったような複雑なものには対応していませんので、うまく表示できない場合はご容赦下さい。(または改善されたコードを送って下さい。) # ------------------------------------------------------------------- Sec2: footnote 脚注 本文中に [ [   ] ] で囲んだ記述は脚注[[footnoteと呼びます。]]として画面下端に表示されます。たとえば下記のようにして記述することで、このようなページができています。
....で囲んだ記述は脚注[[footnoteと呼びます。]]として....
Sec2: refer 参照 本文中に << >> で囲むことで、他の章節へのリンクを設けることができます。たとえば「<>」節に対してリンクを設けたい場合は以下のように記述します。
....たとえば「<<image:画像の表示>>」節に対して....
この例では、対象となる節のキーワードが image だったため、上のように参照時の記述でそれを指定しています。つまりこの節は「Sec2: image 画像の表示」というようなセクションタイトルの付け方をしていたのです。 なお、重要なのは << >> で囲まれた前半( : より前)のキーワード指定であって、その後ろの文字列はなんでも結構です。上の例なら以下のように書くことで「<>」といったリンクを設けることもできます。
....書くことで「<<image:別紙参照>>」といった...
Sec3: _link 別の Web ページへのリンク 普通に HTML を埋め込むことができますので、以下のようにすると良いでしょう。
  <a target="new" href="http://www.kyoto-su.ac.jp/">京都産業大学トップページ</a>
注意するべきは target="new" で、これがないと左右分割された画面の右半分にページが開いてしまいます。以下に両方用意しておきますので動作の違いを確認すると良いでしょう。 # ------------------------------------------------------------------- Sec1: resource 資料 Sec2: _ このページを作るために使った原稿 以下に、このページを作るために使った原稿ファイルそのものをつけておきます。参考まで。 body.txt # ------------------------------------------------------------------- Sec1: credit 謝辞 このシステムは基礎実習上級クラスのために作成されました。当時一般教育研究センター所属だった私に作成の動機を与えてくれた受講生たちに感謝します。 2003.12 今度は理学部となり、改善する動機を与えてくれたプログラミング A クラスの学生たちに感謝。
京都産業大学 理学部
安田豊