PukiWikiのデータをSmartDoc形式に変換

http://teao.te.kyusan-u.ac.jp/bluemoon/index.php?%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%2FSmartDoc%CA%D1%B4%B9

これを利用してみました。昔にも使ってみようかなと思っていたのですがスルーしていたきがします。

内容的には特定のページとその子どものWikiページを独自のパースしてSmartDoc形式に変換しています。SmartDoc形式はDocBookみたいだけれど、DocBookよりは軽量な仕様なのかな?

http://www.smartdoc.jp/

ただし、今現在はあまりSmartDocって利用されていないようですので最終フォーマットというよりは中間フォーマットかな? プラグイン的には非常によくできていて、添付ファイルの画像とかも保存して埋め込んでくれます。

改造してSmartDoc以外の形式に吐き出すって用途に使われているのかも(笑) プログラムとかの仕様書とかもPukiWikiで記述して変換してからWordに貼り付けるって手が使えると思います。Wordってh1とかが見出し1に相当するので、スタイルの設定されているWordにhtmlを貼り付けると結構きれいにレイアウトされるんですよね。

ただSmartDocはまだhtmlの時代なので吐き出すコードが汚いです。xhtmlで余計なコードとかスタイルをつけないではいてくれた方がよかったかな。とはいえSmartDocは資料が少ないので直接改造するのは大変かな。。。自分でパースして変換した方がもしかしたら早いかもしれません。

時間があればもう少し調べてみたいと思います。

利用手順

PukiWikiに記述

普通に記述していきます。ただしページは / 区切りで階層化して記述していくとうまい具合に階層化してくれます。

SmartDocに出力

プラグインを利用して出力します。zipファイルで出力されます。XREAなどセーフモードで動いていると利用できないのでCGIモードで動かしましょう。ただし過去のファイルがApache権限になっているので、管理画面から自分の所有者に変更しないと編集ができなくなってしまいます。

SmartDocのインストール

WebPageからダウンロードしてセットアップします。コマンドプロンプトから java -jar beta.zip などのようにセットアップを行うので少し敷居が高いかな。デフォルトだとC:\usr\localとかにセットアップさせいようとしますが、一般的なWindows環境の場合C:\Program Files\sdocに変更した方がいいかな。出来上がったsdoc.batの中身を編集してスペースが入るので"C:\Program Files\sdoc\SmartDoc.jar"と囲む必要があります。

基本的にはC:\Program Filesじゃなくて、C:\sdoc とかに入れたほうが楽かもしれません。

変換

ZIPファイルを解凍して、コマンドプロンプトでそのフォルダに移動してから C:\Program Files\sdoc\SmartDoc\sdoc.bat を実行します。そうするとhtml4とLaTeXのファイルが生成されます。デフォルトのコマンド以外でやる場合には

"C:\Program Files\sdoc\SmartDoc\sdoc.bat" format:html4 1.sdoc

みたいな感じで指定します。(たぶん)

感想

SmartDocもDocBookもXMLもあまりドキュメントを記述するときには利用されていないのかも。。。論文とかはLaTeXとかでばりばり書いている人も多いと思いますし、私はMS OfficeOOoって感じになっちゃいますね。