// List plugin 2
/*
- * ÇÛ²¼¤Î¥Ú¡¼¥¸¤ä¡¢¤½¤Î¸«½Ð¤·(*,**,***)¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë
+ * 配下のページや、その見出し(*,**,***)の一覧を表示する
* Usage
* #ls2(pattern[,title|include|link|reverse|compact, ...],heading title)
*
- * pattern : ¾Êά¤¹¤ë¤È¤¤â¥«¥ó¥Þ¤¬É¬Í×
- * 'title' : ¸«½Ð¤·¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë
- * 'include': ¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤¤¤ë¥Ú¡¼¥¸¤Î¸«½Ð¤·¤òºÆµ¢Åª¤ËÎóµó¤¹¤ë
- * 'link ': action¥×¥é¥°¥¤¥ó¤ò¸Æ¤Ó½Ð¤¹¥ê¥ó¥¯¤òɽ¼¨
- * 'reverse': ¥Ú¡¼¥¸¤Îʤӽç¤òȿž¤·¡¢¹ß½ç¤Ë¤¹¤ë
- * 'compact': ¸«½Ð¤·¥ì¥Ù¥ë¤òÄ´À°¤¹¤ë
- * PLUGIN_LS2_LIST_COMPACT¤¬TRUE¤Î»þ¤Ï̵¸ú(ÊѲ½¤·¤Ê¤¤)
- * heading title: ¸«½Ð¤·¤Î¥¿¥¤¥È¥ë¤ò»ØÄꤹ¤ë (link¤ò»ØÄꤷ¤¿»þ¤Î¤ß)
+ * pattern : 省略するときもカンマが必要
+ * 'title' : 見出しの一覧を表示する
+ * 'include': インクルードしているページの見出しを再帰的に列挙する
+ * 'link ': actionプラグインを呼び出すリンクを表示
+ * 'reverse': ページの並び順を反転し、降順にする
+ * 'compact': 見出しレベルを調整する
+ * PLUGIN_LS2_LIST_COMPACTがTRUEの時は無効(変化しない)
+ * heading title: 見出しのタイトルを指定する (linkを指定した時のみ)
*/
-// ¸«½Ð¤·¥¢¥ó¥«¡¼¤Î½ñ¼°
+// 見出しアンカーの書式
define('PLUGIN_LS2_ANCHOR_PREFIX', '#content_1_');
-// ¸«½Ð¤·¥¢¥ó¥«¡¼¤Î³«»ÏÈÖ¹æ
+// 見出しアンカーの開始番号
define('PLUGIN_LS2_ANCHOR_ORIGIN', 0);
-// ¸«½Ð¤·¥ì¥Ù¥ë¤òÄ´À°¤¹¤ë(¥Ç¥Õ¥©¥ë¥ÈÃÍ)
+// 見出しレベルを調整する(デフォルト値)
define('PLUGIN_LS2_LIST_COMPACT', FALSE);
function plugin_ls2_action()
global $script;
static $_ls2_anchor = 0;
- // ¥Ú¡¼¥¸¤¬Ì¤É½¼¨¤Î¤È¤
+ // ページが未表示のとき
$is_done = (isset($params["page_$page"]) && $params["page_$page"] > 0);
if (! $is_done) $params["page_$page"] = ++$_ls2_anchor;
}
}
-//¥ê¥¹¥È¹½Â¤¤ò¹½ÃÛ¤¹¤ë
+//リスト構造を構築する
function plugin_ls2_list_push(& $params, $level)
{
global $_ul_left_margin, $_ul_margin, $_list_pad_str;
$margin = $level - count($saved);
- // count($saved)¤òÁý¤ä¤¹
+ // count($saved)を増やす
while (count($saved) < ($level - 1)) array_unshift($saved, '');
if (count($saved) < $level) {
$left = ($level == $margin) ? $_ul_left_margin : 0;
if ($params['compact']) {
- $left += $_ul_margin; // ¥Þ¡¼¥¸¥ó¤ò¸ÇÄê
- $level -= ($margin - 1); // ¥ì¥Ù¥ë¤ò½¤Àµ
+ $left += $_ul_margin; // マージンを固定
+ $level -= ($margin - 1); // レベルを修正
} else {
$left += $margin * $_ul_margin;
}
if ($cont) array_push($result, '</li>');
}
-// ¥ª¥×¥·¥ç¥ó¤ò²òÀϤ¹¤ë
+// オプションを解析する
function plugin_ls2_check_arg($value, & $params)
{
if ($value == '') {