KG Software Library

レイアウト・プラグイン

Page :: FSWiki / Plugins / layout

このエントリーをはてなブックマークに追加


β版公開中

2007/01/10 - FSWiki3.6.3 以降へ対応したレイアウト・プラグイン

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

内容

layout プラグイン用テンプレートを使用して、Wikiソースのパース結果を表示するプラグインです。プラグイン・パラメータで指定するレイアウト名を利用してテンプレートを選択することができる為、様々な表現に対応できます。

 重要事項

このプラグインを利用するには 複数行プラグイン を適用する必要があります。

インストール方法

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

  ダウンロード

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

2007/04/16 - 20:00現在、公式サイトへのアクセスが出来ない為、最新版が投稿できないでいます。。。公式サイトが復帰するまでここからダウンロードしてください。無事に復活したようです。。。(2007/04/17-13:50)

利用方法

layout

任意のテンプレートを利用しWikiソースのパース結果を適用するプラグインを提供します。

利用方法

{{layout テンプレート名[,変数:値,...]
〜Wiki書式のソース〜
}}

パラメータで利用可能な変数

パラメータで利用する変数の定義はテンプレート内に規定のフォーマットで記述します。 詳しくは SAMPLE.tmpl を参照してください。

パラメータ名で outline という名称は予約されています。 outline を指定すると process_outline を使用して Wikiソースを変換します。 この場合、outline プラグインへ見出しが反映されるようになりますが、パート編集の位置がずれることがあります。

この outline パラメータは setup.dat もしくは config/config.dat ファイル内で、以下の設定を行うことで既定の動作となります。 =

layout_process_outline=1

テンプレートで利用可能な内部変数一覧

SOURCE            : Wikiソース変換結果(HTMLソース)
LOGIN             : ログイン済みの場合は 1
LOGIN_ID          : ログイン・ユーザーID
LOGIN_TYPE        : ログイン種別(0:管理者, 1:一般)
IS_HANDYPHONE     : 携帯アクセスの場合は 1
IS_FIRST_TMPL     : 同一テンプレート利用で1回目の呼び出し時に 1
IS_FIRST_LAYOUT   : Layoutプラグインの1回目の呼び出し時に 1
COUNT_TMPL        : 同一テンプレートの呼び出し回数(ID属性のカウンターなどに利用)
COUNT_LAYOUT      : Layoutプラグインの呼び出し回数(ID属性のカウンターなどに利用)
CURRENT_TIMESTAMP : 現在時刻(Util::format_date()形式)
SCRIPT_NAME       : スクリプト・パス
CURRENT_PAGE      : 表示中のページ名
CURRENT_PAGE#url  : 表示中のページ名をURLエンコードした文字列(2013/03/07機能追加)
FSWIKI_HOME       : FSWIKI ホームのURI
FSWIKI_HOME_DIR   : FSWIKI ホームディレクトリへのパス(例:ルートWikiの場合は'.'、子Wikiの場合は './..' となる)
SITE_THEME_URI    : テーマディレクトリへのURI
SITE_THEME_NAME   : テーマ名
SITE_TMPL_NAME    : テンプレート名
PATH_INFO         : CGIの PATH_INFO 環境変数値
WIKI_ACTION       : CGIパラメータのactionで指定された名称(アクションなしの場合はブランク)
WIKI_ACTION_...   : ...で指定したアクションがCGIパラメータで指定されているかどうか(1:パラメータあり)
EXIST_PAGE_...    : ...で指定した / を含まないページ名が存在するかどうか(1:存在する)
CGI_PARAM_...     : ...で指定したCGIパラメータの設定値(無ければFALSEになる)?page=xxxx の場合は CGI_PARAM_page に xxx が設定される
CGI_PARAMS_...    : ...で指定した配列要素のCGIパラメータの設定値 ?abc=xxx&abc=yyy の場合は CGI_PARAMS_abc に CGI_PARAM_abc として各値が設定される

