dump2html.inc.php

Top > Plugin > dump2html.inc.php
First Edition. 07/06/2006
Last Modified. 01/03/2008
Tag: PukiWiki Plugin

Dumps wiki outputs into static HTMLs

SummaryDumps wiki outputs into static HTMLs
Developersonots
First Edition01/03/2008
LicenseGPL
Table of Contents

Abstract

This plugin dumps wiki outputs into static HTMLs.

Related

使用法 - 開発版

プラグイン設定項目一覧

必要ならば変更できる設定項目です。

dump2html.inc.php を開いて以下の部分を編集するか、 plugin ディレクトリと同階層の init ディレクトリ(なければ作成)に dump2html.ini.php を作成し、上書き項目を記述します。設定を別ファイルに分離しておくと、プラグインアップデートの際に楽なのでお奨めです。 サンプル:dump2html.ini.php

$this->CONF['DUMPDIR']              = DATA_HOME . 'html/';
$this->CONF['POSTFIX']              = '.html';
$this->CONF['readauth']             = TRUE;
$this->CONF['username']             = ''; // for BasicAuth on http GET
$this->CONF['userpass']             = '';
// config for action plugin
$this->CONF['ADMINONLY']            = TRUE;
$this->CONF['WAITTIME']             = 200000; // for method=http in micro seconds
$this->CONF['overwrite']            = FALSE;
// config for pkwklinkmodifier
$this->modifier->CONF['modify_href']      = TRUE;
$this->modifier->CONF['modify_linkrel']   = TRUE;
$this->modifier->CONF['href_urlstyle']    = 'relative'; // 'relative' or 'absolute'
$this->modifier->CONF['linkrel_urlstyle'] = 'relative'; // 'relative' or 'absolute'
  • DUMPDIR
    • HTML ファイル出力先。デフォルトでは index.php ファイルのあるディレクトリ以下の html ディレクトリになります(作成、書き込み許可を出します)
  • POSTFIX
    • 拡張子。通常 '.html'
  • readauth=bool
    • 閲覧制限されているページもダンプ。
  • username
    • 閲覧制限ページ用ユーザ名。閲覧制限されているページを取得する際にユーザ名、パスワードが必要になります。
      補足: この機能を使用する場合 PEAR の HTTP/Request.php が必要になります(インストール方法の解説はしません)。
  • userpass
    • Username に対するパスワード。

アクションプラグイン用設定

  • ADMINONLY=bool
    • デフォルトではアクション型で一括ダンプの際に管理者権限を必要とします。FALSE にすることで無効にもできます。
  • WAITTIME=秒
    • 一括ダンプの際に HTTP 要求を出すまでに待つ時間。短くしすぎるとサーバに負荷がかかりすぎる可能性があります。
  • overwrite=bool
    • 強制上書き。off の場合、html ファイルと wiki ページのタイムスタンプを比べ wiki ページが新しければ上書きダンプします。

HTML 間リンク修正フォーマッタ用設定

  • modify_href=bool
    • HTML ファイル内のWikiページ間のリンク置き換え処理を行う。デフォルトで有効
  • modify_linkrel=bool
    • HTML ファイル内のcss, javascript, img ファイルへのリンク置き換え処理を行う。デフォルトで有効
  • href_urlstyle=relative|absolute
    • relative: リンク置き換え処理の際に相対URLを使用
    • absolute: リンク置き換え処理の際に絶対URLを使用
  • linkrel_urlstyle=relative|absolute
    • relative: リンク置き換え処理の際に相対URLを使用
    • absolute: リンク置き換え処理の際に絶対URLを使用

一括ダンプ(アクション型)

アクション型プラグインとしてアクセスしてください。

http://あなたのPukiWikiサイト/index.php?cmd=dump2html

cmd=dump2html

項目は以下の意味です。

  • Admin Password
    • 管理者パスワード
  • Filter Pages (ereg)
    • 対象ページを絞りこむときに使用。指定しなければ全ページ。
  • A Page
    • 特定の1ページだけ指定するときに使用。
  • Force to Overwrite
    • 強制上書き。未チェックの場合、html ファイルと wiki ページのタイムスタンプを比べ wiki ページが新しければ上書きダンプします。

使用法

  1. ファイル群を plugin ディレクトリにダウンロード
  2. html ファイルが保存されるディレクトリ(デフォルトでは wiki ディレクトリと同階層の html ディレクトリ)を作成、書き込み許可を出す。
  3. 一括ダンプ(アクション型)する。
  4. ダンプ先ディレクトリ、skin, image ディレクトリを大事にとっておく。

出力HTMLファイル名の変更

出力されるHTMLファイル名が気にいらない場合変更できます。 例として md5(ページ名).html を使用するものを書いておきます。

plugin ディレクトリと同階層の init ディレクトリ(なければ作成)内の dump2html.ini.php (なければ作成)に以下の内容を追加

<?php
exist_plugin('PluginDump2html');
class PluginDump2htmlUser extends PluginDump2html
{
    function encode($page)
    {
        return md5($page);
    }
}
?>

css へのリンクがおかしい

ひょっとしたら以下の対策が必要かもしれません

PukiWiki Plus!

index.php にて

-define('ROOT_URI', '');
+define('ROOT_URI', 'あなたのPukiWikiサイト絶対アドレス/');

PukiWiki 本家

init/dump2html.ini.php ファイルを以下の内容で作成

