Mediawiki:我需要整个wiki的目录

Mediawiki:我需要整个wiki的目录,mediawiki,tableofcontents,Mediawiki,Tableofcontents,我使用MediaWiki管理自己的公司内部wiki。我喜欢MediaWiki,因为很多人在使用过Wikipedia后已经熟悉了它。另外,配置起来很开心,我没有遇到很多问题,因为我对PHP不太熟悉。(所以我不一定要寻找另一种解决方案,比如DokuWiki…) 我的要求是,打开的页面必须是所有页面的列表,按类别按字母顺序进行分解,就像整个wiki的目录一样。它看起来像这样(在“主页面”): 每个页面都会获得分配给它的类别。我知道Special:Categories页面,但它只显示类别,必须向下钻取(

我使用MediaWiki管理自己的公司内部wiki。我喜欢MediaWiki,因为很多人在使用过Wikipedia后已经熟悉了它。另外,配置起来很开心,我没有遇到很多问题,因为我对PHP不太熟悉。(所以我不一定要寻找另一种解决方案,比如DokuWiki…)

我的要求是,打开的页面必须是所有页面的列表,按类别按字母顺序进行分解,就像整个wiki的目录一样。它看起来像这样(在“主页面”):

每个页面都会获得分配给它的类别。我知道Special:Categories页面,但它只显示类别,必须向下钻取(跟随链接)才能查看该类别中的页面-因此,我无法查看多个页面/多个类别

我见过Extension:Hierarchy,但这不符合我的需要,因为“目录”必须编辑,而不是通过在每个页面上声明“父”或“类别”自动生成

MediaWiki是否已有此功能?(我知道随着维基的发展,这个目录页面也会随之发展,但这没关系。)


或者,我知道MediaWiki API。我可以创建一个服务器端进程:

  • 对所有页面及其类别执行MySQL查找
  • 分类
  • 使用MediaWiki API在主页上生成此目录
  • 我可以定期运行这个过程。我准备迎接挑战,因为我是一名程序员,这是一个有趣的练习,但如果我不需要,为什么要重新发明轮子呢?

    是一个选择。现在,这里的一个挑战是MediaWiki类别不是分层的。换句话说,您可以有类别循环(A>B>C>A)。此外,一篇文章可以显示在任意数量的类别中,而文章可以没有类别。唯一需要手动完成的事情是将每个类别的类别名称放在主“目录”页面上。尽管新的分类不太可能出现,但这并不是一个可怕的问题。但是,解决此问题的一个方法是将所有(顶级)类别放入Category:categories中,然后通过扩展显示该类别(请参见depth和hideroot参数)

    很难使用,但会从XML转储生成HTML表示,请参见例如


    是另一个分析工具,看起来更复杂(但我没有尝试为我的wiki设置它,不像wikistats)。

    这里的一个挑战是MediaWiki类别不是分层的。换句话说,您可以有类别循环(A>B>C>A)。此外,一篇文章可以显示在任意数量的类别中,而文章可以没有类别。也就是说,你可能想看看@leo这个扩展实际上满足了我的大部分需求,是一个很大的帮助。唯一需要手动完成的事情是,我将每个类别的
    \u类别名称
    放在我的主页“目录”页面上。尽管新的分类不太可能出现,但这并不是一个可怕的问题。也许我可以自己扩展这个插件,自动生成所有顶级类别的页面。这种自动工作将完全满足我的要求。您只需将所有(顶级)类别放入
    Category:categories
    ,然后通过扩展显示该类别(请参见
    depth
    hideroot
    参数)。
    Category 1
        Page A
        Page B
        Page C
    Category 2
        Page E
        Page N
        Page X
        Page Z
    Category 3
        Page Q
        Page V