Mediawiki:我需要整个wiki的目录

问题描述 投票:1回答:1

我使用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的增长,这个目录页面也会增长,但这没关系。)


Alternatively, I know about the MediaWiki API. I can create a server-side process that:
  1. MySQL是否查找所有页面及其类别
  2. 对它们进行排序
  3. 使用MediaWiki API在主页面上生成此目录

我可以定期运行这个过程。我正在迎接挑战,因为我是一名程序员,这是一项有趣的练习,但如果我不需要,为什么要重新发明轮子呢?

mediawiki tableofcontents
1个回答
1
投票

CategoryTree是一个选择。现在,这里的挑战是MediaWiki类别不是分层的。换句话说,您可以使用类别循环(A> B> C> A)。此外,一篇文章可以显示在任意数量的类别中,文章可以没有类别。必须手动完成的唯一事情是放 主页“目录”页面上每个类别的类别名称</ categorytree>。虽然新类别可能不会出现很多,但这不会是一个可怕的问题。但是,这种不便的一种解决方案是将所有(顶级)类别放入Category:Categories中,然后通过扩展显示该类别(请参阅depth和hideroot参数)。

难以使用,但wikistats从XML转储生成HTML表示,请参阅例如MediaWiki.org categories

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

© www.soinside.com 2019 - 2024. All rights reserved.