上記の他、テンプレートファイルに指定した PARAMETER で定義された変数が使用できます。 また、PARAMETER で定義された変数の「変数名+'#url'」 でURLエンコードされた値を取得できます。

任意のテンプレートの内容をそのまま出力するには・・・

このプラグイン利用時は Wiki ソースの指定はできません。テンプレートで利用可能な内部変数は利用できます。

// インライン版
{{ilayout テンプレート名[,変数:値,...]}}

FSWIKI用の追加テンプレート記述

FSWIKI_SOURCE 〜 /FSWIKI_SOURCE
テンプレート内に指定したWiki書式を変換する
// 記述例
<!--FSWIKI_SOURCE-->
!!!見出し
[[Menu]]
<!--/FSWIKI_SOURCE-->
FSWIKI_INCLUDE
テンプレート内に指定したWikiページを挿入する
// 記述例
<!--FSWIKI_INCLUDE PAGE=Menu-->
FSWIKI_HEAD_INFO
テンプレート内の指定した範囲を<HEAD>タグ内に挿入する
// 記述例
// ※ IS_FIRST_TMPL との併用で初回のみ HEAD 内に追加することが出来ます。
<!--TMPL_IF "IS_FIRST_TMPL"-->
<!--FSWIKI_HEAD_INFO-->
<script type="text/javascript">
function sample_script() {
alert('sample!');
}
</script>
<!--/FSWIKI_HEAD_INFO-->
<!--/TMPL_IF-->

テンプレート一覧

標準で用意する予定のテンプレートの一覧です。(テンプレート名をクリックすればサンプルが表示されます)

テンプレート名詳細
cols?段組表現を行うときに利用する
clear|?cols などで利用される float属性 を解除するのに利用する
rollout?
region
部分的な開閉式の領域にWiki変換結果を表示する
login_form|?ログインフォームを表示する
googlemapsGoogleMapsを表示する

サンプル

TODO

  • Layoutテンプレートの編集機能の追加(管理者のみ)
  • =LayoutHelp表示機能=(ほぼ完了?)
  • テンプレート:Tabの追加
  • 配列パラメータへの対応(バージョン2へ持ち越し)
  • 複数行パラメータ指定への対応(バージョン2へ持ち越し)
  • 他のプラグインからも利用できるように一部機能をユーティリティ化する予定

変更履歴

+ 過去の履歴

2006/05/02
  • LayoutAlias の追加
  • 公式サイトにて公開
2006/05/06 - 置換え
  • fontsize,fontcolorテンプレートを修正しました。
  • fontテンプレートの追加しました。
2006/05/19
  • WIKI書式パラメータへの対応しました。
  • パラメータ値に":"を含む場合、正しく取得できないバグを修正しました。
2006/07/10
  • パラメータ名にハイフン"-"が指定できるようにしました。
  • font.tmpl を更新し、かなりのテキスト属性をサポートしました。
2006/09/13
  • キーなしで値のみのパラメータ指定に対応しました。
  • PATH_INFO を追加しました。
  • WIKI_ACTION_... を追加しました。
  • 管理画面で登録した任意のキー/値を利用できるようにしました。
  • プラグイン別名設定用ファイル(layoutalias.dat)の設定用管理画面を作成しました。
  • レイアウト・テンプレートの配布用ZIPファイルを分割しました。
2007/01/26
  • テンプレート変数 FSWIKI_HOME_DIR を追加しました。
  • テンプレート変数 CGI_PARAM_xxxx としてCGIパラメータ xxxx を取得できるようにしました。
  • <!--FSWIKI_SOURCE-->〜WIKIソース〜<!--/FSWIKI_SOURCE-->として記述したWIKIソースを変換できるようにしました。
  • <!--FSWIKI_INCLUDE PAGE=xxxx-->で指定するページの / なし制限を外しました。
