【发布时间】:2011-02-22 00:57:26
【问题描述】:
我在 Zope 上的 ZWiki 上有一个相当广泛的 wiki(又在 Plone 上)。大多数页面采用重组文本格式,但也有一些采用纯 HTML 格式。
将这些页面迁移到 MediaWiki wiki 并将页面转换为 MediaWiki 和 HTML 格式的最佳方法是什么?当然,我想自动转换所有链接(内部和外部)。
【问题讨论】:
我在 Zope 上的 ZWiki 上有一个相当广泛的 wiki(又在 Plone 上)。大多数页面采用重组文本格式,但也有一些采用纯 HTML 格式。
将这些页面迁移到 MediaWiki wiki 并将页面转换为 MediaWiki 和 HTML 格式的最佳方法是什么?当然,我想自动转换所有链接(内部和外部)。
【问题讨论】:
使用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 脚本,或修改 zwikiexport 脚本,使用 Zwiki 对链接位置的了解(参见 ZWikiPage.py 中的方法)。
将 mediawiki 格式的页面导入 mediawiki,但是已经完成了
改进:
导出的文件树将反映您的 zwiki 页面层次结构 - 如果您大量使用它,您将需要考虑如何在 mediawiki 中表示它
正如 Mark 所说,您将丢失页面历史记录,除非您更加努力地寻找一种方法来复制它。您可能一直在使用的所有页面元数据也是如此(您可以在 zope 管理界面的页面属性选项卡中检查大部分元数据)。特别是页面创建时间、最后编辑时间以及页面创建者和最后编辑者的用户名对于理解您的内容非常重要。因此,我会尝试编写某种方式来保留这些内容,或者如果所有其他方法都失败了,则手动进行。
如果您已将文件上传到 wiki,我认为导出脚本也可能会保存这些文件,否则使用 ZMI 导出/保存它们。当您将它们导入到 mediawiki 时,您可能需要选择一个页面来附加它们。您可以使用 grep 或 Zwiki 的搜索来查找引用特定文件的页面。
准备好迭代,彻底测试结果并完善流程,然后再宣布胜利。之后,内容会出现分歧,您不会想重新这样做。
手动修复:在某些时候,停止摆弄脚本并手动完成剩余的清理工作可能会更便宜,您自己或与一群助手一起完成。
祝你好运! - 西蒙 http://zwiki.org
【讨论】:
我没有 ZWiki 的经验,也不知道您的 wiki 有多大。但是一般建议 - 您可以在记事本或 Notepad++ 中使用查找/替换 - 或者您可以在 Excel 中编写宏。
这是每页复制,仅当您的 wiki 不大于 1000 页时才真正适合。
我怀疑您仍然需要手动检查每个页面,并相应地更新您的脚本。
祝你好运 - 我猜你会对最终结果感到满意,因为 MediaWiki 非常棒。
更新:迁移到新 wiki 的一个缺点是您会丢失页面历史记录(即谁写了什么,什么时候写的)。
【讨论】: