7

我正在这里建立一个 Mediawiki。

一切正常,但现在我想写一些文章来记录以小写字母开头的东西,例如 Unix 命令:“man”、“chmod”、“ls”、“iPod”等。我没有不希望它们像 Mediawiki 那样出现,试图让所有页面标题和文章标题都以大写字母开头。

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

我相信按照网页上的说明,我已经实现了不区分大小写的搜索。

我相信这很好,但我对我必须做的事情有点紧张:

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

  2. 向 globalFunctions.php 添加一个全局函数。

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

看起来这应该只是 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 网站上读到,任何语言都不允许以小写字母开头的页面标题。

我希望我的 wiki 上的内容与我的 Mac 上的一样,不区分大小写,但保留大小写。

我知道 Mediawiki 必须考虑世界上的每一种语言,但我没有。

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

这是一个类别的链接,其中列出了错误情况下的标题:

- -编辑 - -

我想到了。我相信现在很好。我的 Mediawiki 配置文件中缺少以下行,称为“LocalSettings.php:.

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

我知道我是第一次进入这个。我相信发生的事情是更改保存在我的本地文件系统中,而不是由我的文本编辑器通过 ftp 保存到我的网站。

4

1 回答 1

3

正如您所指出的,$wgCapitalLinks = false;在 LocalSettings.php 中设置就可以了。如果您的 wiki 中已经有页面,您可能还需要运行维护脚本 CleanupCaps:http ://www.mediawiki.org/wiki/Manual:CleanupCaps.php

对于您的第二个问题:要使搜索不区分大小写,您可以使用 TitleKey 扩展 ( http://www.mediawiki.org/wiki/Extension:TitleKey )。它很稳定,并在许多主要的 wiki 上使用。如果您想更好地控制行为,也可以插入 Lucene 搜索引擎(http://www.mediawiki.org/wiki/Extension:MWSearch

于 2013-07-18T13:29:01.350 回答