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 ]が全ページに表示される。

整形済みブロックで、スクロールバーを表示させない

pukiwiki.org/雑談9より:

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&amp;page=' . $r_page . '&amp;refer=' . $r_base;
$link = '<a class="small" href="' . $link . '" title="' . $s_page . '">' . $day . '</a>';
}

if (PKWK_SKIN_SHOW_NAVBAR) {
$link = $script . '?cmd=edit&amp;page=' . $r_page . '&amp;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&amp;file=$r_base&amp;date=$prev_date_str">&lt;&lt;</a>
<strong>$m_name</strong>
<a href="$script?plugin=calendar2&amp;file=$r_base&amp;date=$next_date_str">&gt;&gt;</a>

を消して

if (is_page($prev_mon_page)) {
$ret .= "<a href=\"$script?$prev_mon_page\">&lt;&lt;</a>";
} else {
$ret .= '&lt;&lt;';
}

$ret .= "&nbsp;<strong><a href=\"$script?$r_base/$this_date_str\">$m_name</a></strong>&nbsp;";

if (is_page($next_mon_page)) {
$ret .= "<a href=\"$script?$next_mon_page\">&gt;&gt;</a>";
} else {
$ret .= '&gt;&gt;';
}

(リンク先がないときはリンクをはらない)

コメントの複数行表示

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&nbsp;\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;

に変更。