用上语义化之后,MediaWiki的很多内置功能就会显得不那么“完美”。就拿分类页面来说,我希望的是书籍分类下显示每本书的封面,而不是简单的页面标题,形式如下:
category-page.png
默认情况下,就算是加入语义化查询,分类页面中还是会显示所有页面的标题,比如:
list_of_page-in-category-page.png
因为页面标题中带有命名空间的名字,加之我为了防止歧义而采用子页面形式创建的不同版本书籍,显示效果还是比较差的。
有没有办法把页面列表隐藏掉呢?答案是肯定的——通过CSS方式。

方案一

该方案采用模板方式,可以适用于任何分类页面。
首先,下载一个名叫CSS的扩展,它的作用就是能在页面中插入CSS代码。
然后,创建一个新的模板(比如模板:隐藏分类),在其中加入如下代码:

<noinclude>此模板主要用于隐藏分类页面中的默认列表。</noinclude>
<includeonly>
{{#css:
#mw-subcategories {display: none;}
#mw-pages {display: none;}
}}
</includeonly>

最后,打开你需要隐藏列表的分类页面,在其中加入{{隐藏分类}}

方案二

本方案只适合少量的分类页面,基本上你需要隐藏哪些页面,就在mediawiki:Common.css中插入如下代码(比如我需要隐藏书籍分类中的列表):

body.page-分类_书籍 #mw-subcategories {display: none;}
body.page-分类_书籍 #mw-pages {display: none;}

如果需要隐藏其他页面就重复上述步骤。

参考文章

Replace list of pages in a Category by a semantic query

最后修改:2021 年 08 月 06 日
如果觉得我的文章对你有用,请随意赞赏