我使用MediaWiki管理自己的公司内部维基。我喜欢MediaWiki,因为很多人已经习惯使用维基百科了。此外,配置是一种乐趣,我没有遇到很多问题,而不是熟悉PHP。 (所以我不一定要寻找其他解决方案,比如DokuWiki ...)
我的要求是,首页是所有页面的列表,按类别按字母顺序细分 - 非常类似于整个维基的目录。它看起来像这样(在“主页”上):
Category 1
Page A
Page B
Page C
Category 2
Page E
Page N
Page X
Page Z
Category 3
Page Q
Page V
每个页面都会获得分配给它的类别。我知道特殊:类别页面,但只显示类别,并且必须向下钻取(按照链接)以查看该类别中的页面 - 因此,我看不到多个页面/多个类别。
我见过Extension:Hierarchy,但这不符合我的需要,因为必须编辑“目录”而不是通过在每个页面上声明“父”或“类别”来自动生成。
MediaWiki是否已存在此功能? (据我所知,随着wiki的增长,这个目录页面也会增长,但这没关系。)
我可以定期运行这个过程。我正在迎接挑战,因为我是一名程序员,这是一项有趣的练习,但如果我不需要,为什么要重新发明轮子呢?
CategoryTree是一个选择。现在,这里的挑战是MediaWiki类别不是分层的。换句话说,您可以使用类别循环(A> B> C> A)。此外,一篇文章可以显示在任意数量的类别中,文章可以没有类别。必须手动完成的唯一事情是放 主页“目录”页面上每个类别的类别名称</ categorytree>。虽然新类别可能不会出现很多,但这不会是一个可怕的问题。但是,这种不便的一种解决方案是将所有(顶级)类别放入Category:Categories中,然后通过扩展显示该类别(请参阅depth和hideroot参数)。
难以使用,但wikistats从XML转储生成HTML表示,请参阅例如MediaWiki.org categories。
CatGraph是另一种分析工具,它看起来会更复杂(但是我并没有尝试过为我的wiki设置它,不像wikistats)。