PukiWiki改造
昔使っていたPukiWikiの改造についてのログです。
日本語と英語の共存
日本語のページも作りたいんだけど、Editとか編集時のボタン部分とかは英語にしたい。
lib/init.phpの
define('CONTENT_CHARSET', 'iso-8859-1');
define('MB_LANGUAGE', 'English');
define('SOURCE_ENCODING', 'ASCII');
を
define('CONTENT_CHARSET', 'EUC-JP');
define('MB_LANGUAGE', 'English');
define('SOURCE_ENCODING', 'EUC-JP');
に変える。
トップ部分を変更
まちゅダイアリーさんより:
skin/pukitiki.skin.phpのheader部分を変更する。
<div id="header">
<table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
<tbody> <tr><td style="text-align: left;" colspan="2" rowspan="1">
<img style="width: 115px; height: 86px;" alt="" src="../images/volcano.jpg"></td>
<td style="text-align: center;" rowspan="1" colspan="2"><font size="+1">
<span style="font-family: Comic Sans MS; font-weight: bold;">
<font color="#003366">
<img style="width: 23px; height: 26px;" alt="" src="../images/gato_icon.gif">
JOCV @ El Salvador
<img style="width: 21px; height: 27px;" alt="" src="../images/rabi_icon.gif"></font></span></font></td>
<td style="text-align: right;" rowspan="1" colspan="2">
<img style="width: 115px; height: 86px;" alt="" src="../images/gato.jpg"></td></tr></tbody></table>
</div>
表示されるコマンド(editとかnewとか)を変更
まちゅダイアリーさんより:
skin/pukiwiki.skin.phpのnavigator部分
<div id="navigator">
[
<a href="<?php echo $link_home ?>">Home</a>
]
[
<a href="<?php echo $link_top ?>"><img src="image/top.png" width="20" height="20" alt="Top" title="Top" />Top</a> |
<a href="<?php echo $link_edit ?>"><img src="image/edit.png" width="20" height="20" alt="Edit" title="Edit" />Edit</a> |
<a href="<?php echo $link_diff ?>"><img src="image/diff.png" width="20" height="20" alt="Diff" title="Diff" />Diff</a>
]
[
<a href="<?php echo $link_new ?>"><img src="image/new.png" alt="New" title="New" />New</a> |
<a href="./?cmd=list"><img src="image/list.png" alt="List" title="List"/>List</a> |
<a href="./?RecentChanges"><img src="image/recentchanges.png" alt="Recent" title="Recent" />Recent</a>
]
</div>
これで、 [ Home ] [ Top | Edit | Diff ] [ New | List | Recent ]が全ページに表示される。
整形済みブロックで、スクロールバーを表示させない
skin/pukiwiki.css.phpに以下を追加。
pre {
(略)
white-space:-moz-pre-wrap;
word-break:break-all;
word-wrap:break-word;
}
編集画面でのみ、Uploadを表示
skin/pukiwiki.skin.phpのnavigator部分に以下を追加。
<?php if (arg_check('edit')) { ?>
[
<a href="<?php echo $link_upload ?>">Upload</a>
]
<?php } ?>
ls2で見出し1のみ表示する
plugin/ls2.inc.phpの
if ($params['title'] && preg_match('/^(\*{1,3})/', $line, $matches)) {
を
if ($params['title'] && preg_match('/^(\*[^\*])/', $line, $matches)) {
に変更。
calendar2で日記を書いていない日のリンクを消す
公開用ページでPKWK_SKIN_SHOW_NAVBAR=0編集用ページで1にしているので、この変数で表示を切り替える。
plugin/calendar2.inc.php
if (PKWK_READONLY) {
$link = '<span class="small">' . $day . '</small>';
} else {
$link = $script . '?cmd=edit&page=' . $r_page . '&refer=' . $r_base;
$link = '<a class="small" href="' . $link . '" title="' . $s_page . '">' . $day . '</a>';
}
を
if (PKWK_SKIN_SHOW_NAVBAR) {
$link = $script . '?cmd=edit&page=' . $r_page . '&refer=' . $r_base;
$link = '<a class="small" href="' . $link . '" title="' . $s_page . '">' . $day . '</a>';
} else {
$link = '<span class="small">' . $day . '</small>';
}
にする。
カレンダー表示時の<< 2005.9 >>の部分のリンクを変更
- << は diary/200508
- 2005.9 は diary/200509
- >> は diary/200510
となる。
新しい変数。
$this_date_str = sprintf('%04d%02d',$y,$m);
$prev_mon_page = "$r_base/$prev_date_str";
$next_mon_page = "$r_base/$next_date_str";
<a href="$script?plugin=calendar2&file=$r_base&date=$prev_date_str"><<</a>
<strong>$m_name</strong>
<a href="$script?plugin=calendar2&file=$r_base&date=$next_date_str">>></a>
を消して
if (is_page($prev_mon_page)) {
$ret .= "<a href=\"$script?$prev_mon_page\"><<</a>";
} else {
$ret .= '<<';
}
$ret .= " <strong><a href=\"$script?$r_base/$this_date_str\">$m_name</a></strong> ";
if (is_page($next_mon_page)) {
$ret .= "<a href=\"$script?$next_mon_page\">>></a>";
} else {
$ret .= '>>';
}
(リンク先がないときはリンクをはらない)
コメントの複数行表示
Dunzhi's Home Pageさんより:
plugin/comment.inc.php
define('PLUGIN_COMMENT_FORMAT_STRING', "\x08MSG\x08 -- \x08NAME\x08\x08NOW\x08");
を
define('PLUGIN_COMMENT_FORMAT_STRING',"\x08MSG\x08\nRIGHT:\x08NAME\x08 \x08NOW\x08");
に変更。
$vars['msg'] = preg_replace("/\n",'',$vars['msg']);
を
$vars['msg'] = preg_replace("/\n\n*/","\n",$vars['msg']);
$vars['msg'] = preg_replace("/^>/","<A1><E4>",$vars['msg']);
$vars['msg'] = preg_replace("/\n>/","\n<A1><E4>",$vars['msg']);
$vars['msg'] = preg_replace("/^-*/","",$vars['msg']);
$vars['msg'] = preg_replace("/\n-*/","\n",$vars['msg']);
$vars['msg'] = preg_replace("/^\n*/","",$vars['msg']);
に変更。
pukiwiki.ini.php
$line_break = 0;
を
$line_break = 1;
に変更。