Source of 過去物/PukiWiki改造メモ

#freeze
本気でメモなので他人が読むようにはできていません。しかも古い。

#contentsx
*メモ [#b9987b3c]

-autoalias http://teanan.homeip.net/pukiwiki/?%BC%AB%BA%EE%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%2Fautoalias.diff
-<?php require_once(PLUGIN_DIR.'topicpath.inc.php'); echo plugin_topicpath_convert(); ?> ではなく do_plugin_convert (plugin.php を使用したほうがよさそう)
-http://pukiwiki.sourceforge.jp/dev/?%CA%DD%BC%E9%A5%C4%A1%BC%A5%EB --  &new{2004-08-06 (金) 13:29:43};
-table レイアウトを float レイアウトにしないと pre { 	line-break:strict;	word-break:break-all;	word-wrap:break-word;} 利かない? いや、一応利いてはいるのか。--  &new{2004-07-18 (日) 02:16:04};
-iframe の scrolling="no" はスタイルシートで。
-[[pukiwiki.sourceforge.jp:自作プラグイン/urlbookmark.inc.php]] --  &new{2004-07-01 (木) 23:27:29};
-ls2 のアクション使ってファイル名検索できてもいいよな。一覧開いてブラウザ検索じゃあね。でもあれははじまりだけか・・・正規表現部分変えないとか・・・うーん。--  &new{2004-06-25 (金) 18:16:19};
-timestamp を更新しないにチェックをつけても、次の日辺り or 他のファイルが更新されたとき?にタイムスタンプが更新される?ファイルの所有者がウェブサーバーじゃなくて自分の場合失敗する?といっても今変更できんしな。 --  &new{2004-06-21 (月) 00:45:24};
-comment2 を作ってみたが pcomment2 を作りたい。insert, article の改造・・・じゃだめだな。-- &new{2004-06-20 (日) 21:24:44};
-skin で MenuBar を常に表示するようにし、MenuBar に見出しを2つ以上書くと、一覧をみたときに Array という文字列がでてくる。どこで直すのやら。 --  &new{2004-05-29 (土) 22:43:40};
-$autolink = 5 にしてもファイル od はオートリンクされたな・・・わけわかめ。 --  &new{2004-05-24 (月) 23:52:55};
-autolink 単語単位にならんもんかね? --  &new{2004-05-24 (月) 23:52:18};
-list_unlimit.diff で ****** 見出しは ** と2つは表示されてしまうのを消したい。 --  &new{2004-05-22 (土) 04:56:38};
-areaedit で preview になるのをとめたい。edit でいい。いや、preview になるからどこからどこまでかわかるのか。ではせめてフォームを上に持っていきたい。いや、プレビュー機能そのまま使用しているから、本当のプレビューのときに困る。結論:そのまま --  &new{2004-05-22 (土) 04:55:44};
*参考になるページ [#y61ca346]

//#comment(below)
[[PyukiWiki/自作プラグイン:http://nekyo.hp.infoseek.co.jp/cgi-bin/wiki/wiki.cgi?PyukiWiki%2f%bc%ab%ba%ee%a5%d7%a5%e9%a5%b0%a5%a4%a5%f3 ]]--  &new{2004-06-23 (水) 21:27:36};
-[[Pluginの仕様>http://pukiwiki.sourceforge.jp/dev/?PukiWiki%2FPlug-in%A4%CE%BB%C5%CD%CD]] --  &new{2004-06-23 (水) 22:49:22};
-[[PukiWikiプラグインを作る>http://inagi.himitsukichi.com/~aozora/cgi-bin/pukiwiki/pukiwiki.php?PukiWiki%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%A4%F2%BA%EE%A4%EB ]]--  &new{2004-06-23 (水) 21:30:40};
-http://jo1upk.blogdns.net/saito/index.php?%BC%AB%BA%EE%2FPHP%2Fpconfig.php --  &new{2004-06-23 (水) 21:30:15};
-[[PukiWiki高速化(plugin.php)>http://nekyo.hp.infoseek.co.jp/cgi-bin/wiki/wiki.cgi?PyukiWiki%2fPuki%b9%e2%c2%ae%b2%bd ]]--  &new{2004-06-23 (水) 21:29:12};
-http://www.wikiroom.com/?Tips --  &new{2004-05-21 (金) 17:04:46};
-[[しろくろの部屋:http://home.arino.jp/?PukiWiki]]
-[[pukiwiki.sourceforge.jp仕様:http://pukiwiki.sourceforge.jp/index.php?PukiWiki.org%2F%E4%BB%95%E6%A7%98]]
*パッチ [#w9f5686c]

とりあえずWikiのディレクトリに行って、 patch < hoge.diff 

-[[diff、patchコマンド使い方:http://www.idg.co.jp/lw/weekly_1/040329/]]
-[[Windows版patchダウンロード:http://www.awavetech.com/listmanager/docs/reference/how_to_patch.html]]

//#comment(below)
**search.diff 検索の表示拡張 [#k7ed0e61]

デフォルトでは検索文字列を含んだページを出力するだけだが、ページ内のマッチした行も出力するようにする。

[[dev:PukiWiki/1.4/ちょっと便利に/単語検索の結果表示を拡張]]
http://home.arino.jp/index.php?cmd=read&page=PukiWiki&word=search.diff
**block_pre.diff 行頭<pre>〜行頭</pre>間を整形済みとする [#wb884467]
-[[pukiwiki.dev:PukiWiki/1.4/ちょっと便利に/整形済みブロック]]
-http://home.arino.jp/?PukiWiki
-[[PukiWiki1.4.3用>http://pukiwiki.sourceforge.jp/index.php?plugin=attach&openfile=block_pre_143.diff&refer=%E8%87%AA%E4%BD%9C%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%2Fpre.inc.php]]

convert_html.php 
 <pre>...</pre>
だったが、
 #pre...#pre(end)
のほうがなんか見やすいと思うので、
 class Body extends Block
 function parse(&$lines)
の <pre>, </pre> を #pre, #pre(end) に変更。
この pre は文中でリンクなどを扱える特殊なものなので、
 $this->tagblock($lines, '#pre2', '#pre2(end)', 'Pre_inline');
 $this->tagblock($lines, '#pre', '#pre(end)','Pre');
のようにして、pre2 ならリンクなどを扱える。pre なら普通のテキスト整形に分けた。
**list_unlimit.diff 見出しを5段まで、リスト階層を無制限に [#m29b1c90]
-[[pukiwiki.dev:PukiWiki/1.4/ちょっと便利に/見出しとリストの拡張]]
-http://home.arino.jp/?PukiWiki

pukiwiki.dev のほうは古いバージョンとの diff みたいで、パッチがマッチしませんでした。
しろくろのへやのほうはOK. 

でも ****** とすると ** と2つ残るぞ。**** なら1つ。どこいじるのかわからん。
**para_edit.diff 見出しごとの編集 [#h256e501]
-[[pukiwiki.dev:PukiWiki/1.4/ちょっと便利に/見出しごとの編集(fixed_anchor版)]]
-http://home.arino.jp/?PukiWiki


***edit アイコンの表示位置 [#nee03764]
plugin/edit.inc.php で function plugin_edit_inline() に
 <img style="float:right;" src="image/edit.png" alt="Edit" title="Edit" />
となっているところがあるはずなのでそこで編集マークの位置を変える。
 <img class="paraedit" src="image/edit.png" alt="Edit" title="Edit" />
として、以降はスタイルシートの img.paraedit と .anchor_super でいじることにした。
とりあえず print.ja.css に
 .anchor_super{
    display:none;
 }

convert_html.php, function getAnchor の &edit(,$id) ところで利用されている。
#pre{{{
	function getAnchor($text,$level)
	{
		global $top,$_symbol_anchor;
		
		$anchor = (($id = make_heading($text,FALSE)) == '') ?
			'' : " &aname($id,super,full)\{$_symbol_anchor};";
		$edit = ($anchor == '') ? '' : " &edit(,$id);";
		$text = ' '.$text;
		$id = "content_{$this->id}_{$this->count}";
		$this->count++;
		$this->contents_last = &$this->contents_last->add(new Contents_UList($text,$level,$id));
		
		return array($edit . $text . $anchor, $this->count > 1 ? "\n$top" : '', $id);
	}
}}}

include.inc.php や calendar_viewer もいじる必要がある。
自分はページ名見出しにもつける。
pukiwiki.sourceforge.jp のようにしたい場合は [[org:続・質問箱/38]] 参照

***MenuBar で para_edit アイコンがでないようにする [#had86269]
[[org:続・質問箱/132]]

plugin/menu.inc.php の
 	return preg_replace('/<ul[^>]*>/','<ul>',convert_html(get_source($page)));
を
 	$menutext = preg_replace('/^(\*{1,3}.*)\[#[A-Za-z][\w-]+\](.*)$/m', '$1$2', get_source($page));
 	return preg_replace('/<ul[^>]*>/','<ul>',convert_html($menutext));
に変更
***見出しのレベルに応じたパラグラフ単位の編集 [#b7cc1568]

http://home.arino.jp/index.php?%E8%B3%AA%E5%95%8F%E7%AE%B1%2F74
#pre{{{
function plugin_edit_parts($id,&$source,$postdata='')
{
	$postdata = rtrim($postdata)."\n";
	$heads = preg_grep('/^\*{1,3}.+$/',$source);
	while (list($start,$line) = each($heads))
	{
		if (preg_match("/\[#$id\]/",$line))
		{
		$span = strspn($line,"\*");
		while(list($end,$line) = each($heads))
		{
			if(preg_match("/^\*{1,{$span}}(?!\*).+$/",$line))
			{
			return join('',array_splice($source,$start,$end - $start,$postdata));
			}
		}
		return join('',array_splice($source,$start,count($source)-$start,$postdata));
		}
	}
	return FALSE;
}
}}}
*plugin [#d8fdac5f]
プラグイン、または既存プラグインの設定、改良。
//#comment(below)
-[[org:自作プラグイン/rss10pp.inc.php]] --  &new{2005-01-22 (土) 02:15:42};
-[[dev:BugTrack/507]] - バックアップから簡単に復旧する --  &new{2005-01-22 (土) 02:14:28};
**画面分割プラグイン [#y4308fcb]
div float による画面分割。
-div レイアウトにしているので clear でおかしくなる・・・(IE,Opera)
-さらに IE だと 50% が body の 50% ではなく全体の 50% になる。table レイアウトなら大丈夫なのか?
-逆にこのプラグインを table にしてみた。IE での 50% もbody 部分の 50% になるが、
整形済みテキストが 50% で word-break されない。

-http://www.tetsuo.morikawa.name/tech/pukiwiki.php?pukiwiki%2Fplugins%2Fdiv
-[[org:自作プラグイン/div.inc.php]] ダウンロードはこちらから
**cookie [#o8a9c009]
[[org:自作プラグイン/cookie.inc.php]]

cookie.js にしてスキンでとりこむ。

**refpre 添付ファイルを pre で表示するプラグイン [#j7366b48]
[[Check it out>http://m-arai.s41.xrea.com/closet/pukiwiki.xhtm?cmd=read&page=PC%C8%F7%CB%BA%CF%BF%2FPukiWiki%A5%E1%A5%E2%2Frefpre%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3]]
**mailbbs プラグイン [#s6de50d8]
-[[org:自作プラグイン/mailbbs.inc.php]]
これはおもしろい。
**iframe プラグイン 他サイトの HTML 等を iframe タグでとりこむ[#u87404d1]
とりこめるURLを限定できるように改造した。
-[[org:自作プラグイン/iframe.inc.php]]
**kifubbs プラグイン [#kab7263c]
別に棋譜機能はいらんのだが(offにできるし)、普通の bbs チックに書き込める。
-http://sample.noldor.info/index.php?kifubbs%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3

**areaedit ページ内の指定領域のみを編集対象とするプラグイン [#cdaa3a80]
[[pukiwiki:自作プラグイン/areaedit.inc.php]]
 <div style="margin:0px 0px 0px auto;text-align:right;" title="$areaedit_start_no">
 ...
 </div>
は
 <div class="areaedit" title="$areaedit_start_no">
 ...
 </div>
に変えてスタイルシートで変更できるように。もっとある。

あとは「編集」とかを好きなように。
 <img src="image/edit.png" alt="Edit" title="Edit" />
に変えた。
**topicpath 階層表現のリンクを作る [#qf5767d2]
階層表現のリンクを作るプラグインをインストール。
[[pukiwiki.sourceforge.jp:自作プラグイン/topicpath.inc.php]]
 UNIXコマンド一覧/テキスト処理/less - ページャ
のようなものが表示される。リンクとともに。
 #topicpath
のようにして使う。

pukiwiki.ja.skin.php を編集してページ名表示の部分にこれを使用することにした。
また、include の際にも使用するようにした。

&ref(topicpath.inc.php.diff);

-トップページの場合表示してくれなかった。
-トップページが変わるたび、トップページの表示名の設定をしなければならないのは馬鹿っぽい。
-また、
 //	自分のページに対するリンクを表示するかどうか
 define("PLUGIN_TOPICPATH_THIS_PAGE_DISPLAY",FALSE);
で、ページ名そのものを出さないのではなく、そのページへのページ名は表示するがリンクはしない。というように変更。
-また、引数を受け付けてほしいときがあった。
**paraedit パラグラフ単位の編集(不要) [#he463a7d]
パラグラフ単位の編集ができるように paraedit プラグインをインストール~
http://linux.s33.xrea.com:8080/SxWiki/index.php?ParaEdit#content_1_1~
[edit] の表示は見出しの下にした。

また、
 //define(_EDIT_LINK, '<div style="text-align: right; font-size: x-small; 
 padding: 0px; "><a href="%s">[edit]</a></div>');
を
 define(_EDIT_LINK, '<div class="paraedit"><a href="%s">[edit]</a></div>');
に変更して、default.ja.css のほうで変更することにした。
 div.paraedit{
   text-align: right;
   font-size: x-small;
   padding: 0px;
 }
にした。
本当をいうと、[edit] ではなく <h2><a>...</a></h2> のようにしたいが、
paraedit の中身を解析しないといけないようなので、とりあえず断念。

para_edit.diff のほうだと <h2>... <a>[edit]</a></h2> のような感じになる。こちらを採用。このプラグインは $body を解析して、表示を変えなおしているみたいだし。skin いじらないといけないし。
arg_check('edit') が paraedit には反応しないし。
*標準プラグイン [#z83bf021]
**plugin/diff.inc.php [#n63851b7]
***差分表示時に先頭の空白をなくす。 [#ib6d3e1a]
せっかくなので、pukiwiki.ini.php 中の $preformat_ltrim を利用する。

#pre{{{
+	global $preformat_ltrim;
	if (file_exists($filename)) {
		$diffdata = htmlspecialchars(join('',file($filename)));
-		$diffdata = preg_replace('/^(\-)(.*)$/m','<span class="diff_removed"> $2</span>',$diffdata);
+		$diffdata = preg_replace('/^(\-)(.*)$/m',' <span class="diff_removed">$2</span>',$diffdata);
-		$diffdata = preg_replace('/^(\+)(.*)$/m','<span class="diff_added"> $2</span>',$diffdata);
+		$diffdata = preg_replace('/^(\+)(.*)$/m',' <span class="diff_added">$2</span>',$diffdata);
+		if($preformat_ltrim)
+		{
+			$diffdata = preg_replace('/^ /m','',$diffdata);
+		}
}}}
**plugin/pupular.inc.php [#wb3312e4]
***昨日のxx件も表示 [#yda7c14c]
#refpre(popular.inc.php.diff)

en.lng, ja.lng へ $_popular_plugin_yesterday_frame の追加も必要。
**plugin/rename.inc.php [#nf575a5f]
***rename の際に管理者パスワードを求めない。 [#xc843684]
276 行目
 	//if (md5($pass) == $adminpass)
 	if (TRUE)
 	{

**ref attachの広告表示サーバ対応(失敗) [#j7732004]

単純にファイルに直にリンクを貼るようにする。カウント機能は使えなくなる。
***plugin/ref.inc.php [#se240354]
 -		$file = UPLOAD_DIR.encode($page).'_'.encode($name);
 + 		$extension = strrchr($name,".");
 +		$file = UPLOAD_DIR.encode($page).'_'.encode($name).$extension;
に変更。拡張子をつけないとブラウザがきちんと表示してくれないことが。
 $pattern = "/^({$page_pattern})_((?:[0-9A-F]{2})+)\.[a-zA-Z]+{$age_pattern}$/";

 -		$url = $script.'?plugin=attach&amp;openfile='.rawurlencode($name). '&amp;refer='.rawurlencode($page);
 +		$url = dirname($script).$file;
直にファイルを指定する。Wiki のカウント機能は使えなくなる。
***plugin/attach.inc.php [#qed16ae6]

class AttachFile の function AttachFile の
 		$this->filename = $this->basename . ($age ? '.'.$age : '');
を
 		$extension = strrchr($this->file,".");
 		$this->filename = $this->basename . ($age ? '.'.$age : '') . $extension;
に変更。function toString の
 		return "<a href=\"$script?plugin=attach&amp;pcmd=open$param\" title=\"$title\">$label</a>$count$info";
を
		return "<a href=\"".dirname($script).$this->filename."\" title=\"$title\">$label</a>$count$info";
に変更。あれ?下の詳細がでなくなった・・・(´・ω・`)

xrea なので元に戻して .htaccess に IgnoreLayoutURI * を書くだけにした・・・(´・ω・`)
**tracker.inc.php [#o6e9b86e]

***質問箱の設置 [#rc24b18c]
http://home.arino.jp/?tracker.inc.php 参照

-[[Source::config/plugin/tracker/質問箱]]
-[[Source::config/plugin/tracker/質問箱/form]]
-[[Source::config/plugin/tracker/質問箱/list]]
-[[Source::config/plugin/tracker/質問箱/page]]

のように設定してあります。

***ページ名を「質問箱/番号」から「質問箱/番号 - サマリ」に変更。 [#zd87f54c]
一覧や最新の10件をみてもどの質問のことがパッと見わからないので。

#pre{{{
Index: plugin/tracker.inc.php
===================================================================
RCS file: /cvsroot/pukiwiki/pukiwiki/plugin/tracker.inc.php,v
retrieving revision 1.20
diff -u -r1.20 tracker.inc.php
--- plugin/tracker.inc.php	3 Dec 2003 12:36:02 -0000	1.20
+++ plugin/tracker.inc.php	23 Jun 2004 12:04:01 -0000
@@ -2,7 +2,7 @@
 /////////////////////////////////////////////////
 // PukiWiki - Yet another WikiWikiWeb clone.
 //
-// $Id: tracker.inc.php,v 1.20 2003/12/03 12:36:02 arino Exp $
+// $Id: tracker.inc.php,v 1.4 2004/06/19 05:32:58 Administrator Exp $
 //
 
 // tracker_listで表示しないページ名(正規表現で)
@@ -117,7 +117,7 @@
 	}
 	else
 	{
-		$real = is_pagename($name) ? $name : ++$num;
+		$real = is_pagename($name) ? $name : ++$num." - ".$post['summary'];
 		$page = get_fullname('./'.$real,$base);
 	}
 	if (!is_pagename($page))
@@ -125,11 +125,18 @@
 		$page = $base;
 	}
 	
-	while (is_page($page))
+	//while (is_page($page))
+	//{
+	//	$real = ++$num;
+	//	$page = "$base/$real";
+	//}
+	foreach (get_existpages() as $_page)
 	{
+		if( !ereg("^$base/",$_page) ) continue;
 		$real = ++$num;
-		$page = "$base/$real";
-	}
+		$page="$base/$real - ".$post['summary'];
+	} 
+    	
 	// ページデータを生成
 	$postdata = plugin_tracker_get_source($source);
}}}
*** config ファイル中で textarea なのに改行を指定できない。 [#g8acf921]
#pre{{{
class Tracker_field_textarea extends Tracker_field
{
	var $sort_type = SORT_STRING;
	
	function get_tag()
	{
		$s_name = htmlspecialchars($this->name);
		$s_cols = htmlspecialchars($this->values[0]);
		$s_rows = htmlspecialchars($this->values[1]);
		$s_value = htmlspecialchars($this->default_value);
+		$s_value = preg_replace('/&amp;br;/',"\n",$s_value);
		return "<textarea name=\"$s_name\" cols=\"$s_cols\" rows=\"$s_rows\">$s_value</textarea>";
	}
}}}
&amp;br; で改行におきかわる。EUC だけね。
**navi [#zcfb25ce]
***$non_list(pukiwiki.ini.php)を除外する [#e2cb070c]
#pre{{{
// 除外するページ (正規表現で)
-define('NAVI_EXCLUDE_PATTERN','/\/_/');
+global $non_list;
}}}

#pre{{{
-		if (NAVI_EXCLUDE_PATTERN != '')
-		{
-			$pages = array_diff($pages,preg_grep(NAVI_EXCLUDE_PATTERN,$pages));
-		}
+		if ( $non_list != '' )
+		{
+			$pages = array_diff($pages,preg_grep($non_list,$pages));
+		}
}}}
*** 2回呼ぶと表示が異なるので同じにする。いや、下線が上線になるようにする。 [#u9e7cf76]
#pre{{{
Index: plugin/navi.inc.php
===================================================================
RCS file: /cvsroot/pukiwiki/plugin/navi.inc.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- plugin/navi.inc.php	19 Jun 2004 05:32:56 -0000	1.4
+++ plugin/navi.inc.php	20 Jun 2004 12:58:43 -0000	1.5
@@ -2,7 +2,7 @@
 /////////////////////////////////////////////////
 // PukiWiki - Yet another WikiWikiWeb clone.
 //
-// $Id: navi.inc.php,v 1.4 2004/06/19 05:32:56 Administrator Exp $
+// $Id: navi.inc.php,v 1.5 2004/06/20 12:58:43 Administrator Exp $
 //
 
 /*
@@ -56,8 +56,8 @@
 	
 	// 初回FALSE,2回目以降TRUE
 	$footer = array_key_exists($home,$navi);
-	if (!$footer)
-	{
+	//if (!$footer)
+	//{
 		$navi[$home] = array(
 			'up'=>'',
 			'prev'=>'',
@@ -122,17 +122,25 @@
 				}
 			}
 		}
-	}
+	//}
 
 	$ret = '';
 	if ($footer) // フッタ
 	{
-		$ret = <<<EOD
+/*		$ret = <<<EOD
 <hr class="full_hr" />
 <ul class="navi">
  <li class="navi_left">{$navi[$home]['prev1']}<br />{$navi[$home]['prev']}</li>
  <li class="navi_right">{$navi[$home]['next1']}<br />{$navi[$home]['next']}</li>
  <li class="navi_none">{$navi[$home]['home1']}<br />{$navi[$home]['up']}</li>
+</ul>
+EOD;*/
+		$ret = <<<EOD
+<hr class="full_hr" />
+<ul class="navi">
+ <li class="navi_left">{$navi[$home]['prev1']}</li>
+ <li class="navi_right">{$navi[$home]['next1']}</li>
+ <li class="navi_none">{$navi[$home]['home']}</li>
 </ul>
 EOD;
 	}
}}}
**ls2 [#vab0abe3]
***$non_list(pukiwiki.ini.php)を出力しない。 [#gbfae3b3]
#pre{{{
	foreach (get_existpages() as $_page)
	{
-		if (strpos($_page,$prefix) === 0)
+		if (strpos($_page,$prefix) === 0 
+		    and !preg_match("/$non_list/",$_page) )
		{
			$pages[] = $_page;
		}
	}
}}}
***深さ指定、相対パス的表示、階層的 list 表示 [#u9771200]
 #ls2_1(,1)
 #ls2_1(,1-2)
 #ls2_1(,-4)
 #ls2_1(,2-)
のように深さ指定かのう。
 #ls2_1(UNIX/,relative)
で(そのページで記述する場合は UNIX/ は省略可能 )
 UNIX/コマンド
 UNIX/コマンド/ls
 UNIX/設定ファイル/test
となっていたのが、
 コマンド
 コマンド/ls
 設定ファイル/test
になる。
 #ls2_1(UNIX/コ,relative)
の場合もちゃんと
 コマンド
 コマンド/ls
になる。
 #ls2_1(,hierarchy)
-UNIX/コマンド
--UNIX/コマンド/ls
--UNIX/設定ファイル/test

となる。
 #ls2_1(,hierarchy,compact)
-UNIX/コマンド
--UNIX/コマンド/ls
-UNIX/設定ファイル/test

となる。
 #ls2_1(,hierarchy,relative)
-コマンド
--ls
--設定ファイル/test

のようになってわかったようなわからないような表示なるので、
 #ls2_1(,hierarchy,relative,compact)
-コマンド
--ls
-設定ファイル/test

のように compact 指定すべき。

&ref(ls2.inc.php.diff);
**include の見出しにも edit リンク、さらに topicpath [#d6a8a1f3]

inlclue プラグインを使用したときの h1 見出しにも
編集アイコンをつける。
さらに改造した topicpath を使用する。
#pre{{{
Index: plugin/include.inc.php
===================================================================
RCS file: /cvsroot/pukiwiki/pukiwiki/plugin/include.inc.php,v
retrieving revision 1.8
diff -u -r1.8 include.inc.php
--- plugin/include.inc.php	3 Jul 2003 06:12:17 -0000	1.8
+++ plugin/include.inc.php	24 Jun 2004 07:56:49 -0000
@@ -46,18 +46,20 @@
 	
 	$s_page = htmlspecialchars($page);
 	$r_page = rawurlencode($page);
-	$link = "<a href=\"$script?cmd=edit&amp;page=$r_page\">$s_page</a>";
-	if ($page == 'MenuBar')
-	{
-		$body = <<<EOD
-<span align="center"><h5 class="side_label">$link</h5></span>
-<small>$body</small>
-EOD;
-	}
-	else
-	{
-		$body = "<h1>$link</h1>\n$body\n";
-	}
+	//$link = "<a href=\"$script?cmd=edit&amp;page=$r_page\">$s_page</a>";
+	$link = "<a class=\"anchor_super\" 
href=\"$script?cmd=edit&amp;page=$r_page\"><img class=\"paraedit\" 
src=\"image/edit.png\" alt=\"Edit\" title=\"Edit\" /></a>";
+//	if ($page == 'MenuBar')
+//	{
+//		$body = <<<EOD
+//<h5 class="side_label">$s_page$link</h5>
+//$body
+//EOD;
+//	}
+//	else
+//	{
+		require_once(PLUGIN_DIR.'topicpath.inc.php');
+		$body = "<h1>".plugin_topicpath_convert($s_page,TRUE)."$link</h1>\n$body\n";
+//	}
 	
 	return $body;
 }
}}}
**comment[#w1ab6c7b]
***form の前の <br /> はいらないと思う。 [#oc4f04fb]

comment フォームをつけた際に、form の前に <br /> タグがあって気にくわなかったので、

plugin/comment.inc.php 内の form の前の <br /> を消去。
***comment2(複数行フォーム) [#jf081a66]
デフォルトでは一行レスといったかんじなので、<input type="text" ... >を <textarea ...> に。またリスト表示するが、<hr> で区切るように完了。#comment2 で使えるようにする。

comment2.inc.php という名前にコピーし、function plugin_comment... を function plugin_comment2 に変更。 

function plugin_comment2_convert() の
   <input type="hidden" name="plugin" value="comment" />
を
   <input type="hidden" name="plugin" value="comment2" />
に変更。
   <input type="text" name="msg" size="$comment_cols" />
を
   <textarea name="msg" cols="$comment_cols" rows="4"></textarea>
に変更。せっかくなので、表示周りを少しいじって、
   $nametags
   <input type="text" name="msg" size="$comment_cols" />
   <input type="submit" name="comment" value="$_btn_comment" />
を
   $nametags
   <input type="submit" name="comment" value="$_btn_comment" />
   <br />
   <textarea name="msg" cols="$comment_cols" rows="4"></textarea>
のようにした。

function plugin_comment2_action() の
 			$postdata = rtrim($postdata)."\n-$comment\n";
を
 			$postdata = rtrim($postdata)."\n----\n$comment\n";
に変更。そこの上の方の
 	if (preg_match('/^(-{1,2})(.*)/',$post['msg'],$match))
を
 	if (preg_match('/^(----\n)(.*)/',$post['msg'],$match))
に変更。さらに上の
 $post['msg'] = preg_replace("/\n/",'',$post['msg']);
をコメントアウトしないと、改行がなくなってしまう。

コメントのフォーマット
 define('COMMENT_FORMAT',"\x08MSG\x08 -- \x08NAME\x08 \x08NOW\x08");
を
 define('COMMENT_FORMAT',"\x08MSG\x08\nRIGHT:\x08NAME\x08 \x08NOW\x08");
にしないと名前部分もWikiフォーマットに巻き込まれる可能性が。RIGHT: じゃなくてもよいが \n\n 相当は必要。&ref(comment2.diff);
**lookup [#babdaa28]
lookup プラグインの表示を変更。
plugin/lookup.inc.php
 <form class="lookup_form" action="$script" method="post">
  $lwn:
に変更して、default.ja.css の方で .lookup_form を設定。
また、$lwn が邪魔 ( #lookup(Search,検索,) の場合 Search が出力される) なので消去。

http://pukiwiki.sourceforge.jp/index.php?%E8%B3%AA%E5%95%8F%E7%AE%B1%2F221
*本体 [#pf3b7889]
**html.php [#t508ef3a]
***新規ページ作成時に自動挿入されるリンクの抑制 [#v2540749]
http://pukiwiki.sourceforge.jp/index.php?%E8%B3%AA%E5%95%8F%E7%AE%B1%2F361

html.php 内の edit_form() の↓の部分をコメントアウト
 if (array_key_exists('refer',$vars) and $vars['refer'] != '') {
         $refer = '[['.strip_bracket($vars['refer'])."]]\n\n";
 }

***編集のときの「読み込む」を消す [#rbecf6ba]
ページが多くなってくるとページのリストが多くなり、
遅く、重くなってしまうと思われるので消す。

html.php 中の form を検索して、 $template という変数を消す。
***編集モードの改造 [#b47e710c]
html.php 中の form を検索。もしくは pukiwiki.skin.ja.php の方で編集したければ
$body の上か下あたりに
 <?php if (arg_check('edit')) { ?>
 <?php } ?>
みたいな。 $body は2箇所ある。


**make_link.php [#pfed4b5f]

***自動リンクと手動リンクの外観を変える [#q8f9a13f]

[[org:続・質問箱/127]]

make_link.phpのクラスLink_autolinkのtoStringメゾットを、
 function toString()
 {
     return '<span class="autolink">' .
     make_pagelink(
     $this->name,
     $this->alias,
     '',
     $this->page
     ) . '</span>';
 }
.autolink a {} なスタイルシートを a:link などの下で定義すること(?)
**init.php [#ke418f93]
***英語化 [#wfbd9e0f]
 define('LANG','en');

*スキン [#aa4db0a2]

pukiwiki のスキンというか表示にかかわるところ関係。
**英語スキン、日本語スキンの統一化 [#a2a7067e]
init.php で LANG を切り替え、別のスキンファイルを使用するわけだが、
1つのスキンファイルに統一して、メニュー文字列は切り替えられるようにする。

ja.lng, en.lng 中にて skin で使用する文字列を定義し、
LANG にかかわらず pukiwiki.skin.ja.php(もちろん別ファイルでもよい。その場合はスキン中の css ファイルの名前を変えることになるかもしれない)を使用するようにする。

default.ini.php
  /////////////////////////////////////////////////
  // スキンファイルの場所
 -define('SKIN_FILE',SKIN_DIR.'pukiwiki.skin.'.LANG.'.php');
 +define('SKIN_FILE',SKIN_DIR.'pukiwiki.skin.ja.php');
ja.lng (以下のメッセージは pukiwiki のデフォルトメニューメッセージとは多少異なる)
#pre{{{
///////////////////////////////////////
// skin message
$_skin_top = "トップ";
$_skin_backup = "バックアップ";
$_skin_deleted = "削除一覧";
$_skin_whatsnew = "更新履歴";
$_skin_search = "検索";
$_skin_filelist = "ファイル名一覧";
$_skin_list = "一覧";
$_skin_help = "ヘルプ";
$_skin_newpage = "新規";
$_skin_edit = "編集";
$_skin_diff = "差分";
$_skin_upload = "添付";
$_skin_source = "ソース";
$_skin_template = "複製";
$_skin_rename = "改名";
$_skin_unfreeze = "凍結解除";
$_skin_freeze = "凍結";
$_skin_read = "参照";
$_skin_referer = "リンク元";
$_skin_move = "移動";
$_skin_rss = "最終更新のRSS";
}}}
en.lng
#pre{{{
///////////////////////////////////////
// skin message
$_skin_top = "Top";
$_skin_backup = "Backup";
$_skin_deleted = "Deleted pages";
$_skin_whatsnew = "Recents";
$_skin_search = "Search";
$_skin_filelist = "List of page files";
$_skin_list = "List";
$_skin_help = "Help";
$_skin_newpage = "New";
$_skin_edit = "Edit";
$_skin_diff = "Diff";
$_skin_upload = "Upload";
$_skin_source = "Source";
$_skin_template = "Copy";
$_skin_rename = "Rename";
$_skin_unfreeze = "Unfreeze";
$_skin_freeze = "Freeze";
$_skin_read = "Read";
$_skin_referer = "Referer";
$_skin_move = "Move";
$_skin_rss = "RSS of Recent changes";
}}}
pukiwiki.skin.jp.php
 <?php
 global $_skin_top,$_skin_backup,$_skin_deleted,$_skin_whatsnew,$_skin_search,
 $_skin_filelist,$_skin_list,$_skin_help,$_skin_newpage,$_skin_edit,$_skin_diff,
 $_skin_upload,$_skin_source,$_skin_template,$_skin_rename,$_skin_unfreeze,
 $_skin_freeze,$_skin_read,$_skin_referer,$_skin_move,$_skin_rss;
 ?>
あとはそれぞれスキン中の文字列を
#pre{{{
<?php echo $_skin_top ?>
<?php echo $_skin_backup ?>
<?php echo $_skin_deleted ?>
<?php echo $_skin_whatsnew ?>
<?php echo $_skin_search ?>
<?php echo $_skin_filelist ?>
<?php echo $_skin_list ?>
<?php echo $_skin_help ?>
<?php echo $_skin_newpage ?>
<?php echo $_skin_edit ?>
<?php echo $_skin_diff ?>
<?php echo $_skin_upload ?>
<?php echo $_skin_source ?>
<?php echo $_skin_template ?>
<?php echo $_skin_rename ?>
<?php echo $_skin_unfreeze ?>
<?php echo $_skin_freeze ?>
<?php echo $_skin_read ?>
<?php echo $_skin_referer ?>
<?php echo $_skin_move ?>
<?php echo $_skin_rss ?>
}}}
に置き換える。
**default.ini.php [#d5a5a3fe]
***dl,ul,ol のマージン [#i37345f7]
#pre{{{
/////////////////////////////////////////////////
// リスト構造の左マージン
$_ul_left_margin = 0;   // リストと画面左端との間隔(px)
$_ul_margin = 16;       // リストの階層間の間隔(px)
$_ol_left_margin = 0;   // リストと画面左端との間隔(px)
$_ol_margin = 16;       // リストの階層間の間隔(px)
$_dl_left_margin = 0;   // リストと画面左端との間隔(px)
-$_dl_margin = 16;        // リストの階層間の間隔(px)
+$_dl_margin = 0;        // リストの階層間の間隔(px)
$_list_pad_str = ' class="list%d" style="padding-left:%dpx;margin-left:%dpx"';
}}}
スタイルシートでない理由は [[dev:BugTrack/30の続編]] か?

***ユーザ定義ルール [#q684e5ba]
ユーザ定義ルール(コンバート時に置換)に
 "__(?!')((?:(?!__).)*)__" => 
 '<span style="color:white; background-color:black;">$1</span>',
を追加して、
 __AHO__
で見た目反転表示になるようにした。どっかで必要だったので・・・
 '&amp;bar;' => '|',
を追加して table 中でも
 &bar;
で | が出るように。
**pukiwiki.ini.php [#sc423c3b]
***変更した点 [#sd9d0f1b]
-$defaultpage
-$modifier
-$modifierlink
-$page_title
-$nowikiname = 1;
-$autolink = 2;
-$read_auth = 1; //参照制限利用
-$lastmode = 1;
-$fixed_heading_anchor = 1; //para_edit.diff のため
-$preformat_ltrim = 1;
-$non_list
-$search_non_list = 0;
***ezweb (WAP2対応用) 対応 [#j24998f6]
#pre{{{
$agents = array(
	array('name'=>'jphone','pattern'=>'#^J-PHONE.+(Profile/)#'),
	array('name'=>'jphone','pattern'=>'#^J-PHONE#'),
	array('name'=>'i_mode','pattern'=>'#DoCoMo/(1\.0)/(?:[^/]+/c([0-9]+))?#'),
	array('name'=>'i_mode','pattern'=>'#DoCoMo/(2\.0) [^(]+\(c([0-9]+)#'),
	array('name'=>'i_mode','pattern'=>'#DDIPOCKET;JRC/[^/]+/(1\.0)/0100/c([0-9]+)#'),
	array('name'=>'i_mode','pattern'=>'#UP\.Browser#'),
);
}}}
***一覧に含めないページ名 [#v0efebc6]
 $non_list = '^\:|^MenuBar$|\/template$|\:$';
として template はでないように。
また、最後に : でも可能なように。このほうが draft 書きやすい(templateを使えるので。)
おまけで MenuBar も

***template [#rdf28ef3]
-[[pukiwiki.dev:PukiWiki/1.4/マニュアル/テンプレート]]

hoge/fuga/moge のページを作成した場合, 同階層のテンプレート hoge/fuga/template があればそちらを、
なければ1つ上の階層の hoge/template を読み込むようにした。

 /////////////////////////////////////////////////
 // ページ名に従って自動で、雛形とするページの読み込み
 $auto_template_func = 1;
 $auto_template_rules = array(
 '((.+)\/([^\/]+))' => '\2/template',
 '((.+)\/([^\/]+\/[^\/]+))' => '\2/template'
 );

1番目のルールが適用されたなら、template 中の置換文字列は以下のようになる。
 $1 = hoge/fuga/moge
 $2 = hoge/fuga
 $3 = moge
2番目のルールが適用された場合、
 $1 = hoge/fuga/moge
 $2 = hoge
 $3 = fuga/moge
**print.ja.css [#s6f5b9cc]

***display:none [#j0a13ae4]
 .anchor_super{
     display:none;
 }
 .print_display_none{
     display:none;
 }
を追加。print_display_none は今後のため。.anchor_super は見出しの横に自動的に作られるアンカー用のスタイルシート。
 div#footer{
     display:none;
 }
を有効化

***プリントの際のtable の枠組み [#k90565f9]
#pre{{{
table{
    border-collapse:collapse;
}
.style_table,.style_th,.style_td,.style_calendar,.style_td_caltop, 
.style_td_today,.style_td_sat,.style_td_sun,.style_td_blank, .style_td_day,
.style_td_week,.vote_label,.vote_td1,.vote_td2
{
    border-width:1px;
    border-style:solid;
}
}}}
**pukiwiki.png [#x5acd187]
まず pukiwiki.png を変更。ファイル名を変えたい場合は
pukiwiki.skin.[ja|en].php を編集する。
**ja.lng [#a16afce3]
日本語表示の場合の表示される文字の定義ファイル。「編集」とか。
***「↑」を消す。 [#ge782721]
 $_msg_content_back_to_top = '<div class="jumpmenu"><a href="#navigator">&uarr;</a></div>';
を消した。上へ戻るアンカー。ところどころに「↑」とあったやつ。めざわり。

**pukiwiki.skin.ja.php [#u89d5a95]

***float レイアウト [#m04d4d02]
float レイアウトといっても、
+左 width を px 指定。かつ右 width を px 指定。
+左 width のみ px 指定。右 width は指定しない。
+左 width を % 指定。かつ右 width を % 指定(width を指定しないよりは指定したほうが楽)。
の3通りがあると思われる。

#pre{{{
1.
<div style="width:145px;float:left">
menu
</div>
<div> style="width:630px">
body
</div>
<div style="clear:both;"></div>
}}}
テストしてはいないが、幅はスクロールバーもいれて 800 になるようにするのが普通。
最低解像度 800x600 でも表示できるように。
たまにスクロールバーを考慮せずに 800 にしているサイトがあって意味ないじゃん。と思う。
#pre{{{
2.
<div style="width:145px;float:left;">
menu
</div>
<div style="margin-left:150px;">
body
</div>
<div style="clear:both;"></div>
}}}
margin-left がコツ。3ペインのときも同様に margin-right も指定することでできる。
margin-left をあえて小さくして、menu の下に回り込ませるようなレイアウトもあり。
テーブルレイアウトの代わり目的なので margin-left 指定。
#pre{{{
3.
<div style="width:10%;float:left;">
menu
</div>
<div style="width:88%;>
body
</div>
<div style="clear:both;"></div>
}}}
自分的にはメニューの幅が % 指定は好きじゃない。 width:88% の代わりに 2. と同様に margin-left:10% もできるはず。

またブラウザ毎の表示の違いも意識する必要がある。
たとえば IE での width の扱いはボーダーまでを含んだ width となる。
Mozilla, Opera は W3C 通りボーダーまでは含まない。
この辺の関連で(?) width と padding を同時に指定するとブラウザによって表示が変わるので
 <div style="width:145px;padding:0px;margin:10px;border:1px solid #aaa">
 <div style="margin:10px;padding:0px;">
 menu
 </div>
 </div>
のように内側にもう一つブロックを作成し、margin で padding の代わりをしてやる必要がある。
ちなみに margin は border の外側(余白)、padding は border の内側(詰め物)。

あと textarea 内の文字の大きさがデフォルト状態ではブラウザによって異なる。
mozilla は親ブロックの大きさだったが、IE, Opera はそれとは違うデフォルトの大きさというのがあるようだ。確認はしていない。

あとは Opera の場合 float の扱いが少し違う?
 test
 <div style="float:left;">
 menu
 </div>
 body
としたばあい、body だけが menu の右側にまわりこむ(menu が body の左に回りこむ) はずなのだが、test も menu の右側に回りこんでいた。
 test
 <div></div>
 <div style="float:left;">
 menu
 </div>
 body
としたら回避できた。なんだこれは?
***IE用スタイルシートに分ける。 [#de532e8d]
IE の場合 ie5.ja.css に分ける。
#pre{{{
<?php if (ereg("MSIE (3|4|5|6)", HTTP_USER_AGENT) == TRUE) { ?>
 <link rel="stylesheet" href="./skin/ie5.ja.css" type="text/css" media="screen" charset="Shift_JIS" />
<?php } else { ?>
 <link rel="stylesheet" href="./skin/default.ja.css" type="text/css" media="screen" charset="Shift_JIS" />
<?php } ?>
}}}
やっぱり編集するときめんどくさいのでやらない。

***整形済みテキストで横スクロールが出ないように [#t41d810f]
IEの場合
 line-break:strict;
 word-break:break-all;
 word-wrap:break-word;
Mozillaの場合
 white-space:-moz-pre-wrap;
Operaの場合
 white-space:-pre-wrap;
-[[org:雑談/9]]

テーブルレイアウトのときはテーブルの右側は1画面におさまる。のような横スクロールがでていた。
float レイアウトに変えるしかない?

***WWWC 更新時間の設定 [#zf4adcb3]
まず、init.php で
 define("RECENT_MOD",date("Y/m/d H:i:s", filemtime("./wiki/
 526563656E744368616E676573.txt")));
RecentChanges の更新時間を取得している。~
pukiwiki.skin.ja.php の <meta .... text/css> の下あたりに
 <meta name="WWWC" content="<?php echo RECENT_MOD?>" />
を追加。

あとは WWWC 側で Meta タグを使ったチェックを行うようにする(アイテム右クリック→プロパティ→チェック)。
***検索、移動フォーム [#q620bc99]
  <div class="form_menu">
   <form action="<?php echo $link_search?>" method="post" class="form_menu2">
    <div>
     <input type="hidden" name="encode_hint" value="ぷ" />
     <input type="radio" name="type" value="AND" checked="checked" class="button" />AND
     <input type="radio" name="type" value="OR" class="button" />OR
     <input type="text" name="word" size="12" value="" />
     <input type="submit" value="検索" class="submit" />
    </div>
   </form>
   <form action="<?php echo $script?>" method="post" class="form_menu1">
    <div id="menu">
     <input type="hidden" name="encode_hint" value="ぷ" />
     <input type="hidden" name="plugin" value="newpage" />
     <input type="hidden" name="refer" value="<?php echo urldecode($r_page)?>" />
     <input type="text" name="page" size="12" value="" />
     <input type="submit" value="移動" class="submit" />
    </div>
   </form>
  </div>

改行させずに横一列に並べたい場合は
 style="display:inline;"
を利用する。
***フッタ部 Link: related の編集 [#o002d162]
すごいことになっていたので、消去
 <?php if ($related) { ?>
 <div id="related">
  Link: <?php echo $related ?>
 </div>
 <?php } ?>
(default.ini.php の $related_link = 0; にすれば勝手に消えるようだ)
***ヘッダ部 navigator の編集 [#uf57b14c]
#pre{{{
<div id="navigator">
 [ <a href="<?php echo $link_top ?>">トップ</a>
<?php if ($do_backup) { ?>
 | <a href="<?php echo $link_backup ?>">バックアップ</a>
<?php } ?>
 | <a href="<?php echo "$script?cmd=deleted" ?>">削除一覧</a>
 | <a href="<?php echo $link_whatsnew ?>">更新履歴</a>
 | <a href="<?php echo $link_search ?>">検索</a>
<?php if (arg_check('list')) { ?>
 | <a href="<?php echo $link_filelist ?>">ファイル名一覧</a>
<?php } ?>
 | <a href="<?php echo $link_list ?>">一覧</a>
 | <a href="<?php echo $link_help ?>">ヘルプ</a>
 | <a href="<?php echo "$script?plugin=newpage&amp;refer=$r_page" ?>">新規</a>
 ]
<?php if ($is_page) { ?>
  
 [ <a href="<?php echo $link_edit ?>">編集</a>
 | <a href="<?php echo $link_diff ?>">差分</a>
<?php   if ((bool)ini_get('file_uploads')) { ?>
 | <a href="<?php echo $link_upload ?>">添付</a>
<?php   } ?>
 | <a href="<?php echo "$script?cmd=source&amp;page=$r_page" ?>">ソース</a>
 | <a href="<?php echo "$script?plugin=template&amp;refer=$r_page" ?>">複製</a>
 | <a href="<?php echo "$script?plugin=rename&amp;refer=$r_page" ?>">リネーム</a>
<?php   if ($is_read and $function_freeze) { ?>
<?php     if ($is_freeze) { ?>
 | <a href="<?php echo $link_unfreeze ?>">凍結解除</a>
<?php     } else { ?>
 | <a href="<?php echo $link_freeze ?>">凍結</a>
<?php     } ?>
<?php   } ?>
 ]
  
 [ <a href="<?php echo "$script?$r_page" ?>">参照</a> ]
<?php } ?>
}}}
に変更した。
***lastmodified 移動 [#fa106351]
 <?php if ($lastmodified) { ?>
 <div id="lastmodified">
  Last-modified: <?php echo $lastmodified ?>
 </div>
 <?php } ?>
を
 <?php echo $body ?>
があるところ(2箇所)あたりにもっていく。
ついでに、note, attach ももっていく。
***編集画面でもMenuBar [#uc2aed16]
http://pukiwiki.sourceforge.jp/dev/index?%BB%A8%C3%CC%2F1
のどっかのコメント参考

pukiwiki.skin.ja.php 
 <?php if (arg_check('read') and exist_plugin_convert('menu')) { ?>
これを
 <?php if ((arg_check('read') or arg_check('edit')) and exist_plugin_convert('menu')) { ?>
に変更。常にでてくれるぐらいでいいので、
  <?php if (exist_plugin_convert('menu')) { ?>
***ヘッダURL表示 [#k4b8fa79]
上のヘッダ部分のURLがページ名が日本語だとどうせ URL エンコードされていて読めないくせに長くてうざいので
 <?php if ($is_page) { ?>
  <a href="<?php echo "$script?$r_page" ?>"><span class="small"><?php echo "$script?$r_page" ?></span></a>
 <?php } ?>
を
 <?php if ($is_page) { ?>
  <a href="<?php echo "$script" ?>"><span class="small"><?php echo "$script" ?></span></a>
 <?php } ?>
にしてページ名消去。むしろ削除。
***ページ先頭にページ名を表示(h1タグ)、さらにpara_editマーク、さらにtopicpath [#c65a805e]
 <div id="body">
のあるところに(2箇所)

 <div id="body">
 <?php if ($is_page){ ?><h1><?php echo $title ?></h1><?php } ?>

のように追加して、それぞれのページの先頭に h1 タグでページ名を表示するように変更。
これでわざわざ [*ページ名と同じ見出し] のような見出しを作らなくてすむかな。
さらに para_edit.diff にあわせて、

#pre{{{
<?php if($is_page) { ?>
<h1><?php echo $title ?>
<?php if($is_read) { ?> 
<a class="anchor_super" href="<?php echo "$script?cmd=edit&amp;page=$r_page" ?>">
<img class="paraedit" src="image/edit.png" alt="Edit" title="Edit" /></a>
<?php } ?>
</h1>
<?php } ?>
}}}

として edit マークがでるようにした。
さらに topicpath もいれたので

#pre{{{
<?php if($is_page) { ?>
<h1><?php require_once(PLUGIN_DIR.'topicpath.inc.php'); echo 
plugin_topicpath_convert(); ?>
<?php if($is_read) { ?>
<a class="anchor_super" href="<?php echo "$script?cmd=edit&amp;page=$r_page" ?>">
<img src="image/edit.png" alt="Edit" title="Edit" /></a>
<?php } ?>
</h1>
<?php } ?>
}}}

とすることにした。さらに RecentDeleted のときにでないように(RecentDeleted は RecentChanges と違い、あくまでも通常ページだそうです)
#pre{{{
<?php global $whatsdeleted; if($is_page and $_page != $whatsdeleted) { ?>
<h1><?php require_once(PLUGIN_DIR.'topicpath.inc.php'); echo 
plugin_topicpath_convert(); ?>
<?php if($is_read) { ?>
<a class="anchor_super" href="<?php echo "$script?cmd=edit&amp;page=$r_page" ?>">
<img class="paraedit" src="image/edit.png" alt="Edit" title="Edit" /></a>
<?php } ?>
</h1>
}}}
に変更。
**default.ja.css [#nd6f1bbb]
とりあえず [[pukiwiki開発サイトスキン:http://pukiwiki.sourceforge.jp/dev/index?plugin=attach&pcmd=open&file=devskinset.zip&refer=%A5%DA%A1%BC%A5%B8%A5%C7%A5%B6%A5%A4%A5%F3]]をダウンした。css をコピー。http://pukiwiki.sourceforge.jp/dev/skin/ でもいいと思うけど。

あとは HTML ソースをみながら、いろいろ微調整。

table 関連がやっかいで、ie 標準表示と W3C 互換モードで表示が違うようだ。
そのために div.ie5 というのがあるようだ。左寄せする場合は、
  div.ie5{
 -  text-align:center;
 +  text-align:left;
  }

  .style_table{
 -  margin:auto;
 +  margin:auto auto auto 1em;
 }

http://pukiwiki.sourceforge.jp/dev/?BugTrack%2F423
*Menubar [#o6a8af54]
**MenuBar に移動フォームを表示。 [#e314074b]
InterWikiName に
 -[./?cmd=add&page= 新規]
 -[./?cmd=add&page= New]
とあったのを
 -[./?plugin=newpage&page= 新規]
 -[./?plugin=newpage&page= New]
 -[./?cmd=add&page= 追加]
 -[./?cmd=add&page= Add]
に変更追加。
 #lookup(新規,移動,)
で移動フォーム。plugin=newpage はすでにページがある場合は移動。ない場合は新規。
referer がつかないので、skin で HTML 書いたほうがよい。
**MenuBar に検索フォームを表示。 [#e314074b]
 #lookup(Search,検索,)
を追加。Search は InterWikiName にある。
ついでに InterWikiName の Search の type を AND に変更~
http://pukiwiki.sourceforge.jp/index.php?%E8%B3%AA%E5%95%8F%E7%AE%B1%2F221 参照

コメントアウトされていた
 [[edit:http://設置場所/pukiwiki.php?cmd=edit&page=MenuBar]]
を編集して有効化。edit リンクがついて編集しやすくなる。ついでに RIGHT: で右寄せ

**Menubar の最新の何件などを h5 タグから h2 に変更。 [#e44fc1b2]
ja.lng 内の h5 を h2 に変更
 $_recent_plugin_frame = '<h2>最新の%d件</h2>
default.ja.css に
 td.menubar h1, td.menubar h2, td.menubar h3, td.menubar h4{
      font-size:100%;
 }
を追加
*InterWikiName [#s9d94742]
pukiwiki.dev の文字コードを utf8 から euc にしないと文字コードおかしい。

また、
 [./cmd=source&page= Source]
を追加
*バージョンアップ [#i9a2b1f2]

改造しているので、最新版とマージしなければならない。[[org:CVS]]
**cvs update [#pcffade9]
まず cvs で古いやつをもってくる。CVS/Entries 情報などが必要なので。
 cvs -z3 -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/pukiwiki
 co -r r1_4_2 pukiwiki
これを改造していればよいが、zip のやつを使用していた場合はこのやつに上書きする。
 cvs -z3 -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/pukiwiki
 update -r HEAD pukiwiki
HEADタグは最新リビジョン。-r HEAD はなくてもいいはず。
修正されたファイルは
 .#hogehoge
のようなファイルにバックアップされる。衝突が起こったファイルには
二つのファイルAとBから の衝突の場合、
    <<<<<<< A
    lines from A
    =======
    lines from B
    >>>>>>> B
三つのファイルA,BそしてCからの衝突の場合、
    <<<<<<< A
    lines from A
    ||||||| B
    lines from B
    =======
    lines from C
    >>>>>>> C
のような印がつくので
 grep -r '<<<<' pukiwiki/
のようにすればわかる。こうなったら手動で修正しなければならない。
 cvs -z3 -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/pukiwiki
 update -r HEAD pukiwiki/auth.php
のように1つずつやることも可。やらないけど。

*Wiki用ファイル名への変換(perl) [#m416dc15]
 jcode::convert(\$filename,'euc');
 $filename = unpack('H*0', $filename);
 $filename =~ tr/a-z/A-Z/;
 open(WIKI,">wiki/$filename.txt");
xrea