dump2html.inc.php
Last Modified. 01/03/2008
Tag: PukiWiki Plugin
Dumps wiki outputs into static HTMLs
| Summary | Dumps wiki outputs into static HTMLs |
|---|---|
| Developer | sonots |
| First Edition | 01/03/2008 |
| License | GPL |
| Table of Contents |
Abstract
This plugin dumps wiki outputs into static HTMLs.
Related
- org:自作プラグイン/snapshot.inc.php
- This does not outputs skins - dev:BugTrack2/114
- HTML出力機能を実装して欲しい(PukiWikiをCMSとして使う) - namazuTamer/PukiWiki/bodycache
- 出力HTMLをキャッシュし表示の高速化を図る。これもスキンまでは対応していないが、スキンの処理はさほど重いわけでもないのでそれで良いと考える。 - 0hitぷき - Convert_Cache
- 同上。ls など別ページの変化によって出力が変わるプラグインはキャッシュしないように除外設定しておくことが可能(消失?) - pkwkdownloader.php -- PukiWiki のソース(Wiki または HTML)を http 経由でダウンロード
- ecache.inc.php -- お手軽部分キャッシュ
- statichtml.inc.php -- PukiWiki の軽量化
使用法 - 開発版
プラグイン設定項目一覧
必要ならば変更できる設定項目です。
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 ページが新しければ上書きダンプします。
使用法
- ファイル群を plugin ディレクトリにダウンロード
- html ファイルが保存されるディレクトリ(デフォルトでは wiki ディレクトリと同階層の html ディレクトリ)を作成、書き込み許可を出す。
- 一括ダンプ(アクション型)する。
- ダンプ先ディレクトリ、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 へのパスが同一でありさえすれば(一切の置換なく)正しく表示できます。
Download
右クリックから3つのファイルを保存し、plugin ディレクトリにおいてください。
開発版
- dump2html.inc.php
現在の dump2html は pkwklinkmodifier と statichtml のコネクタ的な存在です - pkwklinkmodifier.inc.php
リンク置換処理 - statichtml.inc.php
静的HTML変換
旧版
| File | Date | Manual |
v1.28![]() | 12/21/2007 | Manual/Plugin/dump2html.inc.php/v1.28 |
v1.25![]() | 07/10/2007 | Manual/Plugin/dump2html.inc.php/v1.25 |
更新履歴
What's new
viewcvs
Previous
viewcvs.old
| File | Date | What's new |
| v1.29 | 01/03/2008 | statichtml.inc.php を再利用するように整理。リンク置換コードも pkwklinkmodifier.inc.php に分離。method=dump の廃止。純粋にダンプを目的とする→ブロック型廃止。キャッシュプラグインとして使用する機能廃止。ダンプ後リダイレクトは残っているがサポート対象外。 |
| v1.28 | 12/21/2007 | FrontPage へのリンクは ./ に |
| v1.25 | 07/10/2007 | BugFix |
| rev.761 | 06/16/2007 | method のデフォルトを http に変更 |
| rev.758 | 06/16/2007 | キャッシュプラグインとして使用する用関数を追加。Etag を使用してブラウザにキャッシュさせる |
| rev.630 | 06/01/2007 | 書き込み時自動ダンプ用関数、設定を追加 |
| rev.625 | 05/31/2007 | ごにょごにょ |
| rev.535 | 03/06/2007 | ブロック型のダンプ成功メッセージもダンプしてしまっていたのを修正 |
| rev.477 | 02/23/2007 | 参照制限ページをダンプしないオプション。rev.464 からオプション項目がかなり増えてしまいました。基本的には私の開発テストを楽にするためでしかなく、実際に使用するユーザの方はデフォルト値をファイルを編集して設定しておくほうが効率がよいかと・・・。 |
| rev.473 | 02/23/2007 | http 版で閲覧制限されているページに対処。設定項目をアクション型でオプションとして選べるように。 |
| rev.470 | 02/23/2007 | http アクセスによる html の取得版を試しに作成。ToDo: いくつかの設定項目をアクション型実行時にオプションとして選べるようにする。 |
| rev.467 | 02/23/2007 | 相対パス指定されていた javascript, css, img のリンク置換に対応。これをもってバージョン 0.98 といった所。 |
| rev.465 | 02/23/2007 | cleanup。設定項目 conf を大文字に。dump2html.skin.php の使用を中止。指定はできる。 |
rev.464![]() | 02/20/2007 | 自動生成される RecentChanges, RecentDeleted ページへのリンクは静的ページにしないように |
| rev.446 | 02/18/2007 | BugFix |
| rev.377 | 01/31/2007 | php タイムアウトしないように |
| rev.233 | 01/12/2007 | ユーザ設定機構に対応。設定 参照。 |
rev.49![]() | 07/19/2006 | pukiwiki 本家でタイムスタンプの式が違っていたのに対処。コードの整理 |
| dump2html.inc.php.4 | 07/16/2006 | dump2html 用スキン |
| dump2html.inc.php.3.1 | 07/15/2006 | rev.3 に対して全て一階層に保存するタイプ。設定 PLUGIN_DUMP2HTML_FORMAT_DIRTREE で rev.3 式を用いるか選べる。CSS,Javascript問題に対する一時しのぎ |
| dump2html.inc.php.3 | 07/13/2006 | 強制上書きオプションの追加。rev.2 に対して、日本語ページ(正確にはrawurlencodeで変形するページ)を encode する(正確には rawurlencode 後 % を取り除く)タイプ。FrontPage/ほげ は FrontPage/46726F6E74506.html のような形になる。FrontPage/46726F6E74506 というページと被ってしまうだろうが、問題にはならないことを期待している。 |
| dump2html.inc.php.2.2 | 07/13/2006 | 2.1 にディレクトリ階層を取り入れたタイプ。FrontPage/Note は 46726F6E7450616765/4E6F7465.html のような形になる。 |
| dump2html.inc.php.2.1 | 07/13/2006 | 単純明快 encode(ページ名) タイプ。FrontPage/Note は 46726F6E74506167652F4E6F7465.html となる。全て一階層に保存されるので CSS も html/skin のような形で skin ディレクトリをコピーしてしまえば良い。作る側からすると一番楽な仕様 |
| dump2html.inc.php.2 | 07/09/2006 | block plugin style. Link address replacing. |
| dump2html.inc.php.1 | 07/06/2006 | 初版。ダンプだけ |


