Tools 是非官方社区Wiki。社区文档正在编写中,欢迎参与。 Wiki编辑答疑群:717421103
版本250722.2
全站通知:

帮助:解析函数/ns

来自WIKI实验室WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

ns是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。

ns

获取命名空间名称,根据ID或英文名。MediaWiki原生支持。

语法

{{ns:参数1}}

  • 参数1:命名空间ID、英文名或中文名

示例

  • {{ns:-2}} / {{ns:Media}}媒体文件
  • {{ns:-1}} / {{ns:Special}}特殊
  • {{ns:0}} / {{ns:}}
  • {{ns:2}} / {{ns:User}}用户
  • {{ns:4}} / {{ns:Project}}WIKI实验室 (取决于Wiki名称)
  • {{ns:6}} / {{ns:File}} / {{ns:Image}}文件
  • {{ns:8}} / {{ns:MediaWiki}}MediaWiki
  • {{ns:10}} / {{ns:Template}}模板
  • {{ns:12}} / {{ns:Help}}帮助
  • {{ns:14}} / {{ns:Category}}分类
  • {{ns:274}}Widget
  • {{ns:828}}模块

此外,中文名也可:

  • {{ns:模板}} → 模板

支持讨论命名空间:

  • {{ns:1}} / {{ns:Talk}} → 讨论
  • {{ns:3}} / {{ns:User talk}} → 用户讨论
  • {{ns:5}} / {{ns:Project talk}} → WIKI实验室讨论(取决于Wiki名称)
  • {{ns:7}} / {{ns:File talk}} / {{ns:Image talk}} → 文件讨论
  • {{ns:9}} / {{ns:MediaWiki talk}} → MediaWiki讨论
  • {{ns:11}} / {{ns:Template talk}} → 模板讨论
  • {{ns:13}} / {{ns:Help talk}} → 帮助讨论
  • {{ns:15}} / {{ns:Category talk}} → 分类讨论


底层代码

来自MediaWiki及其扩展的源代码,运行在服务端。此处仅供快速查阅,便于更充分的挖掘其“特性”。

// mediawiki-1.37.0\includes\parser\CoreParserFunctions.php
public static function ns( $parser, $part1 = '' ) {
	if ( intval( $part1 ) || $part1 == "0" ) {
		$index = intval( $part1 );
	} else {
		$index = $parser->getContentLanguage()->getNsIndex( str_replace( ' ', '_', $part1 ) );
	}
	if ( $index !== false ) {
		return $parser->getContentLanguage()->getFormattedNsText( $index );
	} else {
		return [ 'found' => false ];
	}
}
代码逻辑:
  • 将参数转换为命名空间ID
  • 将ID转换为当前语言标准格式的命名空间名称

实际用例

一些Wiki使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时仅供批判性参考
明日方舟 - arknights

代号鸢 - yuan

赛马娘 - umamusume

WIKI实验室 - tools

东方归言录 - touhoulostword

白荆回廊 - bjhl

重返未来:1999 - reverse1999

StardewValley星露谷物语 - stardewvalley

赛尔号星球大战 - seerwar

缺氧 - oni

新怪谈:秘密实验室 - scpsl

银河境界线 - gf

DEADLOCK - deadlock