在最近的MediaWiki中,似乎不可能在边栏中启用wikitext,至少在矢量皮肤中是不可能的。Wikitext允许更高级的图像格式化和插入。
我找到的唯一解决方案是安装CustomNavBlocks扩展( http://www.mediawiki.org/wiki/Extension:CustomNavBlocks ),但在MonoBook皮肤中,这会强制将图像放在边栏中的每个框中。
有没有更好的方法为所有皮肤全局启用wikitext?
发布于 2014-05-16 03:05:57
边栏完全是皮肤的责任,所以确实没有保证的方法来修改它在所有皮肤上的行为。
但是,大多数皮肤(和所有内置皮肤)在呈现侧边栏的末尾调用SkinBuildSidebar钩子,因此构建用于修改侧边栏的扩展的一种方法是在那里添加一些解析器,该解析器处理您为此目的而发明的一些额外标记。
发布于 2014-06-02 06:25:55
$wgHooks["SkinBuildSidebar"][] = "fnSidebarMultiLevel";
function fnSidebarMultiLevel(Skin $skin, &$bar) {
global $wgOut;
$title = Title::makeTitle(NS_MEDIAWIKI, "Sidebar-Custom");
if ( !$title->exists() )
return true;
$text = WikiPage::factory($title)->getContent()->mText;
$firstValue = reset($bar);
$firstKey = key($bar);
unset($bar[$firstKey]);
$bar = array(
$firstKey => $firstValue,
"Custom" => $wgOut->parse($text)
) + $bar;
return true;
}将维基文本添加到wiki.com/wiki/MediaWiki:Sidebar-Custom。“自定义”块将是第二个。
https://stackoverflow.com/questions/23645673
复制相似问题