#author("2021-04-22T17:04:19+09:00","","")
** make_pages.inc.php [#gfadd7fc]
|RIGHT:100|LEFT:360|c
|~サマリ|複数ページを一括で作成するプラグイン|
|~リビジョン|0.90|
|~対応バージョン|1.4.4|
|~投稿者|[[okkez]]|
|~投稿日|&new{2004-12-23 (木) 07:04:35};|

*** 概要 [#s875c97e]
-複数ページを一括で作成します。
-ライセンスはPukiWiki本体と同じGPLです。

#contents

*** 説明 [#x4fedd85]
-prefix+数字で複数ページを一括で作成できる。
-任意のセパレータ((設定で変更する))で区切ったリストからページを一括作成できる。
-prefixモードの場合のみ、prefixの末尾にあるスラッシュを削除する。
-日記などで、とりあえず一ヶ月分ページを作るなんていうときに便利かも知れません。
-一応、XHTML1.1 validation check済み

*** 使用法 [#vb6cea49]
まず、以下をja.lngに追加する。
 ///////////////////////////////////////
 // make_pages.inc.php
 $_make_pages_messages = array(
     'title_make_pages' => '連番ページ作成プラグイン',
     'title_success' => '成功',
     'title_error' => 'エラー',
     'msg_success' => '<p>以上のページを作成しました</p>',
     'msg_auth_error' => '<p>認証エラー</p>',
     'msg_error' => '<p>エラー。</p><p>引数の指定が間違ってませんか?</p>',
     'msg_prefix' => 'ページ名プレフィクスを記入<span class="new1">*</span>',
     'msg_first' => '始めの番号',
     'msg_last' => '終わりの番号',
     'msg_slash' => 'ページ名プレフィクスと連番の間の"/"の有無',
     'msg_slash_true' => '有',
     'msg_slash_false' => '無',
     'msg_list' => 'ページ名リスト(セパレータで区切る)<span class="new1">*</span>',
     'msg_post' => 'メッセージ',
     'msg_password' => '管理者パスワード<span class="new1">*</span>',
     'msg_body_start' => '必要事項を記入して実行ボタンを押してください。<span class="new1">*</span>印は省略できません。',
     'btn_exec' => '実行');
そして、コマンド型プラグインなので以下のようにコマンドをうちこむ。
 http://hogehoge/pukiwiki.php?cmd=make_pages
または
 http://hogehoge/pukiwiki.php?cmd=make_pages&mode=list

make_pages.inc.phpの最初の方に定数が定義してあるのでそれらを変更することでプラグインの動作を少し変更できます。
:MAKE_PAGES_DEFAULT_FIRST_PAGE_NUM|プラグインをprefixモードで呼び出したときに見えている始めの番号欄にある数字
:MAKE_PAGES_DEFAULT_LAST_PAGE_NUM|プラグインをprefixモードで呼び出したときに見えている終わりの番号欄にある数字
:MAKE_PAGES_DEFAULT_SLASH|あんまり意味ないけどprefixと数字の間にスラッシュを入れるかどうか。 TRUE or FALSE
:MAKE_PAGES_DEFAULT_MODE|デフォルトのモードを指定する。'prefix' か 'list' 
:MAKE_PAGES_SEPARATOR|listモードで使うセパレータ
:MAKE_PAGES_DEFAULT_POSTDATA|デフォルトでPOSTするデータ

*** 動作イメージ [#oc9f65dd]
&ref(make_pages1.png,,60%);
&ref(make_pages2.png,,60%);~
こんな感じです。
*** 既知の問題 [#udc39553]
-作成できるページ数は使用しているサーバーの設定と能力による((AthlonXP2000+,phpの実行時間制限30secで300ページ作ることが出来た。))
*** 更新履歴 [#reec68ae]
-0.90 2004-12-23~
最初のリリース
*** ダウンロード [#n426fac0]
&ref(make_pages.inc.php.gz);
*** コメント [#vbfc773d]
-やっぱりあまり反応が無い。ついでにPukiWikiの内部関数を利用してシェルからN万件一気に作れるPHPスクリプトも書いたけど、プラグインじゃないからこっちには公開しづらい((dev向きの話題なのかな?))。 -- [[okkez]] &new{2004-12-27 (月) 04:08:52};
-発想が面白いですね :) ベタな管理ツールというのは、そのような状況を望む管理者がいなくては成り立ちませんから、このプラグイン自体がどちらかといえばdev向けなのかもしれませんね。 -- [[henoheno]] &new{2004-12-27 (月) 22:51:18};
-- devサイトの方に、そういうコーナーを作るといいですか? -- [[henoheno]] &new{2004-12-27 (月) 22:51:58};
---そうして頂けると助かります。余談ですが、[[dev:PukiWiki2]]辺りで読んだ内容を元に作ってみました。 -- [[okkez]] &new{2004-12-28 (火) 02:45:35};
-- とり急ぎ、[[PukiWiki/関連ツール]] にリンクを追加しました :) -- [[henoheno]] &new{2004-12-31 (金) 16:21:00};
-遅くなりましたが、リンク追加ありがとうございました。 -- [[okkez]] &new{2005-01-10 (月) 04:44:50};
-Trackerとlistbox3でデータベースを作っているのですが、これとても便利そうなので試させていただきます。 -- [[mkyan]] &new{2005-01-26 (水) 19:34:59};
- calendar2に対応させるページを作るときに便利そうですね。 -- [[yusu]] &new{2006-04-05 (水) 20:57:23};
- 社内Wikiを作っているのですが、やろうとしていた作業にドンピシャのプラグインでした。ありがとうございました。(ページ名指定で作れるのが大変ありがたいです) -- [[名無しさん]] &new{2021-04-22 (木) 17:04:19};

#comment

** おまけ [#w8f1265e]
- 上で書いてたシェルから一気に~というヤツです。
- 自分のPukiWikiのページ数の限界を知りたい人向け。
- コマンド一発で、数万頁作成可能です。((その分CPUパワーを使いますが))
- ちなみに作者の環境((AthlonXP 2000+ メモリ256MB))では10万頁作成に20分以上かかりました。
- ベンチマークのお供にお一ついかがですか?
*** 使用上の注意 [#q975432b]
-あらゆるトラブルを自己解決する努力の出来る人のみ使用してください。~
-ライセンスはPukiWiki本体と同じGPLです。
*** 使い方 [#u2149b10]
+ 一行に一つページ名を書いたテキストファイルを用意する。((同梱のmake_list.phpを使えば簡単に出来る))
+ PukiWikiの整形ルールに従って書いたテキストファイルを用意する。
+ スクリプト内の各種定数を適切に設定する。
+ シェルから以下のコマンドを実行する。((引数無しで実行するとusageを表示))((もちろん、make_pages.phpに実行権限を与えてやっても良い))~
 $ php make_pages.php <list> <contents>
+ 多分、出来上がったファイルはPukiWikiが読み書きできるようにchownかchmodしないとダメ。

*** 既知の問題 [#fa0ca6a5]
- スクリプトのusage((というかusageの意味がわかってない))の英語が適当。文法的に正しいのかさえ怪しい。
- 色々とコマンドラインから使うのに問題があったので、PukiWikiの標準の関数はコピペして一部書き換えてます。
- 追加したページが全部同じ内容になるのが玉に瑕。いつどこゲームみたいにフレーズを組み合わせてページ内容を作成できれば面白いんだろうけど。
*** おまけダウンロード [#y80cc987]
&ref(omake.tar.gz);
~中身はmake_pages.phpとmake_list.phpです。
*** おまけに対するコメント [#jcd7b9a9]
-本当にベンチマークにいいかもしれません :) 少なくとも私はきっと試します :) -- [[henoheno]] &new{2005-01-07 (金) 22:18:39};
-是非、試してみて下さい。ちなみに負荷対策を全くしないでページ数を増やしてみたところ5000ページ程度で出力されるhtmlが途中で切れる等、何らかの不具合が出ました。 -- [[okkez]] &new{2005-01-10 (月) 04:47:38};
-I tested it with 10000 pages on Athlon(classic) 700Mhz/512M/FreeBSD 5.3/Apache 2.0.53/php 4.3.10(with [[eAccelerator>http://eaccelerator.sourceforge.net/]])...  doing ?cmd=links took 333.209sec, making & editing page takes few seconds, loading FrontPage with 10000 related pages takes 13~20sec(depends on cpu load), List of pages is same as FrontPage. -- [[xo]] &new{2005-02-23 (水) 06:50:35};
-test site is here: http://xo.1.vg/test/   feel free to play with it ;) -- [[xo]] &new{2005-02-23 (水) 06:52:29};
-forgot to test search..  it fails 30s execution time limit -- [[xo]] &new{2005-02-23 (水) 07:42:10};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.038 sec.

OSDN