是否可以删除用{{BASEPAGENAME}}或其他魔术字显示的标题部分?
例如,假设我有一个标题为的页面:
(2015.04.08) Test
是否可以显示没有前13个字符的标题,因此它只显示“测试”?
我似乎无法使用finagle #titleparts工作,因为括号内的日期信息实际上并不是标题的部分。我想到的更像是MARC代码中的非归档字符(http://www.library.yale.edu/cataloging/music/filing.htm) - 修改要显示的字符数。
答案 0 :(得分:1)
你想看一下Lua模块Module:String,它可以让你在没有前13个字符的情况下获取标题:
{{#invoke:String|sub|{{BASEPAGENAME}}|13|-1}}
您还可以根据模式进行更复杂的解析。 String模块仅在您使用Scribunto extension在您的wiki上启用Lua时才有效,并且您需要将module source复制到您的wiki。
如果出于某种原因,你不能使用Lua,那么效率低得多的方法就是启用Extension:ParserFunctions。这与最新版本的MediaWiki捆绑在一起,所以您只需要在LocalSettings.php
中启用它:
require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
$wgPFEnableStringFunctions = true;
$wgPFEnableStringFunctions
会授予您访问权限string parsing functions的权限,允许您执行以下操作:
{{#sub:{{BASEPAGENAME}}|13|0}}