TL;DR:如何向每个页面的内容(不是标题或全局模板)添加文本(通知)?
(非常)长问题的背景:我计划将 MediaWiki 迁移到另一个 wiki。wiki 的内容是从之前更旧的 wiki 迁移而来的(生成了有关格式的错误),随着时间的推移而增长,现在大部分已经过时。这就是为什么我们要从空白 wiki 开始并手动迁移内容,丢弃和/或更新过时的页面。
为了使这更容易,我想在每个现有页面的顶部添加一个文本块,特别是一个模板,通知该页面尚未迁移或丢弃,以及收集所有这些页面的类别(例如类别:migration_pending) . 然后,每个用户都应该浏览他负责的页面,将内容复制到新的 wiki 并将模板更改为另一个模板,将页面标记为已迁移 (category:migration_done) 或丢弃 (category:migration_discarded)。通过这种方式,应该可以在不忘记任何重要内容的情况下获得一个干净、最新的 wiki。
Replace_Text 扩展不成功,所以我结束了编写自己的使用 MediaWiki API 的脚本。
我从这里开始使用登录脚本并编写了这个脚本:
该脚本的基本作用是:
一些附加说明:
domain
,必须设置该参数。并且必须将其设置为LDAP 源的名称LocalSettings.php
,而不是域的实际名称。$wgEnableEmail = false;
和$wgEnotifWatchlist = false;
在LocalSettings.php
.最后但同样重要的是,
migration_pending
我添加到 MediaWiki 的模板:这对我们之前使用的表格使用 CSS 类,并将页面添加到特定类别。
migration_done
我添加了与migration_discarded
相应类别类似的模板。