首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MediaWiki侧边栏启用wikitext

在MediaWiki侧边栏启用wikitext
EN

Stack Overflow用户
提问于 2014-05-14 12:32:04
回答 2查看 235关注 0票数 0

在最近的MediaWiki中,似乎不可能在边栏中启用wikitext,至少在矢量皮肤中是不可能的。Wikitext允许更高级的图像格式化和插入。

我找到的唯一解决方案是安装CustomNavBlocks扩展( http://www.mediawiki.org/wiki/Extension:CustomNavBlocks ),但在MonoBook皮肤中,这会强制将图像放在边栏中的每个框中。

有没有更好的方法为所有皮肤全局启用wikitext?

EN

回答 2

Stack Overflow用户

发布于 2014-05-16 03:05:57

边栏完全是皮肤的责任,所以确实没有保证的方法来修改它在所有皮肤上的行为。

但是,大多数皮肤(和所有内置皮肤)在呈现侧边栏的末尾调用SkinBuildSidebar钩子,因此构建用于修改侧边栏的扩展的一种方法是在那里添加一些解析器,该解析器处理您为此目的而发明的一些额外标记。

票数 1
EN

Stack Overflow用户

发布于 2014-06-02 06:25:55

代码语言:javascript
复制
$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。“自定义”块将是第二个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23645673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档