| Table of Contents |
名前のアルファベット順
計算式を評価してその値を表す数字に置き換えるプラグイン
PukiWiki/1.4/自作プラグイン/calcプラグイン - PukiWiki-Dev
見出しをもとに目次を作る標準機能(contents)の機能拡張版
Plugin/contentsx.inc.php - Sonots' PukiWiki プラグイン
ページ概要およびキーワードに関するmetaタグを生成するプラグイン
自作プラグイン/description.inc.php - PukiWiki-official
自作プラグイン/keywords.inc.php - PukiWiki-official
ただ、有効性はもうあまりないかも
ファイル(および :HTML/ の接頭辞がつくページ)の内容をそのまま呼び出し箇所に埋め込むプラグイン
Plugin/htmlinsert.inc.php - Sonots' PukiWiki プラグイン
Lightbox2を使えるようにするプラグイン。jQueryのロードがあわせて必要
プラグインとしては以下の形式でHTMLを出力させる。あとはLightbox2におまかせ
<a href="fullsize.png" data-lightbox="title" title="title"> <img src="thumbnail.png" width="180" height="180" /> </a>
囲んだ範囲(複数行可)を非表示にするプラグイン。実質的にコメントアウトとして機能する
自作プラグイン/null.inc.php - PukiWiki-official
Google reCAPTCHA v3 を利用したスパム防止プラグイン
自作プラグイン/recaptcha3.inc.php - PukiWiki-official
配布元に明記されていない注意事項
見出しおよびその下位にある内容について部分的に編集ができるようにするプラグイン
見出し編集を可能にするPukiWikiプラグイン "secedit.inc.php"(ミラー)
※配布されていたファイルはWaybackMachine経由で取得が可能(2021/8/8現在)
配布元に明記されていない注意事項
$obj = & new $action();
現在時刻とリアルタイムで比較した残り日数(もしくは時間)を算出して表示するプラグイン
オンラインゲームの時限イベントに対する活用を意図して、開始時刻と終了時刻の2つをもらい、開始時刻よりも前であれば残り時間としては表示させない
もとにしたものは 自作プラグイン/countdown.inc.php - PukiWiki-official だけど、ほぼ原形を残していないので自作扱いで掲載
&countdownex(開始時刻,終了時刻);
※時刻は [ YYYY/mm/dd HH24:MM ]で指定(PHPが解釈できればよい)
plugin/countdownex.inc.php
<?php
function plugin_countdownex_inline() {
list($start_str, $end_str) = func_get_args();
$preset_tz = date_default_timezone_get();
date_default_timezone_set('Asia/Tokyo');
$now = time();
$start = strtotime($start_str);
$end = strtotime($end_str);
date_default_timezone_set($preset_tz);
if ($now < $start) {
$rest = $start - $now;
$format = "開始まで<br/>あと%1\$d日";
return sprintf($format, $rest / (60*60*24) + 1);
} else if ($now >= $end) {
return "終了しました";
} else {
$rest = $end - $now;
if ($rest >= 60*60*24) {
$format = "あと%1\$d日";
return sprintf($format, $rest / (60*60*24));
} else if ($rest >= 60*60) {
$format = "<strong class=\"countdownex\">あと%1\$d時間</strong>";
return sprintf($format, $rest / (60*60));
} else {
$format = "<strong class=\"countdownex\">あと%1\$d分</strong>";
return sprintf($format, $rest / 60);
}
}
}
?>
div を横方向に複数個並べることを実現するプラグイン
縦方向の高さを意識しなければならないfloatはもはや不便 なので flexbox に基づいて記述したHTMLを生成する
もとにしたものは 自作プラグイン/blockdiv.inc.php - PukiWiki-official だけど、機能がほぼ異なるので自作扱いで掲載
#flexbox(start); AAA #flexbox(continue,marginleft:0.5em); BBB #flexbox(end);
このプラグイン呼び出しを含んだ記述で以下のHTMLを出力する
<div class="flexbox" style="display: flex; align-items: flex-start;">
<div>
AAA
</div>
<div style="margin-left: 0.5em;">
BBB
</div>
</div>
plugin/flexbox.inc.php
<?php
function plugin_flexbox_convert() {
# 初期設定値
$params = array(
'start' => false,
'continue' => false,
'end' => false,
'display' => 'flex',
'alignitems' => 'flex-start',
'marginleft' => '0.5em'
);
# 引数解析
$args = func_get_args();
foreach ($args as $value) {
if (preg_match("/^ *([a-zA-Z0-9_]+) *$/i", $value, $matches)) {
$params[strtolower($matches[1])] = true;
} else if (preg_match("/^ *([a-zA-Z0-9_]+):([a-zA-Z0-9\.%_# ]+)$/i", $value, $matches)) {
$params[strtolower($matches[1])] = $matches[2];
}
}
# HTML生成
if ($params['start']) {
return '<div class="flexbox" style="display: flex; '
. 'align-items: ' . $params['alignitems'] . ';">'
. '<div>';
} else if ($params['continue']) {
if ($params['marginleft'] == '') {
return '</div><div>';
} else {
return '</div><div style="margin-left: ' . $params['marginleft'] . ';">';
}
} else if ($params['end']) {
return '</div></div>';
}
}
?>