如何在自定义mediawiki皮肤中插入主页内容区域之外的目录?

时间:2013-10-25 21:32:22

标签: mediawiki skin tableofcontents

在创建mediawiki皮肤时,我如何将目录放在主页内容区域之外的侧边栏上?

2 个答案:

答案 0 :(得分:1)

首先确保未打印出TOC,请参阅https://www.mediawiki.org/wiki/Extension:NoTOC

然后我建议您将Parser::formatHeadings的相关部分复制到您的皮肤上,以创建您想要的TOC。

然而,除非你真的,真的需要它出现在文章之外的所有用户,我认为使用Javascript将#toc移动到你想要的位置要容易得多。

答案 1 :(得分:0)

如果您希望目录放在一边但无论用户的滚动位置如何都可用,您可以使用CSS属性position: fixed(以下为MW 1.24工作了以下内容。 4使用默认的Vector皮肤,以及内置的MonoBook,Modern和Cologne Blue皮肤):

#toc {
    position: fixed;
    right: 0;
    top: 7em; /* 5em is height of header, 6em brings just under */
    /* bottom: 5em; /* 5em puts us above the footer; not bad but too low when TOC is collapsed */

    z-index: 10000; /* Ensure we float above the header, etc. */

    /* Add opacity (translucency) */
    background-color: rgb(249, 249, 249);
    background-color: rgba(249, 249, 249, 0.9); /* Higher opacity (last arg) means less transparency */
}
/* Ensure the TOC height doesn't take over the screen; percentages may be higher than view port, so we use pixels */
#toc > ul {
    max-height: 350px;
    overflow: auto; 
}