// メニュープラグイン
// $Id: chrome.inc.php 13 2008-07-15 09:51:12Z AKKO $
//
// #chrome(メニュー用のデータページ[,mode[,top]])
// |00|トップ|[[index]]|
// |10|はじめに|[[はじめに]]|
// |11|インストール|[[インストール]]|
// |12|初期設定|[[setup]]|
// モードはCSSの番号になる。
// 06/05/15 bug
// 08/02/20 new ver
// URL をSKINDIR
// top追加
function plugin_chrome_convert()
{
global $is_admin,$head_tags,$tag_xxx;
list($page,$opt,$top,$xn) = func_get_args();
$ret = plugin_chrome_string($page,$xn);
$url = SKIN_DIR.'chrome';
if( $ret != '' ) {
if($top){
$ret = "\n<div class=\"chromestyle\" id=\"chromemenu\" style=\"position:relative; top:".$top."px;\">".$ret;
}else{
$ret = "\n<div class=\"chromestyle\" id=\"chromemenu\" style=\"position:relative; top:0px;\">\n".$ret;
}
$ret .= "<script type=\"text/javascript\">\n";
$ret .= "cssdropdown.startchrome(\"chromemenu\")\n";
$ret .= "</script>\n";
if( $opt < 1 ) $opt = 1;
$tx1 = "<link rel=\"stylesheet\" type=\"text/css\" href=\"$url/chromestyle$opt.css\" />\n";
$tx1 .= "<script type=\"text/javascript\" src=\"$url/chrome.js\">\n";
$tx1 .= "</script>\n";
$head_tags['chrome'] = $tx1;
}
return $ret;
}
function plugin_chrome_string($page, $xn)
{
if (!is_page($page)) {
return '';
}
if($xn < 10 ) $xn = 150;
$mode = 0;
$mmnue = "<ul>\n";
//|メニュー位置|表示名|ジャンプ先|
foreach (get_source($page) as $line)
{
if ( preg_match('/^\|(.*)\|(.*)\|\[\[(.*)\]\]\|$/', $line, $m)) {
if( $m[3] != '#' ){
// $url = sd_url($m[3]);
if( is_url($m[3])){
$url = $m[3];
}else{
$aa = make_link('[['.$m[3].'>'.$m[3].']]') ;
preg_match('/href="(.*)" title="/', $aa, $mu);
$url = $mu[1];
}
}else{
$url = "#";
}
switch ($m[1]) {
case '00':
$mmnue .= "<li><a href=\"".$url."\" %%0%%>".$m[2]."</a></li>\n";
break;
case '10':
case '20':
case '30':
case '40':
case '50':
case '60':
case '70':
case '80':
case '90':
$mmnue .= "<li><a href=\"".$url."\" %%".$m[1]."%%>".$m[2]."</a></li>\n";
break;
default :
$menutbl[$m[1]] ="<a href=\"".$url."\">".$m[2]."</a>\n";
break;
}
}
}
$mmnue .= "</ul>\n</div>\n";
$mmnue2 = '';
for($j = 0; $j < 100 ; $j= $j+10){
$tmnue= '';
for( $i = $j+1 ; $i < $j+10; $i++){
if($menutbl[$i]) $tmnue .=$menutbl[$i];
}
if( $tmnue ) {
$mmnue2 .= "<div id=\"dropmenu". $j/10 ."\" class=\"dropmenudiv\" style=\"width: ".$xn."px;\" >\n" ;
$mmnue2 .= $tmnue;
$mmnue2 .= "</div>\n";
$mmnue = str_replace('%%'.$j.'%%'," rel=\"dropmenu" . $j/10 . "\"",$mmnue);
}else {
$mmnue = str_replace('%%'.$j.'%%',"",$mmnue);
}
}
return $mmnue .$mmnue2;
}
?>
PukiWiki/1.4/Manual/Plugin/H-K|オープンソースを活用したシステムのご提案 エフユー
hr
†
- 種別
ブロック型プラグイン
- 重要度
★★☆☆☆
- 書式
- #hr
- 概要
文中に水平線を挿入します。
- 備考
段落やリスト、テーブル内など、通常の水平線書式(----)ではブロックを抜けてしまう個所で水平線を挿入するために用います。リスト内など左右マージンが設定されている場合は、それを引き継ぎます。
img
†
- 種別
ブロック型プラグイン
- 重要度
★☆☆☆☆
- 書式
- #img(
画像URL[,
right|
r|
left|
l|
clear|
c,[
clear|
c
]]
)
- 概要
添付ファイル以外の画像を表示するために開発されましたが、該当機能がrefプラグインに統合されたため、基本的に使用することはありません。過去との互換性のために残っています。
- 引数
画像URLには表示する画像のURLを指定します。
画像にはjpeg(jpg), gif, png のみ指定可能です。
right,r,left,l,clear,c で画像の表示位置とテキストの回りこみを指定します。省略時は left が指定されたとみなします。
- right,r − 画像を右寄せで表示します。
- left,l − 画像を右寄せで表示します。
- clear,c − テキストの回りこみを解除します。内部的には right,r,left,l 以外は全てclearが選択されたと見なされます。
- プラグイン内設定
- PLUGIN_IMG_CLEAR clear指定時に出力するタグ
- PLUGIN_IMG_USAGE 引数未指定時に表示されるヘルプ
include
†
- 種別
ブロック型プラグイン
- 重要度
★★★☆☆
- 書式
- #include(
ページ名[,title|,notitle]
)
- 概要
記述した位置に指定したページを挿入して、複数のページをあたかも1つのページであるかのように表示します。
- 引数
ページ名には挿入するページを指定します。
第2引数にnotitleを指定すると、ページ名の表示を抑制します。titleはその逆です。
- プラグイン内設定
- PLUGIN_INCLUDE_MAX 一度にインクルードできるページの最大数
- PLUGIN_INCLUDE_WITH_TITLE title,notitle を未指定時に挿入時にページ名を表示するか・しないか
- PLUGIN_INCLUDE_USAGE 引数未指定時に表示されるヘルプ
includesubmenu
†
- 種別
ブロック型プラグイン
- 重要度
★★☆☆☆
- 書式
- #includesubmenu(
[showpagename]
)
- 概要
現在表示中のページによって、MenuBarに表示する内容を切り替える為に使用します。
表示中のページの下階層のSubMenuか、同階層にあるSubMenuページを挿入表示するプラグインです。
- 引数
showpagename を指定すると、挿入表示するページのページ名を表示します。省略時はページ名を非表示とします。
insert
†
- 種別
(コマンド)
ブロック型プラグイン
- 重要度
★☆☆☆☆
- 書式
- #insert
- 概要
記述した位置に複数行入力欄とボタンを表示します。
ボタンを押下すると入力欄に入力した内容をページに挿入します。
- プラグイン内設定
- INSERT_COLS 編集欄の表示幅
- INSERT_ROWS 編集欄の表示行数
- INSERT_INS 入力内容を入力欄の前後どちらに挿入するか
interwiki
†
- 種別
コマンド
- 重要度
★☆☆☆☆
- 書式
- ?cmd=interwiki
&page=InterWiki名
- 概要
InterWikiを記述した際にPukiWikiが内部的に呼び出します。使用者が意識して使用する機会はありません。
- 引数
InterWiki名にはジャンプ先をInterWiki形式で指定します。InterWiki名はエンコードされている必要があります。