在Mediawiki中拥有小写页面标题

时间:2013-07-12 06:09:31

标签: php mysql macos unix mediawiki

我正在here.

建立一个Mediawiki

没关系,但是现在我想要一些文章来记录以小写字母开头的内容,例如Unix命令:“man”,“chmod”,“ls”,“iPod”等。我不希望它们出现像Mediawiki尝试使所有页面标题和文章标题以大写字母开头。

另外,我不希望搜索区分大小写。我想搜索“apple”来找到“Apple”等等。

我相信我已按照web page.

的说明完成了不区分大小写的搜索

我相信这很好,但我对自己的所作所为感到有点娇气:

  1. 更改数据库表_pages的结构,将页面标题的类型更改为VARCHAR(255),并将整理排序更改为一种utf-8不区分大小写。

    < / LI>
  2. 向globalFunctions.php添加全局函数。

  3. 更改wiki皮肤中的php代码。

  4. 看起来这应该只是LocalSettings.php中的php变量

    但这一切似乎都有效。我的意思是,我可以输入“apple”,它会找到关于“Apple”的文章,而不是提示我创建一篇名为“apple”的新文章。

    但是后来,我注意到页面标题仍然是大写的,比如新文章,例如关于“chmod”的文章。

    我回去谷歌搜索,我找到了一个网页,据说使用名为的Mediawiki全局变量:

    $wgAllowDisplayTitle = true;

    并且这会让我使用以下模板:

    {{DISPLAYTITLE:chmod}}

    http://www.learnbymac.com/wiki/index.php?title=Chmod

    这部分有效。文章的标题现在是“chmod”,但实际上,在数据库中标题仍然是“Chmod”,这不会那么糟糕,但是当我进入类别“Unix”时,所有的Unix命令都显示出来以大写字母开头。

    我在Mediawiki网站上看到,不允许以任何语言开始使用小写字母的页面标题。

    我希望我的维基上的内容就像它们在我的Mac上一样,不区分大小写,但保留大小。

    我知道Mediawiki必须考虑世界上的每种语言,但我不这么认为。

    我真的不想再修改我的Mediawiki数据库的结构,但也许这就是所需要的。我刚才注意到,不仅类别页面中的页面标题错误,而且在编辑页面时标题中的页面标题也是错误的。

    Here's指向列出错误案例中标题的类别的链接:

    --- ---编辑

    我明白了。我相信现在好了。我在Mediawiki配置文件中缺少以下行,名为“LocalSettings.php:。

    # disable first-letter capitalization of page names
    $wgCapitalLinks = false;
    

    我知道我第一次进入这个世界。我相信发生了什么变化是保存在我的本地文件系统中,而不是由我的文本编辑器通过ftp保存到我的网站。

1 个答案:

答案 0 :(得分:2)

如你所知,在LocalSettings.php中设置$wgCapitalLinks = false;就可以了。如果你的wiki中已有页面,你可能也想运行维护脚本CleanupCaps:http://www.mediawiki.org/wiki/Manual:CleanupCaps.php

对于您的第二个问题:要使搜索大小写不敏感,您可以使用TitleKey扩展名(http://www.mediawiki.org/wiki/Extension:TitleKey)。 它很稳定,可用于许多主要维基。如果您想要更好地控制行为(http://www.mediawiki.org/wiki/Extension:MWSearch

,还可以插入Lucene serach引擎