コンテンツにスキップ

モジュール:Namespace detect/doc

提供: Wikisource

このモジュールは、指定されたページが属する名前空間に応じて異なるテキストを出力することができます。これは {{namespace detect}} テンプレートのLua 実装版で、いくつかの改良点があります:

  • すべての名前空間およびすべての名前空間エイリアスに対応しています。
  • 名前空間名は、ローカルウィキに合わせて自動で検出されます。

使い方

[編集]
{{#invoke: Namespace detect | main
| main              = <!-- メイン名前空間のときに返すテキスト -->
| talk              = <!-- 会話名前空間のときに返すテキスト -->

<!-- 各種サブジェクト名前空間のときに返すテキスト -->
| portal            = 
| category          = 
| user              = 
| wikisource        = 
| ws                = 
| index             = 
| page              = 
| mediawiki         = 
| author            = 
| translation       = 
| template          = 
| special           = 
| media             = 
| file              = 
| image             = 
| help              = 
| module            = 

| other             = <!-- 上記以外の名前空間のときに返すテキスト -->
| demopage          = <!-- 現在のページ以外で名前空間を判定したいページ -->
| demospace         = <!-- 指定した名前空間であるかのように振る舞う -->

| subjectns         = <!-- 会話ページを対応するサブジェクトページとして扱いたい場合に "yes" を指定 -->
}}

パラメータ

[編集]
  • main:ページがメイン名前空間にある場合に返すテキスト
  • talk:ページが会話名前空間(例:"トーク:", "利用者-トーク:" など)にある場合に返すテキスト
  • サブジェクト名前空間の各パラメータ(例:wikipediauserfileなど):ページが該当する名前空間にあるときに返すテキスト。このモジュールは、名前空間のエイリアス疑似名前空間も含むすべての名前空間に対応します。対応している値の一覧は後述の表を参照してください。
  • other:指定された名前空間以外のときに返すテキスト。 また、|demospace =  に無効な値が指定された場合にもこの値が返されます。
  • subjectns:ページが会話名前空間にある場合に、対応するサブジェクト名前空間として扱う。値として "yes"、"y"、"true"、"1" を指定可能。
  • demopage:名前空間を判定する対象ページを指定します。未指定かつ |demospace =  も未設定の場合、現在のページが使われます。
  • demospace:指定した名前空間に属するかのように動作させるためのデモ用パラメータ。

名前空間パラメータの一覧

[編集]

使用可能な名前空間パラメータの一覧は以下のとおりです:

名前空間 エイリアス
main
利用者 user
wikisource project, ws
ファイル file, 画像, image
mediawiki
テンプレート template
ヘルプ help
カテゴリ category
作者
page
index
timedtext
モジュール module
event

テーブル関数

[編集]

利用可能な名前空間パラメータを一覧表で表示するには、次のように記述します:

{{#invoke:Namespace detect|table|talk=yes}}

会話名前空間のパラメータも含めたい場合は、|talk = yes を追加します。

他のウィキへの移植

[編集]

このモジュールは移植可能な設計になっています。他のウィキで使用するには、Module:Namespace detect/config 内の設定値を変更するだけです。 設定方法の説明はそちらのページに記載されています。

技術的な詳細

[編集]

このモジュールは、Module:Namespace detect/data にあるデータページを使用しています。このページは mw.loadData によって読み込まれ、ページごとに一度だけ処理されます(#invoke ごとではない)。 これはパフォーマンス上の理由によるものです。