模块:Namespace detect/doc:修订间差异

来自决策链云智库
(创建页面,内容为“{{Documentation}} {{Wikipedia template}} '''Module:Namespace detect''' allows you to output different text depending on the namespace that a given page is in. It is a Lua implementation of the {{tl|namespace detect}} template, with a few improvements: all namespaces and all namespace aliases are supported, and namespace names are detected automatically for the local wiki.”)
 
无编辑摘要
 
第1行: 第1行:
{{Documentation}}
{{Used in system}}
{{Wikipedia template}}
{{Module rating|protected}}
{{Lua|Module:Namespace detect/data|Module:Yesno|Module:Arguments|Module:TableTools}}


'''Module:Namespace detect''' allows you to output different text depending on the [[SC:NS|namespace]] that a given page is in. It is a [[SC:Lua|Lua]] implementation of the {{tl|namespace detect}} template, with a few improvements: all namespaces and all namespace aliases are supported, and namespace names are detected automatically for the local wiki.
This module allows you to output different text depending on the [[WP:NAMESPACE|namespace]] that a given page is in. It is a [[WP:Lua|Lua]] implementation of the {{tl|namespace detect}} template, with a few improvements: all namespaces and all namespace aliases are supported, and namespace names are detected automatically for the local wiki.
 
== Usage ==
 
<pre>
{{#invoke: Namespace detect | main
| page              = <!-- page to detect namespace for, if not the current page -->
| main              = <!-- text to return for the main namespace -->
| talk              = <!-- text to return for talk namespaces -->
 
<!-- text to return for specific subject namespaces -->
| portal            =
| category          =
| user             =
| wikipedia        =
| mediawiki        =
| book              =
| timedtext        =
| template          =
| special          =
| media            =
| file              =
| image            =
| help             =
| module            =
 
| other            = <!-- text to return for unspecified namespaces -->
| demospace        = <!-- namespace to display text for -->
 
| subjectns        = <!-- set to "yes" to treat talk pages as the corresponding subject page -->
}}
</pre>
 
== Parameters ==
 
* '''main''' - text to return if the page is in the main namespace.
* '''talk''' - text to return if the page is in a talk namespace. This can be any talk namespace - it will match any of "Talk:", "Wikipedia talk:", "User talk:", etc.
* Subject namespace parameters, e.g. '''wikipedia''', '''user''', '''file'''... - the text to return if the page is in the corresponding namespace. This module accepts all subject namespaces as parameters, including [[Wikipedia:Namespace#Aliases|namespace aliases]] and [[Wikipedia:Namespace#Virtual namespaces|virtual namespaces]]. See below for a list of supported values.
* '''other''' - text to return if no parameters for the page's namespace were specified. This text is also returned if {{para|demospace}} is set to an invalid namespace value.
* '''subjectns''' - if on a talk page, use the corresponding subject page. Can be set with values of "yes", "y", "true" or "1".
* '''demopage''' - specifies a page to detect the namespace of. If not specified, and if the {{para|demospace}} parameter is not set, then the module uses the current page.
* '''demospace''' - force the module to behave as if the page was in the specified namespace. Often used for demonstrations.
 
=== Namespace parameters ===
 
Possible values for subject namespace parameters are as follows:
 
{{#invoke:Namespace detect|table}}
 
== Table function ==
 
Use the following to display a table with the different possible namespace parameters:
 
&#123;&#123;#invoke:Namespace detect|table|talk=''yes''&#125;&#125;
 
To include the parameter for talk namespaces, use {{para|talk|yes}}.
 
== Porting to different wikis ==
 
This module is designed to be portable. To use it on a different wiki, all you need to do is to change the values in [[Module:Namespace detect/config]]. Instructions are available on that page.
 
== Technical details ==
 
The module uses a data page at [[Module:Namespace detect/data]]. This page is loaded with [[mw:Extension:Scribunto/Lua reference manual#mw.loadData|mw.loadData]], which means it is processed once per page rather than once per #invoke. This was done for performance reasons.

2024年1月17日 (三) 13:03的最新版本

This module allows you to output different text depending on the namespace that a given page is in. It is a Lua implementation of the {{namespace detect}} template, with a few improvements: all namespaces and all namespace aliases are supported, and namespace names are detected automatically for the local wiki.

Usage

{{#invoke: Namespace detect | main
| page              = <!-- page to detect namespace for, if not the current page -->
| main              = <!-- text to return for the main namespace -->
| talk              = <!-- text to return for talk namespaces -->

<!-- text to return for specific subject namespaces -->
| portal            = 
| category          = 
| user 	            = 
| wikipedia         = 
| mediawiki         = 
| book              = 
| timedtext         = 
| template          = 
| special           = 
| media             = 
| file              = 
| image             = 
| help 	            = 
| module            = 

| other             = <!-- text to return for unspecified namespaces -->
| demospace         = <!-- namespace to display text for -->

| subjectns         = <!-- set to "yes" to treat talk pages as the corresponding subject page -->
}}

Parameters

  • main - text to return if the page is in the main namespace.
  • talk - text to return if the page is in a talk namespace. This can be any talk namespace - it will match any of "Talk:", "Wikipedia talk:", "User talk:", etc.
  • Subject namespace parameters, e.g. wikipedia, user, file... - the text to return if the page is in the corresponding namespace. This module accepts all subject namespaces as parameters, including namespace aliases and virtual namespaces. See below for a list of supported values.
  • other - text to return if no parameters for the page's namespace were specified. This text is also returned if |demospace= is set to an invalid namespace value.
  • subjectns - if on a talk page, use the corresponding subject page. Can be set with values of "yes", "y", "true" or "1".
  • demopage - specifies a page to detect the namespace of. If not specified, and if the |demospace= parameter is not set, then the module uses the current page.
  • demospace - force the module to behave as if the page was in the specified namespace. Often used for demonstrations.

Namespace parameters

Possible values for subject namespace parameters are as follows:

Namespace Aliases
main
用户 user, 使用者, 用戶
决策链云智库 project, 专案, 專案
文件 file, image, 档案, 图像, 图片, 檔案, 圖像, 圖片
mediawiki
模板 template, 样板, 樣板
帮助 help, 说明, 使用说明, 說明, 幫助, 使用說明
分类 category, 分類
属性 property
表单 form
概念 concept
smw/schema
rule
data
模块 module, 模组, 模組, 模塊
gadget
gadget definition
portal

Table function

Use the following to display a table with the different possible namespace parameters:

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

To include the parameter for talk namespaces, use |talk=yes.

Porting to different wikis

This module is designed to be portable. To use it on a different wiki, all you need to do is to change the values in Module:Namespace detect/config. Instructions are available on that page.

Technical details

The module uses a data page at Module:Namespace detect/data. This page is loaded with mw.loadData, which means it is processed once per page rather than once per #invoke. This was done for performance reasons.