#author("2018-03-11T16:25:23+09:00;2009-03-09T00:38:38+09:00","","")
**[[質問箱/3363]] [#yd7ec304]
|RIGHT:70|LEFT:410|c
|~カテゴリ||
|~サマリ|一気に階層化する方法|
|~バージョン|1.4.5_1|
|~投稿者|[[Mark]]|
|~状態|質問|
|~投稿日|&new{2006-03-22 (水) 15:17:10};|
***質問 [#v13e1dda]
当初よりあまり考えない文書名で作ってきたため整理がつかなくなってきたので、階層化をすることにしました。~
後は、いちいち文書作るたびに親文書を修正するのが面倒になってきたと言うのも有りますが...。~
(後は、文書名がよく被るという事も....。)~
~
そこで、親文書を作成しその親文書の文書名を既存文書にrenameプラグインで付加してやってます。~
ただ、文書数が多く(対象となる文書は、およそ500文書)、手動で始めた事をかなり後悔しているところです。(^^;~
~
関連文書の変更を一気にやる方法は無いでしょうか?~
やっぱし、プラグインが必要でしょうか?~
~
【2006/3/24追加】~
説明不足の指摘を受けたので、情報を追記します。~
たとえば、
 あいうえお
 かきくけこさしすせ
 そたちつ
 てとなにぬね
 のはひ
 ふへほまみむめ
と言う感じで名前に一貫性の無い文書名を持つ文書が6つ有ったとして以下のようにしたいのです。~
-1つめと2つめと6つめを「第一文書」と言うカテゴリに追加
-3つめと5つめを「第二文書」と言うカテゴリに追加
-4つめを「第三文書」と言うカテゴリに追加

これらをカテゴリ分けして文書名を以下のように変更したいのです。
 第一文書/あいうえお
 第一文書/かきくけこさしすせ
 第一文書/ふへほまみめ
 第二文書/そたちつ
 第二文書/のはひ
 第三文書/てとなにぬね
これらを一気にと言うのは、さすがに無茶だと判ってます。~
やりたいのは、「第一文書」カテゴリに含める文書である3つの文書だけでも一気に出来ませんか?と言う事です。~



***回答 [#gfd38890]
- 何を言われているのかよくわかりませんが、「複数のページ名を一括で変換したい」と言うことでしょうか?であればrenameプラグインのソース(plugin/rename.inc.php)の23行目付近を以下のように変更すれば正規表現置換でメタ文字を使用できます。(検証してませんけど)
 - $src_pattern = '/' . preg_quote($src, '/') . '/';
 + $src_pattern = '/' . $src . '/';
例えば、「foo」と「bar」というページを「hoge」の下にしたければFromに「^(foo|bar)$」、Toに「hoge/$1」としてみてください。 --  &new{2006-03-24 (金) 00:32:41};
- php-cli(PHPをコマンドラインから実行する)でPukiWiki関連のデータをどうにかする管理ツールがあれば便利なんでしょうね。 -- [[henoheno]] &new{2006-03-25 (土) 00:28:53};
- やっぱ無理そうですね...。1つ1つ手でやることにします。 -- [[Mark]] &new{2006-03-27 (月) 12:53:34};
-- ??最初に挙げた方法ではダメだったんですか?何がまずかったでしょうか?レスが無いのですが・・・ --  &new{2006-03-27 (月) 13:38:21};
-- 正規表現では拾いにくいようなグループ分けで、置き換えたいのならそうなるでしょうね。&br;[[自作プラグイン/deldel.inc.php]] みたいに選択できるようにして、指定したページをまとめて特定の階層下に移動するプラグインがあればいいんでしょうけど。 --  &new{2009-03-09 (月) 00:38:38};

- こんにちは。質問者ではないのですが、こちらのパッチで上手くいきました。ありがとうございました。 -- [[TOBY]] &new{2008-08-10 (日) 07:32:57};

#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.044 sec.

OSDN