对于我正在开发的应用程序 (*),我需要动态生成的页面和静态页面的混合。使用 wiki 会很酷,这样一旦第一次访问动态页面,它就会变成一个静态页面,用户可以像任何其他静态 wiki 页面一样对其进行注释。
换句话说,我想用 a) 生成 wiki 格式的新内容并将其存储在数据库中,然后 b) 解析并显示该文本.
哦,这应该是递归的——创建的页面可能有链接到更动态生成的页面等等。
我将根据其名称生成动态页面(包括任意深度的类别/命名空间信息)。
最后一件事 - 通过批处理脚本预先创建一些动态页面也很好(但不是必需的)(主要是为了性能,因为这些页面可能需要一些时间来生成)。
所以我的问题是哪个 wiki 软件最容易修改/编写插件来做到这一点?
(*) 想象一个 coredump 分析器(想想 gdb),您会看到一个转储列表(可能存储在某个远程机器上)。您单击转储,它会为您提供线程列表。您单击一个线程,它会为您提供堆栈。您单击堆栈帧,它会显示内存。您单击一个内存字,它会显示该地址处的内存页面,依此类推。
当您浏览转储时,您会添加有关您发现的问题的注释,以便以后为您提供帮助或与可能也在查看转储的同事分享。
几个月后,转储可能已经从远程机器上消失了(需要大量空间来归档所有这些转储),但现在您遇到了类似的问题。您将最近转储中的堆栈跟踪中的一个函数名称输入到 wiki 搜索框中,然后检索有关上一次事件的保存信息。
更新:感谢所有答案。我实际上可能会选择 MediaWiki。看起来我可以创建一个ArticleViewHeader 扩展,然后可以调用doEdit来创建页面(如果它尚不存在)。有一个VirtualPage 扩展似乎可以做类似的事情。