<?php
exist_plugin('PluginDump2html');
$plugin = new PluginDump2html();
$plugin->CONF['DUMPDIR'] = '';
class PluginDump2htmlUser extends PluginDump2html
{
    function encode($page)
    {
        return md5($page);
    }
}
?>

index.php ファイルのあるディレクトリに書き込み許可を出します。

HTML ファイル出力先が html ディレクトリではなく index.php ファイルのあるディレクトリになります。 それによって index.php からの css へのパスと html ファイルからの css へのパスが同一でありさえすれば(一切の置換なく)正しく表示できます。

Compatibility Check

Please join us to check compatibilities.

Compatible

Selection Vote
PHP4 7
PHP5 7
1.3.7 0
1.4.3 1
1.4.4 0
1.4.5_1 0
1.4.6 0
1.4.7 8
1.4.5plus-eucjp 0
1.4.6plus-u1-eucjp 0
1.4.6plus-u2-eucjp 0
1.4.5plus-u2-i18n 0
1.4.6plus-u1-i18n 0
1.4.6plus-u2-i18n 0
1.4.7plus-i18n 2
1.4.7plus-u2-i18n 3

Incompatible

Selection Vote
PHP4 0
PHP5 2
1.3.7 0
1.4.3 0
1.4.4 0
1.4.5_1 0
1.4.6 1
1.4.7 4
1.4.5plus-eucjp 0
1.4.6plus-u1-eucjp 0
1.4.6plus-u2-eucjp 0
1.4.5plus-u2-i18n 1
1.4.6plus-u1-i18n 0
1.4.6plus-u2-i18n 0
1.4.7plus-i18n 0
1.4.7plus-u2-i18n 0

Download

右クリックから3つのファイルを保存し、plugin ディレクトリにおいてください。

開発版

旧版

更新履歴

What's new viewcvs Previous viewcvs.old

FileDateWhat's new
v1.2901/03/2008statichtml.inc.php を再利用するように整理。リンク置換コードも pkwklinkmodifier.inc.php に分離。method=dump の廃止。純粋にダンプを目的とする→ブロック型廃止。キャッシュプラグインとして使用する機能廃止。ダンプ後リダイレクトは残っているがサポート対象外。
v1.2812/21/2007FrontPage へのリンクは ./ に
v1.2507/10/2007BugFix
rev.76106/16/2007method のデフォルトを http に変更
rev.75806/16/2007キャッシュプラグインとして使用する用関数を追加。Etag を使用してブラウザにキャッシュさせる
rev.63006/01/2007書き込み時自動ダンプ用関数、設定を追加
rev.62505/31/2007ごにょごにょ
rev.53503/06/2007ブロック型のダンプ成功メッセージもダンプしてしまっていたのを修正
rev.47702/23/2007参照制限ページをダンプしないオプション。rev.464 からオプション項目がかなり増えてしまいました。基本的には私の開発テストを楽にするためでしかなく、実際に使用するユーザの方はデフォルト値をファイルを編集して設定しておくほうが効率がよいかと・・・。
rev.47302/23/2007http 版で閲覧制限されているページに対処。設定項目をアクション型でオプションとして選べるように。
rev.47002/23/2007http アクセスによる html の取得版を試しに作成。ToDo: いくつかの設定項目をアクション型実行時にオプションとして選べるようにする。
rev.46702/23/2007相対パス指定されていた javascript, css, img のリンク置換に対応。これをもってバージョン 0.98 といった所。
rev.46502/23/2007cleanup。設定項目 conf を大文字に。dump2html.skin.php の使用を中止。指定はできる。
rev.46402/20/2007自動生成される RecentChanges, RecentDeleted ページへのリンクは静的ページにしないように
rev.44602/18/2007BugFix
rev.37701/31/2007php タイムアウトしないように
rev.23301/12/2007ユーザ設定機構に対応。設定 参照。
rev.4907/19/2006pukiwiki 本家でタイムスタンプの式が違っていたのに対処。コードの整理
dump2html.inc.php.407/16/2006dump2html 用スキン
dump2html.inc.php.3.107/15/2006rev.3 に対して全て一階層に保存するタイプ。設定 PLUGIN_DUMP2HTML_FORMAT_DIRTREE で rev.3 式を用いるか選べる。CSS,Javascript問題に対する一時しのぎ
dump2html.inc.php.307/13/2006強制上書きオプションの追加。rev.2 に対して、日本語ページ(正確にはrawurlencodeで変形するページ)を encode する(正確には rawurlencode 後 % を取り除く)タイプ。FrontPage/ほげ は FrontPage/46726F6E74506.html のような形になる。FrontPage/46726F6E74506 というページと被ってしまうだろうが、問題にはならないことを期待している。
dump2html.inc.php.2.207/13/20062.1 にディレクトリ階層を取り入れたタイプ。FrontPage/Note は 46726F6E7450616765/4E6F7465.html のような形になる。
dump2html.inc.php.2.107/13/2006単純明快 encode(ページ名) タイプ。FrontPage/Note は 46726F6E74506167652F4E6F7465.html となる。全て一階層に保存されるので CSS も html/skin のような形で skin ディレクトリをコピーしてしまえば良い。作る側からすると一番楽な仕様
dump2html.inc.php.207/09/2006block plugin style. Link address replacing.
dump2html.inc.php.107/06/2006初版。ダンプだけ