まあ、汎用性を考えたら「シンプル・イズ・ベスト」なんだな。いろいろ問題の種であった段組を廃止して、あらたなサイトナビゲーションの可能性を探ることにしたんだ。今日はその話題。
先日XSL-FOの話題を書いた後、例のスレッドでSmartDocの存在を示唆された。SmartDocの存在は知っていたんだが、具体的にどういうシステムなのかを理解していなかったので、ちょっと調査。
簡単に調べた内容に従うと、SmartDocは他のドキュメント形式へ書き出すプロセッサーと、基となるドキュメントのマークアップ仕様がセットになっているらしい。SmartDoc形式はHTMLに似た語彙とTeXの構造を流用したXMLベースのマークアップ言語で、それほど複雑ではないため習得するのは難しくなさそうだ。プロセッサーのプラットフォームはJavaで、sdocコマンドから変換先のフォーマットを指定する。変換先のフォーマットは、HTML3.2、HTML4.0、LaTeX2e、PureSmartDoc(他のXMLフォーマットに変換しやすい最小限のセット)とのこと。
先日の話題のきっかけとなったHTMLとPDFを同時に生成したいという要望をSmartDocを使って叶えるためには、HTML 4.0への書き出し作業と、TeXからPDFへ変換する作業が必要になる。
簡単なSmartDocファイル
を記述して、そこからHTML 4.0形式とLaTeX2e形式に書き出してみた。
HTML 4.0に書き出した内容は、実際はHTML4.01 TransitionalとCSSで書かれている。配布元の記述を見る限り、StrictとTransitionalの指定なども可能なようだ。HTMLの構造が自分の望んでいるものかどうかさえ気にならなければ、そのまま使えそうだ。
TeXファイルは、ここからさらに何かのプロセッサーに処理をお願いしないとならない。。おいらはマックユーザーなので、package for MacOSXというサイトからpTeX package Extreme 2003v2というパッケージを手に入れた。このパッケージはひと通りのツールがそろっているようで、おいらのように「TeXって何?( ̄△ ̄;」なんて言っている人間に役に立つかもしれない。
こう言うのも何だが、TeXは使ったことがない。理系ではないし、大学時代にパソコンとは無縁だったので、人生XX年にして初挑戦だ。当然、LaTeXとかpTeXとか言う言葉が何を示しているのかもよくわかってなかったりする。
……なーんて自分の無知を自慢しても話が進まないので、とりあえず作業を継続する。付属の取説によると、まずpTeXでDVIファイルというのを作成して、dvipdfmxというソフトでDIVファイルからPDFに変換するようだ。おいらの手元ではこんな流れになった。
そして出来上がったPDFのサンプル。細かなレイアウトの制御やフォントの指定の方法がよくわからないんだが、これはおいおい調べていけばいい。とにかく使えることはわかった。ただし作業の都合出来上がったファイルは実に8つ。うーん、いいんだか悪いんだか( ̄△ ̄;。
SmartDocについてもう少し調査をしてから、XSL-FOに進んでいこうと思う。
XSLTのスタイルシートとCSSのスタイルシートを変更して、段組スタイルをやめることにした。段組スタイルは、ムーバブルタイプを設置したときに「グランド・ウェブ! ファンキー井戸端会議」に見た目を近づける目的で用意したんだが、その後いろんな点で悩みが発生した。
一つ目は、コンテンツの中に無駄な空間ができてしまったこと。ページやサイトのメタ情報に近いものをサブカラムの中に置いては見たものの、ページ最上部から数百ピクセルを使うだけで、あとはほぼ空白。最初はページの右側にサブカラムを配置していたが、見た目のバランスが不安定なため、のちに左側に設置。でもやはりもったいない感じがした。
二つ目は、PDAの存在。おいら自身が出先にいる時間が長く、かつ一日のうちにパソコンの前に座っている時間がそれほど多くないため、どうしてもウェブの巡回はモバイル環境が中心になってしまう。移動に電車を使うことが多いため、パソコンではなくザウルスで巡回をしている。おいらはザウルスを縦長のビュースタイルを利用しているため、段組のサイトはどうしても見づらくなる。そういった事情もあり、せめて自分のところだけでもどうにかしようと、ネットフロント用に別スタイルを用意していたんだが、マルチスタイルシート環境はメンテナンスが面倒くさいことを思い知った。
というわけで、段組を解除。サイトに関する情報をどの程度ページ内に残すかについては、Agendaを参考に取捨選択を行った。
また、ナビゲーションについては今後メタ情報を活用できるように考えていくつもり。以前にサイトナビゲーションをRDFでみたいな話をしたが、その第一歩として最新情報ページや記事一覧をウェブブラウザーからもRSSからも参照できるようにしていくつもり。とはいっても巨大なRSSを生成するとRSSリーダーが死ぬので、この間紹介したOPMLの出番となることでしょう( ̄△ ̄;。