2007/04/16 - layout_20070416.zip(133)
  • テンプレートのヘッダ部に SOURCE種別(WIKI or TEXT)を指定できるようにしました。
    • TEXTを指定している場合は複数行内のソースがそのまま出力されます。(公開サーバーでの利用時には注意してください。)
2008/02/29
  • <!--FSWIKI_HEAD_INFO-->〜ソース〜<!--/FSWIKI_HEAD_INFO-->として記述したソースをHEADタグ内に挿入することが出来るようにしました。
  • 上記機能追加に伴うテンプレートファイルの修正 - ファイルが存在しません。
2010/11/30
  • CGI_PARAM_xxxのテンプレートキー設定に関するバグ修正
2013/03/07
  • テンプレート内で定義したパラメータ変数の値をUtil::url_encode()でエンコードした値を「変数名#url」で取得できるようにした。
Comment(29)
  • (^^;単なるミスです。申し訳ない。。。 - KG (2006/03/18-00:30:11)
  • 5/2版をダウンロードさせていただきました。この機能でWIKI使用を検討しており試行錯誤している所です。ところでサンプルテンプレートの「fontsize」がバグって入る様子です。単位を指定するとエラーが出ます。テンプレートのカット&ペーストミスかと思いますが修正をお願いします。 - デビ (2006/05/06-16:40:02)
  • そうですね。fontタグのsize属性の指定ですので、単位は指定しないようにしています。ですから、ヘルプの説明のミスです。あと、+,-を指定できるはずですのでそれも指定できるようにしておきます。 - KG (2006/05/06-16:47:32)
  • そういえば、fontタグは「非推奨要素」でしたね。spanに変更して単位指定できるように変更します。 - KG (2006/05/06-17:30:02)
  • リリースして頂いた以降、結局まだダウンロードすらできていないのですが(申し訳ありません)、テンプレートの投稿はどのようにすればよいのでしょう?催促ではありません。ご検討頂けると幸いです。「複数行書式プラグイン集で投稿したものくらいは提供できるかな?」と考えています。来月以降になりそうですが…。 - あき (2006/05/17-18:57:54)
  • FSWiki/LayoutTemplate こちらから投稿していただけると助かります。よろしくお願いします。ちなみに、WIKI形式のパラメータ(一行パラメータですが・・・)を有効にしたバージョン(利用方法は限られますが・・・)をもうしばらくしたらアップします。 - KG (2006/05/18-01:23:40)
  • あ、すみません。何度も見てるページでした。そちらで良かったのですね。何かをずっと勘違いしていました。ではそちらのページに投稿させて頂きます。 - あき (2006/05/18-06:56:28)
  • 第一弾を投稿させて頂きました。改めて見直してみると、divやfont、font〜など、汎用性の高いものもきちんと含まれてますね。fontは、まさしく私がかねてから求めていたものだったり…。公には紹介しないんですか? 結構使用頻度は高そうな気がするのですが…。変更履歴には載ってますがテンプレート一覧には載っていないです。存在そのものを知らない人が多いのでは? roll、rollout、rolloutは、イマイチ違いが分かりにくい気がします。 - あき (2006/08/11-19:19:06)
  • 投稿お待ちしておりました(^^)。font テンプレートは word プラグインを利用すれば実現できる機能が殆どなのであまり公にしていないのです。知らない人は word プラグインつかってねっというところです(笑)。roll〜 や region に関しては実はβ版のころの名残です。使用している方もいらっしゃるようなのでそのまま添付しました。次回以降のバージョンアップ時には、テンプレートは全て投稿ページに移して、添付ファイル内からは削除してしまおうと考えています(サンプルくらいは残すかもしれませんが・・・)。 - KG (2006/08/11-23:59:43)
  • β版を更新しました。FSWIKI_HEAD_INFO キーワードを追加しました。 - KG (2008/02/29-11:07:13)
お名前: コメント:

最終更新時間:2013/03/07-20:57:29