サマリ | 圏点表示 |
---|---|
リビジョン | 1.01 |
対応バージョン | 1.5.x |
投稿者 | M.Taniguchi |
投稿日 | 2019-08-03 (土) 00:48:46 |
文字列に圏点(傍点・脇点)を付加するプラグイン。
CSS3の text-emphasis-style を利用するため、対応ブラウザーでのみ有効。
引数
使用例
これは&emphasis(){強調文字列}です。
emphasis.inc.php
(下記のコードをコピーして、plugin ディレクトリに emphasis.inc.php というファイル名で保存してください)
<?php /* PukiWiki - Yet another WikiWikiWeb clone. emphasis.inc.php, v1.01 2019 M.Taniguchi License: GPL v3 or (at your option) any later version 文字列に圏点(傍点・脇点)を付加するPukiWiki用プラグイン。 CSS3の text-emphasis-style を利用するため、対応ブラウザーでのみ有効。 使い方: &emphasis(){文字列} &emphasis(圏点種別){文字列} 引数: 文字列 … 圏点を付加したい文字列 圏点種別 … [filled|open] [dot|circle|double-circle|triangle|sesame](CSSの text-emphasis-style 構文に準じる。省略時のデフォルトは filled circle) */ define('PLUGIN_EMPHASIS_USAGE', '&emphasis([emphasis type]){words};'); define('PLUGIN_EMPHASIS_CLASS', false); // style属性の代わりにclass属性を付加 function plugin_emphasis_inline() { $argNum = func_num_args(); if ($argNum <= 0) return PLUGIN_EMPHASIS_USAGE; $emphasis = 'filled'; if ($argNum == 1) { list($body) = func_get_args(); } else { list($emphasis, $body) = func_get_args(); } $body = strip_htmltag($body); if ($body == '') return PLUGIN_EMPHASIS_USAGE; $emphasis = strip_htmltag($emphasis); if (PLUGIN_EMPHASIS_CLASS) { $emphasis = str_replace(' ', '-', $emphasis); $html = '<span class="emphasis-' . $emphasis . '">' . $body . '</span>'; } else { $html = '<span style="-webkit-text-emphasis-style:' . $emphasis . ';text-emphasis-style:' . $emphasis . ';">' . $body . '</span>'; } return $html; } ?>
GPL v3
このプラグインを導入しなくても、default.ini.php の $line_rules に次の記述を追加すれば同様の機能を実現できます。
プラグインを作ったあとで気づきました。
'EMPHASIS\(([^\(\)]*)\){([^}]*)}' => '<span style="-webkit-text-emphasis-style:$1;text-emphasis-style:$1">$2</span>',
使い方
EMPHASIS(filled){強調したい文字列}
EMPHASIS(open sesame){強調したい文字列}
等