make_pages.inc.php

サマリ複数ページを一括で作成するプラグイン
リビジョン0.90
対応バージョン1.4.4
投稿者okkez
投稿日2004-12-23 (木) 07:04:35

概要

  • 複数ページを一括で作成します。
  • ライセンスはPukiWiki本体と同じGPLです。

説明

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

使用法

まず、以下を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するデータ

動作イメージ

make_pages1.png make_pages2.png
こんな感じです。

既知の問題

  • 作成できるページ数は使用しているサーバーの設定と能力による*2

更新履歴

  • 0.90 2004-12-23
    最初のリリース

ダウンロード

filemake_pages.inc.php.gz

コメント

  • やっぱりあまり反応が無い。ついでにPukiWikiの内部関数を利用してシェルからN万件一気に作れるPHPスクリプトも書いたけど、プラグインじゃないからこっちには公開しづらい*3。 -- okkez 2004-12-27 (月) 04:08:52
  • 発想が面白いですね :) ベタな管理ツールというのは、そのような状況を望む管理者がいなくては成り立ちませんから、このプラグイン自体がどちらかといえばdev向けなのかもしれませんね。 -- henoheno 2004-12-27 (月) 22:51:18
    • devサイトの方に、そういうコーナーを作るといいですか? -- henoheno 2004-12-27 (月) 22:51:58
      • そうして頂けると助かります。余談ですが、dev:PukiWiki2辺りで読んだ内容を元に作ってみました。 -- okkez 2004-12-28 (火) 02:45:35
    • とり急ぎ、PukiWiki/関連ツール にリンクを追加しました :) -- henoheno 2004-12-31 (金) 16:21:00
  • 遅くなりましたが、リンク追加ありがとうございました。 -- okkez 2005-01-10 (月) 04:44:50
  • Trackerとlistbox3でデータベースを作っているのですが、これとても便利そうなので試させていただきます。 -- mkyan? 2005-01-26 (水) 19:34:59
  • calendar2に対応させるページを作るときに便利そうですね。 -- yusu? 2006-04-05 (水) 20:57:23

おまけ

  • 上で書いてたシェルから一気に~というヤツです。
  • 自分のPukiWikiのページ数の限界を知りたい人向け。
  • コマンド一発で、数万頁作成可能です。*4
  • ちなみに作者の環境*5では10万頁作成に20分以上かかりました。
  • ベンチマークのお供にお一ついかがですか?

使用上の注意

  • あらゆるトラブルを自己解決する努力の出来る人のみ使用してください。
  • ライセンスはPukiWiki本体と同じGPLです。

使い方

  1. 一行に一つページ名を書いたテキストファイルを用意する。*6
  2. PukiWikiの整形ルールに従って書いたテキストファイルを用意する。
  3. スクリプト内の各種定数を適切に設定する。
  4. シェルから以下のコマンドを実行する。*7*8
    $ php make_pages.php <list> <contents>
  5. 多分、出来上がったファイルはPukiWikiが読み書きできるようにchownかchmodしないとダメ。

既知の問題

  • スクリプトのusage*9の英語が適当。文法的に正しいのかさえ怪しい。
  • 色々とコマンドラインから使うのに問題があったので、PukiWikiの標準の関数はコピペして一部書き換えてます。
  • 追加したページが全部同じ内容になるのが玉に瑕。いつどこゲームみたいにフレーズを組み合わせてページ内容を作成できれば面白いんだろうけど。

おまけダウンロード

fileomake.tar.gz

中身はmake_pages.phpとmake_list.phpです。

おまけに対するコメント

  • 本当にベンチマークにいいかもしれません :) 少なくとも私はきっと試します :) -- henoheno 2005-01-07 (金) 22:18:39
  • 是非、試してみて下さい。ちなみに負荷対策を全くしないでページ数を増やしてみたところ5000ページ程度で出力されるhtmlが途中で切れる等、何らかの不具合が出ました。 -- okkez 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)... 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? 2005-02-23 (水) 06:50:35
  • test site is here: http://xo.1.vg/test/ feel free to play with it ;) -- xo? 2005-02-23 (水) 06:52:29
  • forgot to test search.. it fails 30s execution time limit -- xo? 2005-02-23 (水) 07:42:10


*1 設定で変更する
*2 AthlonXP2000+,phpの実行時間制限30secで300ページ作ることが出来た。
*3 dev向きの話題なのかな?
*4 その分CPUパワーを使いますが
*5 AthlonXP 2000+ メモリ256MB
*6 同梱のmake_list.phpを使えば簡単に出来る
*7 引数無しで実行するとusageを表示
*8 もちろん、make_pages.phpに実行権限を与えてやっても良い
*9 というかusageの意味がわかってない

添付ファイル: fileomake.tar.gz 1618件 [詳細] filemake_pages.inc.php.gz 2425件 [詳細] filemake_pages2.png 1953件 [詳細] filemake_pages1.png 2159件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-04-05 (水) 20:57:24
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.350 sec.

OSDN