MozillaのWYSIWYG Web編集ソフトの流れを汲むKompoZer

 プロプライエタリ・ソフトウェアにおけるWebページデザインの分野は、AdobeのDreamweaverとMicrosoftのFrontPageに支配されている。一方、フリーソフトウェアユーザはこれまでにいくつかのWebデザインアプリケーションの盛衰を目にしてきたが、最新作が登場してからは久しい状態にあった。今回、新たなリリースとしてKompoZerが登場した。これはMozilla Composerの遺産を引き継ぎ、今日のテクノロジを採り入れてアップデートしたものだ。

 ひと昔前を知る人であれば、スタンドアロンのFirefoxとThunderbirdの前身であるMozilla Application Suiteを覚えているだろう。このMozillaスイートは統合型ブラウザ、電子メール/ニュースクライアント、IRCチャットクライアント、HTMLページエディタの機能を備えていた。2003年、Mozilla Foundationは正式にこのスイートの開発を打ち切ったが、最初の3つのコンポーネントはそれぞれFirefox、Thunderbird、ChatZillaとして引き継がれた。一方、Webページ編集のComposerはしばらく蚊帳の外に置かれた。その状態は、Composerの古いコードベースに手を加えてNvuという名の最新型Webデザインツールとして再起させようとしていたDisruptive Innovationsの開発者たちとLinuxディストリビューションLinspireとの間に契約が結ばれるまで続いた。

 2006年、Disruptive Innovationsはバージョン1.0のリリースに伴い、Nvuに対する活動を終結すると発表し、コードのメンテナンスはコミュニティに引き継がれた。

 その結果生まれたのがKompoZerである。単なるメンテナンスプロジェクトに終わることなく、KompoZerの開発は独自のアイデンティティと目標によって精力的に進められている。リリースされたばかりのバージョン0.7.10は1年以上に及ぶ作業の集大成であり、いくつかの新機能が導入されている。

 ダウンロード可能なKompoZerのバイナリは、Windows、Mac OS X、Linuxのものが用意されている。Linuxユーザの場合は、Intelハードウェア用のtar、RPM、DEBの各パッケージから適切なものを選択すればよい。RPMパッケージはRed Hat、Fedora、Mandrivaで、DEBパッケージはDebianとUbuntuでそれぞれ動作が確認されている。もちろん、ソースコードも入手可能だ。

基本的な編集機能

top.jpg
KompoZerのメイン画面(Tagsモードでページを表示中)とCaScadeSエディタ(手前)

 KompoZer開発者のFabien Cazenave氏は、このエディタのリリース計画を掲げている。それによれば、0.7.xシリーズでは2つの作業――Nvuを引き継いだときから未解決のままになっているバグの修正と、CaScadeSという名の統合型CSSエディタの完成――に注力することになっている。

 アプリケーションの基本的なレイアウトは以前から変わっていない。メイン編集ウィンドウの左側はSite Manager、最上部のツールバーは最も重要なHTML編集ツール群、そして残りの大部分は編集用に開かれたファイルの表示エリアで占められている。テキストマークアップツール群の機能はワープロのものと大体同じだが、画像や表のようなよく使われるHTML要素の挿入はポップアップウィンドウを利用して行う。

 KompoZerでは、Firefox風のタブ表示によって一画面で複数のファイルを開いたままにしておける。こうしたタブ形式のアプリケーションに慣れてしまうと、それなしではやっていけなくなるだろう。使用する言語の選択は「Tools」->「Options」で行い、HTML 4XHTML 1のどちらでも選べる。この選択はアプリケーション全体に反映される。同様に、DTD(Document Type Definition)のほうもTransitionalとStrictの両方に対応している。

 ページの表示および編集には、Normal、Tags、Source、Previewの4つのモードが使える。PreviewモードではMozillaのレイアウトエンジンGeckoを使ってページのレンダリングが行われ、Sourceモードでは行番号が付いて構文が強調表示されるという、大半のプログラマが使っているエディタと同じような形でページが表示される。NormalモードとTagsモードはどちらもWYSIWYG形式だが、Tagsモードでは<center>、<font>、<tr>、<td>といった通常は表示されないHTMLタグがページコンテンツの上に黄色のラベルでオーバーレイ表示される点が異なる。

 ところが、コメントはNormalモードでもTagsモードでもラベルとしてオーバーレイ表示される。その理由の説明は見当たらないが、コメントのオーバーレイ表示はページ上の他の要素やテキストの配置に影響するので、Webページにコメントが含まれている場合はNormalモードでも完全なWYSIWYG形式ではなくなってしまう。

 画面一番下のステータスバーには、たとえば「<body> <div> <p> <a>」のように開いたタグの“ブレッドクラム・トレイル”が表示される。この機能は、WYSIWYGモードにおいてアクティブな要素を追跡するのに役立つ。ブレッドクラムそのものはボタンになっていて、クリックで要素を選ぶとそのコンテンツがエディタ画面に表示され、右クリックするとそのタグ用のプロパティエディタが開く。

 上部と左側の余白にはオートマチックルーラが用意されている。幅と高さの各属性を持つページ要素の内部にカーソルを置くと、そのサイズが水平ルーラおよび垂直ルーラ上に示され、正確な測定値を示すラベルが表示される。また、ルーラ上のサイズを示す境界部分にあるハンドルをグラブすると、マウスによるサイズ変更が行える。この機能は特に表の場合に便利である。アクティブなセルだけでなく表全体のサイズが測定されてラベル表示されるからだ。

 また、KompoZerには入力時点で動作するスペルチェッカーが組み込まれているほか、ワンクリックでW3C(World Wide Web Consortium)のHTML Validatorサービスにアクセスできる機能もある。

