[日本語|English]

htmlgen.pl Manual Page

- The Simplest HTML Generator -


目次

  1. 目次
  2. 概要
  3. 機能
  4. 更新履歴
  5. ダウンロード
  6. 使い方
  7. オプション
  8. 文法一覧
  9. テスト
  10. 備考
  11. 注意
  12. 奥付

概要

HTMLページをWikiライクなソースコードから生成するためのPerlスクリプトです。

Wikiは(キャッシュがあるとは言え)動的にページを生成しており、パフォーマンス上の問題があります。 また、生成されたページが全て同じスタイル・スキンで管理されるので、統一性はありますが、 ページごとに異なったスタイルを用いるなどの小回りが利きません。 更に、複数人で編集する必要がない「ちょっと相手に文書を見せる」ような用途にもWikiは大きすぎます。 かと言って.pdfや.docは専用のソフトがないと見られず、手軽さの面でHTMLには劣ってしまいます。

blogは、日記のような連続した、かつページ間での関連性が薄いコンテンツを数多く掲載するためには 非常に強力なツールになりますが、一方で「あるテーマに的を絞ったページ群」*1 を作ろうとすると、「カテゴリ」のような機能ではどうしても力不足で、一覧性も良くないため他のコンテンツに 埋没してしまいがちです。

そこで、単体で独立したHTMLページを生成するプログラムの必要性を感じ、このhtmlgen.plを作成しました。 似たようなものは探せば絶対に存在するはずですが、

…という理由で製作することにしました。

Wikiや各種blogツールよりはTeXが近いと思います。勿論TeXでもHTMLを出力することは可能なはずですが、 論文のような文書よりはHTML寄りに作られたものの方が、何かと役に立つ部分があるのではないかと。

スタティックなHTMLを生成しますので、Wikiやblogと比べると、サーバーへの負担が減ります。 同時にロード時間も短縮されるので「軽い」ページを製作したい方にお勧めです。

当然ですが、ディレクトリ構成も全て自分でやることができますので、blogのように見通しが悪くなることが ありません。

機能

更新履歴

ダウンロード

最新バージョンはこちらです。

使い方

Windowsなら「コマンドプロンプト」で

perl htmlgen.pl [options] <source file> > <output file>

または

perl htmlgen.pl [options] < <source file> > <output file>

とすると、<source file>から生成されたHTMLが<output file>に出力されます。

LinuxなどのOSを使っている方には特に説明する必要はないでしょう。

オプション

指定できるオプションは以下の通りです。

オプション 機能
--nofooter ページ最下部の著作権とhtmlgen.pl、XHTML Validatorの表示を削除します。
--notopindex #contents;で作成する目次に、トップレベル(h1相当)の見出しを含めないようにします。
--template ソースファイルのスケルトンを生成します。
--template_css スタイルシートのスケルトンを生成します。
--output <file> 標準出力の代わりに<file>に出力します。

文法一覧

機能 構文
機能 構文
ページ全体の指定
タイトル title : <title>
文字セット charset : <charset>
言語 language : <lang>
著者 author : <author>
概要 description : <description>
キーワード keywords : <keyword>,<keyword>,...,<keyword>
外部スタイルシートの利用 stylesheet : [@]<url>, <media>*3
外部スクリプトの利用 script : <script>, <mime type>
著作権表示 copyright : <copyright>
スクリプトへの指示 pragma : [option][,option]...*4
出力ファイル place : <file>
ブロック要素
引用 > ...
複数行の引用 >> ... <<
整形済みテキスト(pre) >|| ... ||<
アスキーアート*5 >$$ ... $$<
定義リスト :<word>|<desctiption>
定義リスト(ブロック) dl {} の中に:<word> {...}
順序なしリスト*6 - ...
-- ...
...
--...- ...
順序付きリスト*7 + ...
++ ...
...
++...+ ...
見出し * <level 1 title>
** <level 2 title>
...
****** <level 6 title>
コードブロック*8 [<class name>][#<id>] { ... contents ... }
HTMLタグを直接記述*9 naked { ... <html source> ... }
水平線 -----
目次の生成 #contents;
ファイルの取り込み #include(<file>);
Table機能
一般行 |abc|def|...|ghi|
見出し行(ヘッダ) |header1|header2|...|headerN|h
見出し行(フッタ) |footer1|footer2|...|footerN|t
見出し行(中間) |header1|header2|...|headerN|m
書式指定 |<format1>|<format2>|...|<formatN>|f
format=[(left|right|center)][,width=<width>][,header][,#id][,[class]]
表題 |<caption>|c
左と連結 <
上と連結 ^
インライン要素
強調(strong) '' ... ''
強調(emphasis) ** ... **
斜体 !! ... !!
下線 __ ... __
打ち消し %% ... %%
追加された部分*10 ++ ... ++
削除された部分*11 -- ... --
ルビ ^<text>(<ruby>)
二重ルビ*12 ^^<text>(<ruby1>,<ruby2>)
改行 $$
脚注 (( ... ))
プログラムのソースコード {{ ... <code> ... }}
リンク [[<link text>:<url>]]
画像の挿入 #img(url=<url>,alt=<alternative text>[,size=<width>x<height>][,nolink]);
nolink : 画像を画像へのリンクとしない。
生成日時 #now;
ソースファイルの作成日時 #created;
ソースファイルの更新日時 #modified;
タグ付け*13 #span(class=<class>[,id=<id>]){ ... }
コメント // ...
後続の特殊文字のエスケープ \

テスト

Perlの実行環境を入れるのが面倒だという人のために、実験ページを作りました。お試しください。

※ソースのエラーチェックは最低限です。

備考

注意

奥付

Author
Tomoya NAKAGAWA
Last Update
2009/11/23 23:22:27