emphasis.inc.php

サマリ圏点表示
リビジョン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){強調したい文字列}


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-11-21 (火) 23:42:13
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.361 sec.

SourceForge