CSSエディタ

 大いに期待されていたCSSエディタは、紛れもなく今回のKompoZerで最も重要な追加機能である。このエディタはCaScadeSという名前なのだが、エンドユーザとしては、ツールバー上の該当ボタンにCaScadeSというラベルが表示されていることだけ知っておけばよい。ただし、次回のリリースではCSSというラベル表示に直したほうがよさそうだ。

 CaScadeSは別のウィンドウとしてポップアップ表示される。左側のカラムには、編集中のページで使われているCSSルール(外部のスタイルシートのものとインラインのスタイル定義の両方)が自動的にリスト表示される。新たなルールやスタイルシートは、このリストの上にあるドロップダウンメニューから追加できる。

 スタイルシートの場合は、すべてのスタイルシート定義を表示できるクリック展開式のツリーが左側のカラムに表示される。そこに含まれているルールを編集するには、リストから該当するルールを選択するだけでよい。すると、エディタの右側ペインにその属性が表示される。右側のペインの「General」タブには、そのルール定義のテキストがファイルに記述されているのと同じように表示される。

 その他のタブには、選択した要素の取り得るすべてのスタイル属性が適切なフォームで表示される。たとえば、フォントの太さのように選択肢数が有限のオプションの場合はドロップダウンボックス、境界線の太さのような数量に関するオプションの場合は数値設定用のスピンボックスといった具合だ。

 選択したルールにスタイル属性が1つも定義されていない場合、フォーム上には未定義と表示される。ただし、CaScadeSでは、フォーム内で操作したすべての属性に(たとえあとで元の未定義の状態に戻した場合でも)定義が追加される点に注意すること。こうした挙動が結果として“CSSの膨張”のような大きな問題になる可能性は低いが、WYSIWYG形式のHTMLページエディタが大量の冗長な<font>および<br>タグで溢れていた頃に逆戻りしてしまったかのような印象を受ける。

 全体としては、KompoZerのCSS編集機能は使いやすく作られている。最初はさまざまな属性が複数のタブに分けられている点に戸惑うかもしれないが、その主な原因はCSSの扱う範囲がそれだけ広いことにある。詰まるところ、ボーダー、マージン、パディング、オフセットの各属性の違いがわかる人が一体どれほどいるのか、ということだ。

 私がこのエディタで心から不満に思うのは、メインの編集ウィンドウとの連携のしかたである。ほとんどのポップアップヘルプ(画像や表の挿入のような操作に関するもの)は少し時間が経つと消えるが、CSSエディタはモーダル、つまりその画面が開いている間はメインウィンドウへの入力や操作が行えないのだ。

 動作の異なる2種類のポップアップウィンドウが存在することで起こり得る混乱を別にしても、モーダルステータスがCSSエディタを使いにくくしているのは確かである。CSSエディタ内で加えた変更は、即座にページ編集ウィンドウに反映され(この点はすばらしい)、実際にどのように見えるかを確認できる。しかし、CSSエディタの画面はモーダル表示なので、ページ編集画面をスクロールさせることはできず、瞬時に得られる視覚的なフィードバックは、最初にCaScadeSボタンをクリックしたときに見えるコンテンツの範囲に限定されてしまう。

今後に対する期待

 Cazenave氏によるKompoZerの広大なロードマップによれば、0.8.xシリーズでSite Managerの改良を行い、次いで0.9.xシリーズでは書式の再設定に関するバグをできるだけ多く修正することになっている。

 現状のSite Managerは必要最小限の機能しか実装されておらず、たとえばSFTPWebDAVがサポートされていない。KompoZerフォーラムでのCazenave氏の投稿からは、FireFTPプロジェクトから提供された新しいSite Managerのコードに取り組んでいることが伺える。

 ただ今のところ、これら2つのマイルストーン以外には何も確定していない。ユーザはフレームや統合型PHP(今でも手動であればPHPブロックを挿入可能)のサポートを要望しているが、Cazenave氏は一切の長期的な約束を意図的に避けている。とりわけ完全にボランティアの手で進められるプロジェクトとしては、賢明な選択だと思う。

 2006年にNvuコードベースへの取り組みを中止した直後、Disruptive InnovationsのDaniel Glazman氏から、今度はMozillaのXULRunnerをベースにしたまた別のHTMLエディタに着手し直すという発表があった。あれから1年後経っても、そうした活動に関する公式リリースの話やニュースはほとんど聞こえてこない。そのため、フリーソフトウェアのHTMLエディタとしては依然としてKompoZerが最有望株である。

 ただ、1年後に両プロジェクトの状況がどうなっているかは誰にもわからない。その点はプロプライエタリなDreamweaverとFrontPageについても同じである。5年前、大部分のサイトはHTMLエディタだけで作られていた。今では、テンプレーティングシステム、PHPアプリケーション、AJAXライブラリを利用して作られているものがほとんどである。

 Webテクノロジの進化は速い。Firefoxの勢いを支えているのは豊富な資金と膨大な開発者だが、KompoZerにはそのどちらにも縁がない。だからといってKompoZerに大いなる可能性がないわけではない。KompoZer開発チームは、開発の行き詰まったNvuの活用に加え、Firefox、Thunderbirdをはじめとする同じMozillaスイートから生まれたアプリケーションと肩を並べるほどの、強力で使いやすい正統派のWeb編集アプリケーションを作り上げたという点で優れた成果を挙げているといえる。

linux.com 原文