*書式 [#z6a96133]
#includex(ページ名[,オプション])
''必須''
-ページ名
--とりこむページ名
''オプション''
option=bool なオプションは共通して、 option, option=true, option=on でそのオプションが有効になり、option=false, option=off で無効になります。
-num=数字
--表示件数指定。正数は前からN件目、負数は後ろからN件目の意味。~
num=1:10 で先頭1件目から10件目までの意味。num=-10:-1 で後ろ10件目から後ろ1件目までの意味。num=2: で先頭2件目から最後までの意味。~
//((num=:10 と書くこともできる。num=10:1 も同義。)) ((num=-10: と同義。num=-1:-10 とも書いても同じ。))~
num=5+2 で先頭5件目から、そこから2件先まで(5,6,7)の意味。~
//((num=5-2 で先頭5件目から、そこから2件前まで(3,4,5)の意味。))((さらに num=(1,3,5+2) のような表記も可能。))
-filter=正規表現
--各行を正規表現で限定する。Wikiソースに対する grep 的なもの。全文検索。~
ヒント: [[ereg>http://php.s3.to/man/function.ereg.html]] で判定を行います。
-except=正規表現
--除外全文検索。Wikiソースに対する grep -v 的なもの。~
ヒント: [[ereg>http://php.s3.to/man/function.ereg.html]] で判定を行います。
except=Test|sample → Test または sample を含む行を除く。~
ヒント:例えばページの1部だけを取り込んでいるのに #contents によるリストが表示されて邪魔だと思ったときに except=^#contents として消去したりします。
-titlestr=name|off|basename|relname|title
--ページタイトル(<h1>ページ名</h1>)の表示形式。デフォルトは title。~
''name'': include プラグインと同じくページ名を使用する。~
''off'': ページタイトルを表示しない。~
''basename'': ページ名の basename, つまり仮想階層を使用している場合のファイル名に相当する部分。~
''relname'': 現在ページからの相対的ページ名。例:現在ページ PukiWiki かつ include 先が Plugin/Hoge/includex.inc.php → Hoge/includex.inc.php~
''title'': TITLE: 行があればその文字を、なければ name を表示。~
備考:TITLE: の取得には [[../contentsx]] のコードを再利用します。インストールしておいてください(なければ常に name になります)。TITLE: とは Pukiwiki Plus! において HTML のタイトルを設定する書式です。本家の場合、default.ini.php の $line_rules で "^(TITLE):(.*)$" => "", と設定し、TITLE: 行を表示しないようにすればよいでしょう。おそらく。
-titlelink=bool
--ページタイトル(<h1>ページ名</h1>)でリンクを貼るか否か。~
ヒント: pukiwiki.ini.php で $fixed_heading_edited を 1 に設定しておくと、ページタイトルの脇に編集リンク用の編集アイコンも表示されます。$fixed_heading_edited は pukiwiki plus におけるパラグラフ編集機能を利用する際の、それぞれの見出しの脇に編集アイコンを表示するか否かの設定です。
-permalink=リンク文字列
--include した後にそのページへのリンク、 Permalink を表示する。ブログ的に。
-section=(num=数字,depth=数字,filter=正規表現,except=正規表現,cache=on|off|reset)
--取り込むセクションを見出しに対する制限で限定。~
備考:内部で [[../contentsx]] を使用します。contentsx のキャッシュから見出し行番号を取得したりしています。
オプションの効用は上の同名オプションから察しが付くと思いますが、より詳しくは [[../contentsx]] を参照してください。~
ヒント:num=0 は先頭から第一見出しまでの部位を意味します。同じ意味になりそうな depth=0 は定義していません。
''Obsolete''
-title=on|off|nolink|basename (''titlestr, titlelink に移行してください'')
--ページタイトル(<h1>ページ名</h1>)の表示形式。デフォルトは on。on の場合はページタイトルを参照リンク付きで表示する。off の場合はページタイトルを表示しない。nolink の場合はページタイトルをリンクなしで表示する。basename の場合はページ名の basename, つまり仮想階層を使用している場合のファイル名に相当する部分を用いてページタイトルを表示する。~
ヒント: pukiwiki.ini.php で $fixed_heading_edited を 1 に設定しておくと、ページタイトルの脇に編集リンク用の編集アイコンも表示されます。$fixed_heading_edited は pukiwiki plus におけるパラグラフ編集機能を利用する際の、それぞれの見出しの脇に編集アイコンを表示するか否かの設定です。
''アルファ機能''
-head=bool
--head=off で取り込む文章の第一行が見出しの場合消去。head は最初(head) の ''head''line の意。ページタイトル h1 のすぐ次に見出しが来る、かつそのときの見た目が気になるような時に使用する。
**使用例 [#e78ad4d8]
#includex(ページ,titlelink=off,section=(num=1))
*ダウンロード [#k368110b]
lsx, contentsx, includex は3点セットと考えてください。アップデートする場合全てアップデートしてください。
以下のファイルを右クリックから保存し、plugin ディレクトリにおいてください。常に開発版です。
-[[includex.inc.php>svn:plugin/includex.inc.php]]
-[[lsx.inc.php>svn:plugin/contentsx.inc.php]]
-[[contentsx.inc.php>svn:plugin/lsx.inc.php]]
&l(en){What's new};&l(ja){更新履歴};
[[viewcvs>viewcvs:plugin/includex.inc.php]]
#null{{
|リビジョン|日付|変更点|h
|rev.338|2007-01-22|オプション permalink|
|rev.271 (以降 svn 上のリビジョン)|2007-01-16|plus の TITLE: 行を利用できるオプションを追加。ついでに title オプションを titlestr, titlelink に分離。title は obsolete となりました(一応使用できます)。include の前に TITLE: 行を消去する convert_filters。cleanup|
|includex.inc.php.2.1|2006-07-25|コード整理|
|includex.inc.php.2|2006-07-23|セクション指定|
|includex.inc.php.1|2006-07-22|初版。ページタイトルの表示形式指定可能。ページタイトルにアンカーが付く。行番号指定機能。正規表現による全文検索機能(grep)。正規表現による除外全文検索機能(grep -v)|
}}
*設定 [#f8035b9f]
全ての #include を #includex に置き換えてください。
*FAQ [#re71203b]
** #include を一度に置き換えたい [#g5ba16ab]
プラグインの置き換え用プラグインとして replaceplugin.inc.php を作成してありますので利用してみてください。
** 複数ページの include は? [#jede3f0f]
[[../lsx]] から include オプションを使用して行います。
*技術的詳細 [#v5394259]
**アンカー [#y8ae6346]
ページタイトル (<h1></h1>) に対するページ内アンカとして
'#z' . encode(ページ名)
のような文字列を採用しています。先頭の z は XHTML 文法的にアンカの先頭文字列は [A-Za-z] でなければならない(数字であってもならない)のでそのルールを保障するためにとりあえず z を付けています。
#contentsx の include オプションはこのアンカに対応しています。