~ To be, or not to be, or to take a lunch anyway. ~ null-i.net |
PukiWiki/Wikiファイル名の調べ方 | |
ちょっとしたPukiWikiのTipsです。(2022-10-01、追記:2022-10-10) Linux、PHP環境の場合のメモになります。 wiki/*.txt を直接参照したい時のTips†PukiWikiで作成した本文は $ php -r 'echo strtoupper(bin2hex(strval("MenuBar"))) . ".txt\n";' 4D656E75426172.txt (つまり "MenuBar" のファイルは wiki/4D656E75426172.txt になります) lib/func.php にある encode 関数がファイル名を取得するやつです。 $ php -r 'echo pack("H*", (string)"4D656E75426172") . "\n";' MenuBar (つまり wiki/4D656E75426172.txt というのは "MenuBar" のファイルです) ちゃんとこれを調べるまでは、 # こんなシェル関数を記述する wiki (){ if [ -z "$1" ]; then return; elif `echo $1 | grep -q ".txt"` && [ $? -eq 0 ]; then str=`echo "$1" | sed -e "s/\(.*\)\.txt/\1/"` str=`printf 'echo pack("H*", (string)"%s"); echo "\n";' $str` php -r "$str" else str=`printf 'echo strtoupper(bin2hex(strval("%s"))); echo ".txt\n";' $1` php -r "$str" fi } $ wiki MenuBar 4D656E75426172.txt $ wiki 4D656E75426172.txt MenuBar
wiki/*.txt を直接更新したい派に向けたTips†
(lib/file.php 637行目あたり) function get_recentchanges_line($page, $time, $is_diff) { global $do_backup; (中略) //$line = '-' . $lastmod . ' - ' . $diff_backup . ' [[' . $page . ']]' . "\n"; $line = '-' . $lastmod . ' - ' . '[[' . $page . ']]' . "\n"; return $line; } ページの更新タイミングでRecentChangesが上書きされて、 (cache/recent.dat の記述例) 1662616526 PukiWiki/カレンダーに祝日を入れる 数字の部分はUnix時間なので、 $ php -r 'echo date("Y/m/d H:i:s\n", 1662616526 + (3600*9));' 2022/09/08 14:55:26 9時間足したのはGMTと日本の時差のぶんです。 以上、ご参考まで。 |
|