我在Zope上对ZWiki有一个相当广泛的维基(依次是Plone)。大多数页面都是reStructured文本格式,但也有几个直接HTML。
将这些页面迁移到MediaWiki wiki并将页面转换为MediaWiki和HTML格式的最佳方法是什么?当然,我想自动转换所有链接(内部和外部)。
答案 0 :(得分:1)
使用zwikiexport.py script将您的Wiki内容提取到文件。该命令将类似于:
ZOPE / bin / zopectl运行ZOPE / Products / ZWiki / bin / zwikiexport.py / zodb / path / to / wiki / folder
将重构的文本标记转换为mediawiki标记。 pandoc应该运行良好 - 对于每个wiki页面,运行类似:
pandoc -r rst -w mediawiki PAGE.rst> PAGE.mw
转换pandoc不知道的wiki链接。根据您的内容,这可能是最难准确的部分。编写perl脚本,或使用Zwiki知道链接的位置来修改zwikiexport脚本(参见ZWikiPage.py中的方法)。
将mediawiki格式页面导入mediawiki,但已完成
精炼:
导出的文件树将反映您的zwiki页面层次结构 - 如果您大量使用它,您将需要考虑如何在mediawiki中表示它
正如马克所说,你将失去页面历史记录,除非你更加努力地找到复制它的方法。对于您可能一直使用的所有页面元数据也是如此(您可以在zope管理界面的页面的Properties选项卡中检查大部分元数据)。特别是页面创建时间,上次编辑时间以及页面创建者和最后编辑者的用户名非常重要,以便了解您的内容。因此,我会尝试编写某种方法来保存这些内容,或者如果所有其他方法都失败了,请手工完成。
如果您已将文件上传到wiki,我认为导出脚本也可以保存这些文件,否则使用ZMI导出/保存它们。将它们导入mediawiki时,您可能需要选择一个页面来附加它们。您可以使用grep或Zwiki的搜索来查找引用特定文件的页面。
在宣布胜利之前,准备好迭代,彻底测试结果并完善流程。在那之后,内容会发生分歧,你不会想重新做这件事。
手动修复:在某些时候,停止摆弄脚本并手动,自己或帮助大队进行剩余的清理可能会更便宜。
答案 1 :(得分:0)
我没有ZWiki的经验,也不知道你的维基有多大。但是一般建议 - 您可以在记事本或Notepad ++中使用find / replace - 或者您可以在Excel中编写宏。
这是每页复制,只有当您的wiki不大于1000页时才真正适合。
我怀疑你仍然会手动检查每个页面,并相应地更新你的脚本。
祝你好运 - 我怀疑你会对最终结果感到满意,因为MediaWiki非常棒。
更新:迁移到新wiki的一个缺点是您将丢失页面历史记录(即谁写了什么,何时)。