PukiWiki/MapWiki/Plugin
の編集
Top
/
PukiWiki
/
MapWiki
/
Plugin
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
** secedit [#v478d6b8] 見出しおよびその下位にある内容について部分的に編集ができるようにするプラグイン [[見出し編集を可能にするPukiWikiプラグイン "secedit.inc.php">http://twinlook.net/wiki/index.php?Wiki_memo%2Fsecedit.inc.php]](ミラー)&br();※配布されていたファイルはWaybackMachine経由で取得が可能(2021/8/8現在) 配布元に明記されていない注意事項 -PHP7では、[[新しいオブジェクトを参照渡しで代入できない>https://www.php.net/manual/ja/migration70.incompatible.php#migration70.incompatible.other.new-by-ref]]ようになった変更により、以下のようなコードから & を除く修正が必要(3か所該当) $obj = & new $action();
タイムスタンプを変更しない
#author("2021-08-15T11:11:30+00:00","","") #contentsx(); *外部から取り込んだプラグイン [#r1f92961] 名前のアルファベット順 ** calc [#s252a442] 計算式を評価してその値を表す数字に置き換えるプラグイン [[PukiWiki/1.4/自作プラグイン/calcプラグイン - PukiWiki-Dev>pukiwiki.dev:PukiWiki/1.4/自作プラグイン/calcプラグイン]] ** contentsx [#adde3069] 見出しをもとに目次を作る標準機能(contents)の機能拡張版 [[Plugin/contentsx.inc.php - Sonots' PukiWiki プラグイン>http://pukiwiki.sonots.com/?Plugin%2Fcontentsx.inc.php]] ** description / keywords [#s1193425] ページ概要およびキーワードに関するmetaタグを生成するプラグイン [[自作プラグイン/description.inc.php - PukiWiki-official>pukiwiki:自作プラグイン/description.inc.php]]&br();[[自作プラグイン/keywords.inc.php - PukiWiki-official>pukiwiki:自作プラグイン/keywords.inc.php]] ただ、有効性はもうあまりないかも ** htmlinsert [#s68d426b] ファイル(および :HTML/ の接頭辞がつくページ)の内容をそのまま呼び出し箇所に埋め込むプラグイン [[Plugin/htmlinsert.inc.php - Sonots' PukiWiki プラグイン>http://pukiwiki.sonots.com/?Plugin%2Fhtmlinsert.inc.php]] ** lightbox [#z3ba61ef] [[Lightbox2>http://lokeshdhakar.com/projects/lightbox2/]]を使えるようにするプラグイン。jQueryのロードがあわせて必要 プラグインとしては以下の形式でHTMLを出力させる。あとはLightbox2におまかせ <a href="fullsize.png" data-lightbox="title" title="title"> <img src="thumbnail.png" width="180" height="180" /> </a> ** null [#j0f53502] 囲んだ範囲(複数行可)を非表示にするプラグイン。実質的にコメントアウトとして機能する [[自作プラグイン/null.inc.php - PukiWiki-official>pukiwiki:自作プラグイン/null.inc.php]] ** recaptcha3 [#v014306b] [[Google reCAPTCHA v3>https://www.google.com/recaptcha/]] を利用したスパム防止プラグイン [[自作プラグイン/recaptcha3.inc.php - PukiWiki-official>pukiwiki:自作プラグイン/recaptcha3.inc.php]] 配布元に明記されていない注意事項 -ローカルマシンに置いて動作確認する場合は、[[適用ドメインにlocalhostを加えておくこと>https://developers.google.com/recaptcha/docs/faq#im-getting-an-error-localhost-is-not-in-the-list-of-supported-domains.-what-should-i-do]](用が済んだら消すべき) -cURLを使ってHTTPリクエストを飛ばすため、php-curlが利用できる状態であること ** secedit [#v478d6b8] 見出しおよびその下位にある内容について部分的に編集ができるようにするプラグイン [[見出し編集を可能にするPukiWikiプラグイン "secedit.inc.php">http://twinlook.net/wiki/index.php?Wiki_memo%2Fsecedit.inc.php]](ミラー)&br();※配布されていたファイルはWaybackMachine経由で取得が可能(2021/8/8現在) 配布元に明記されていない注意事項 -PHP7では、[[新しいオブジェクトを参照渡しで代入できない>https://www.php.net/manual/ja/migration70.incompatible.php#migration70.incompatible.other.new-by-ref]]ようになった変更により、以下のようなコードから & を除く修正が必要(3か所該当) $obj = & new $action(); * 改造もしくは自作したプラグイン [#lab7b8d8] ** countdownex [#b83c6952] 現在時刻とリアルタイムで比較した残り日数(もしくは時間)を算出して表示するプラグイン オンラインゲームの時限イベントに対する活用を意図して、開始時刻と終了時刻の2つをもらい、開始時刻よりも前であれば残り時間としては表示させない&br();もとにしたものは [[自作プラグイン/countdown.inc.php - PukiWiki-official>pukiwiki:自作プラグイン/countdown.inc.php]] だけど、ほぼ原形を残していないので自作扱いで掲載 &countdownex(開始時刻,終了時刻); ※時刻は [ YYYY/mm/dd HH24:MM ]で指定(PHPが解釈できればよい) -開始時刻前: 「開始まであと○日」と表示 -期間中: 24時間未満切り捨てで「あと○日」と表示 --終了時刻まで24時間を切ると、1時間未満切り捨てで「''あと○時間''」表示に切り替え(強調もする) --終了時刻まで1時間を切ると、1分未満切り捨てで「''あと○分''」表示に切り替え(強調もする) -終了時刻後: 「終了しました」と表示 #fold{{{ plugin/countdownex.inc.php <?php function plugin_countdownex_inline() { $SECONDS_OF_MINUTE = 60; $SECONDS_OF_HOUR = 60 * $SECONDS_OF_MINUTE; $SECONDS_OF_DAY = 24 * $SECONDS_OF_HOUR; $PRESET_TZ = date_default_timezone_get(); list($start_str, $end_str) = func_get_args(); 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, ceil($rest / $SECONDS_OF_DAY)); } else if ($now >= $end) { // 終了後 return '終了しました'; } else { // 期間中 $rest = $end - $now; if ($rest >= $SECONDS_OF_DAY) { // 終了時刻まで24時間以上 $format = 'あと%1$d日'; return sprintf($format, $rest / $SECONDS_OF_DAY); } else if ($rest >= $SECONDS_OF_HOUR) { // 終了時刻まで1時間以上 $format = '<strong class="countdownex">あと%1$d時間</strong>'; return sprintf($format, $rest / $SECONDS_OF_HOUR); } else { // 終了時刻まで1時間未満 $format = '<strong class="countdownex">あと%1$d分</strong>'; return sprintf($format, $rest / $SECONDS_OF_MINUTE); } } } }}} ** fletbox [#h62c42cb] div を横方向に複数個並べることを実現するプラグイン [[縦方向の高さを意識しなければならないfloatはもはや不便>https://ics.media/entry/13117/]] なので [[flexbox>https://developer.mozilla.org/ja/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox]] に基づいて記述したHTMLを生成する&br();もとにしたものは [[自作プラグイン/blockdiv.inc.php - PukiWiki-official>pukiwiki:自作プラグイン/blockdiv.inc.php]] だけど、機能がほぼ異なるので自作扱いで掲載 #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> #fold{{{ 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>'; } } ?> }}}
テキスト整形のルールを表示する