|
~ To be, or not to be, or to forget all. ~ 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と日本の時差のぶんです。 以上、ご参考まで。 |
|