テキストを恐ろしく簡単にHTML化するスクリプト

作成日、2007年07月06日

更新日、2008年04月22日

 プレーンテキストな小説を超簡単にHTML化する超・文豪君の説明。

はじめに

このサイトを見る人

結局、何ができるの?

 テキスト形式のドキュメントをw3cの勧告に従ったHTML4.01形式のドキュメントに変換します。それだけです。

 できあがったものは煮るなり焼くなり好きにしてください。

ブツ

 驚くほど簡単にテキストがHTML4.01 Strictに変換されるCGI(超・文豪君)

 これを使い始めると、腹筋がちぎれるくらいに愉快痛快で笑いがとまらなくなる。

 ……と書くほどたいした物ではない。

ブツの簡単なリファレンス(使い方)

宣言

 エラーチェックなんかしない。例えばテキストエリアに</textarea>とか</form>とか書いて、その結果おかしな表示になったとしても知るもんか。

項目の説明

タイトル
 たとえば「山田太郎物語」と一つのタイトルなら一行目にのみ入力。「ミラクル英雄伝説シリーズ 山田太郎」のような場合は一行目に「ミラクル英雄伝説シリーズ」、2行目に「山田太郎」と入力。さらにその後ろのチェックボックスに主題となるほう(「ミラクル英雄伝説シリーズ」を目立たせたい場合は上)へチェックをつける(同じ重みである場合は全てを一行目に入力)。と、コピペしてみた。
著者
 書きたい人だけ。「山田太郎」とか「作:山田太郎」とか「山田太郎 著」とか。
メール
 ヘッダー情報に付加される。
 書きたい人だけメールアドレスを書く(書いた方がいいが、ネット上に公開したとき悪辣なロボットに拾われて広告やいたずらメールが送られてくるようになる。かも)。
INDEXのURL
 ヘッダー情報に付加される。
 サイトのトップページのアドレス。書きたい人だけ(と書けば語弊があるが)。
次のページ
 ヘッダー情報に付加される。
 次のページがあればそのアドレス。書きたい人だけ(と書けば語弊があるが)。
前のページ
 ヘッダー情報に付加される。
 前のページがあればそのアドレス。書きたい人だけ(と書けば語弊があるが)。
 背景色と文字色を決定する。256色から選択。不満があるなら作成後のスタイルシートを直す(文字色は*のcolor、背景色はbodyのbackground-color)。
左右の空白数
 文章の左右にどれだけの余白をあけたいか。文字数で指定。
章題を現す文字列
 テキスト中にある章題に固有の印を付けている時にそれを書き込んでおけば、Header(章題)として解釈する。
 右のチェックを入れると固有の印は消去され、外すとそれも表示される。
 章題をマークアップしているなら不要。
HTML化する文章
 テキストファイルをコピー&ペイスト(コピペ)で貼り付ける。
 一太郎、Word文書からのコピペでも構わないが、オートインデント等の設定がある場合、どうなるのか知らない。
裏技集
 ブロックレベル要素(divとかpとかolとかliとか)のタグが書き込まれている場合、その行はそのまま表示される(小文字で記述したもののみ)。
 インライン要素(spanとかaとかimgとかemとか)のタグが書き込まれている場合は通常行の処理と同じ。
 ただし、タグを書き込んだ場合、Strictなページになる保証はない。
 連続して改行をいれればその行分だけマージンがとらる。
 emで強調、strongで130%拡大表示と強調。
 行頭に「del:」と書くと、その行は表示されない。
 行頭に「del-:」 〜 行頭に「-del:」と書くと、その範囲は表示されない。
文章末
 「完」とか「続く」とか書きたい場合はここに書き込む。書きたい人だけ。
HTML化を行う
 このボタンをクリックすると、その下にテキストエリアができ、そこにHTML化された文章ができる。
 コピペで持ち帰り新規のテキストなどに貼り付け拡張子をhtmlで保存する(自由に使い給え)。
 念の為、さらにその下にはサンプルが表示される。

せんせぇ、質問

どのブラウザで表示されるのかわからない。
 ソースを参照。1行目でDTD(文書型定義)を記述している。HTML4.01の仕様に則したものなら見られる、筈。
一応、
Internet Exploler6.02(Windows2000)
普通にみれた。
Netscape Navigator3.01(Windows2000)
スタイルシートには対応してないので見栄えは悪くなるが文章として読める。
Netscape Communicator4.78(Windows2000)
普通にみれた。
Netscape 7.02(Windows2000)
普通にみれた(「222……」などと数字やアルファベットを連続させたものを表示させるとだらしなく横に伸びてしまうが、化学や医学の用語とかメリーポピンズの映画に出てきたような造語を作らない限り問題ないはず)
Opera6.03(Windows2000)
Netscape 7.02に同じ
Opera7.03(Windows2000)
Netscape 7.02に同じ
FireFox1.0(Windows2000)
Netscape 7.02に同じ
NetFront3.1(Zaurus SL-C3000についてたの)
普通にみれた。
w3m(Zaurus SL-C3000にインストールしたの)
テキストベースで表示させてるだけなので見栄えは悪くなるが文章として読める。
lynx(http://openlab.ring.gr.jp/k16/htmllint/htmllint.html">Another HTML-lint gatewayのオプション指定で表示させたの)
テキストベースで表示させてるだけなので見栄えは悪くなるが文章として読める。

Macなど他のOSで動作するブラウザの見栄はわからん。

要するに、「IEで見れますよ」とか「日本語で書かれています」といちいち書かなくてもいいということ。
どこの国の言葉で書かれているのかわからない。
 ソースを参照。HTML要素でlang属性を指定し、ヘッダー内でエンコードを指定している。
 超・文豪君は日本語(shift_jis)固定です。
元となる小説を書く才能がありません。くれ。
 私にだってない。全くない。しかし才能が贈与できるものだとしてもあげないし要らない。
 気が向いたときに好きなの書けたらそれでええやん。
超・文豪君はどうもイメージ通りにならない。
 そんな事もあるさ。スタイルシートをいじってみよう。
 次のステップの礎としてくれ。

補足

 何書いてるのかわからん人もとりあえず、超・文豪君を使ってみればなんとなくわかるさ。

 それでもって、これを機会にStrictなHTMLを書くようにしよう。W3Cの勧告は特に物書きには理解できるものだから……。ちなみに、このページもまた文豪君で作られています。

 ナビゲーション情報は適時追加してください。

 また、たいしたプログラムでない故、空打ちの行の制作者の意図を解釈できないので次の行のマージン(margin-top)として行間をあけている。その辺は適時修正してください。

 都合上、スタイルシートは分離していない。手始めに外部ファイル化するといいかも。

 簡易版変換スクリプト、超・文豪君ミニもよろしく。

文末情報