Wiki変換結果を任意の位置に挿入するプラグイン

β版公開中

2007/01/10 - FSWiki3.6.3 以降へ対応したInsertプラグイン

fswiki 3.6.3開発版以降の「複数行対応プラグイン」に対応したInsertプラグインです。fswiki 3.6.3 正式リリースまではこちらでβ版として公開します。

内容

FSWiki:BBS-雑談掲示板/159 に触発されて作成しています。

指定した位置に、任意のWiki変換結果を挿入することができます。

インストール方法

添付ファイルを解凍し、各ディレクトリに展開してください。また、プラグイン設定画面で insert プラグイン を有効にしてください。

  ダウンロード

以下のサイトからダウンロードしてインストールしてください。

  必須

  依存関係

なし

利用方法

inskeyinsval をセットで利用します。挿入したい位置に inskey を記述し、その内容を insval で定義します。insval は inskey よりも後に記述する必要があります。

inskey
ページに挿入ポイントとなる key を付加します。
{{inskey key名}}
insval
指定した挿入ポイント key に Wikiソースの変換結果を挿入します。
{{insval key名[,LINE][,OUTLINE]
〜Wikiソース〜
}}

以下の指定方法で、PC専用もしくは携帯端末専用に表示制御が可能です。

{{insval key名[,LINE][,OUTLINE]
<!--TMPL_IF 'IS_HANDYPHONE'-->
〜携帯端末専用のWikiソース〜
<!--TMPL_ELSE-->
〜PC専用のWikiソース〜
<!--/TMPL_IF-->
}}

上記の TMPL_IF 〜 /TMPL_IF の範囲外に記述した Wikiソースは、PC/携帯端末の両方で表示されます。

  注意事項

  • 同一キー部には同一内容が表示される
  • inskey で指定したキーの内容(insval)は、指定したinskeyより後に記述する必要がある
  • insval のパラメータに LINE を指定すれば、変換結果のHTMLが1行で出力される
  • insval のパラメータに OUTLINE を指定すれば outline プラグインで表示される
  • OUTINE を指定しない insval で見出しを利用した場合は、パート編集の区切り位置がずれる

サンプル

テーブルで利用する場合

,{c},{SIZE:30%},{SIZE:30%},{SIZE:30%}
,h1,h2,h3
,{{inskey c1}},c2,c3
,{{inskey c4}},{{inskey c5}},c6{COLOR:ff0000}
,c7,{{inskey c8}},c9だけど・・・c8を入れてみる。{{inskey c8}}

{{insval c1
<!--TMPL_IF 'IS_HANDYPHONE'-->
携帯端末で閲覧中
<!--TMPL_ELSE-->
PCで閲覧中
<!--/TMPL_IF-->
}}

{{insval c4
!! c4の内容
outlineへの反映なし
* 複数行プラグインで簡単実装
* レイアウトが自由自在
* もちろん、カラム属性との併用もできる
}}

{{insval c5,OUTLINE
!! c5の内容
outlineへ反映する
* 複数行プラグインで簡単実装
* レイアウトが自由自在
* もちろん、カラム属性との併用もできる
}}

{{insval c8
テーブルの入れ子もできる
,h1,h2,h3
,c1,c2,c3
,c4,{{inskey c8-1}},c5
}}

{{insval c8-1
入れ子の入れ子もできる
,h1,h2,h3
,c1,c2,c3
}}
h1h2h3

PCで閲覧中

c2c3

c4の内容

outlineへの反映なし

  • 複数行プラグインで簡単実装
  • レイアウトが自由自在
  • もちろん、カラム属性との併用もできる

  c5の内容

outlineへ反映する

  • 複数行プラグインで簡単実装
  • レイアウトが自由自在
  • もちろん、カラム属性との併用もできる
c6
c7

テーブルの入れ子もできる

h1h2h3
c1c2c3
c4

入れ子の入れ子もできる

h1h2h3
c1c2c3

c5

c9だけど・・・c8を入れてみる。

テーブルの入れ子もできる

h1h2h3
c1c2c3
c4

入れ子の入れ子もできる

h1h2h3
c1c2c3

c5

変更履歴

2006/01/11
  • ベータ版の新規作成
2006/01/11 - 12:00
  • キャッシュ対応時に表示されない不具合を発見し、複数行プラグインをキャッシュ対応の為に修正
    • CacheParser::process_cache 内で、$parser->{html}を各行の処理前に空にしてあるがどういう意図があるのだろう・・・
    • 上記箇所を修正することでキャッシュ利用時の処理も正常に反映されることがわかったが、他の処理への影響度合いが不明。
  • このプラグイン・・・入れ子にできないけど何で?(原因調査中)
2006/01/11 - 20:20
  • 入れ子への対応完了
  • CacheParserへの修正箇所がコアにコミットされるらしい(ブロックプラグイン部を除く)
2006/01/14
  • 本家へ投稿
2006/01/23
  • PC/携帯端末の判断が行えるように 'IS_HANDYPHONE'キーワードを追加。
Comment(6)
  • あ、入れ子はできないんですね。あ、でも調査中ってことは対応できるなら対応したいってことでしょうか? - あき (2006/01/11-13:49:30)
  • 対応したいですね。多分、このプラグインに限った問題ではないと思います。include プラグインあたりが参考になるかなと・・・ - KG (2006/01/11-13:56:08)
  • $parser->{html} を操作する方法が間違ってました。入れ子対応完了です。近々本家へアップします。 - KG (2006/01/11-20:22:08)
  • 最新版の3.6.4でこちらのプラグインを適用後、うまくinsertが正常に機能してないように感じられます。エラー内容は、Can't locate object method "process_outline" via package "Wiki" at ./plugin/insert/Insert.pm line 99. となってしまいます。3.6.3バージョンのinsertプラグインをwikiバージョン3.6.3にて試した所、そちらではサンプルソースの事例が正常に表示されている事を確認できました。恐縮ですが3.6.4にて動作するようにお願い出来ませんでしょうか。よろしくお願い致します。 - たった (2011/06/13-19:48:11)
  • FSWiki/Plugins/blockplugin のベータ版は導入されてますでしょうか? - KG (2011/06/13-23:21:48)
  • すいません、お手数かけてます。それぞれベータ版をインストール後に動作確認出来ました! - たった (2011/06/16-20:05:37)
お名前: コメント: