3

对于我正在开发的应用程序 (*),我需要动态生成的页面和静态页面的混合。使用 wiki 会很酷,这样一旦第一次访问动态页面,它就会变成一个静态页面,用户可以像任何其他静态 wiki 页面一样对其进行注释。

换句话说,我想用 a) 生成 wiki 格式的新内容并将其存储在数据库中,然后 b) 解析并显示该文本.

哦,这应该是递归的——创建的页面可能有链接到更动态生成的页面等等。

我将根据其名称生成动态页面(包括任意深度的类别/命名空间信息)。

最后一件事 - 通过批处理脚本预先创建一些动态页面也很好(但不是必需的)(主要是为了性能,因为这些页面可能需要一些时间来生成)。

所以我的问题是哪个 wiki 软件最容易修改/编写插件来做到这一点?

(*) 想象一个 coredump 分析器(想想 gdb),您会看到一个转储列表(可能存储在某个远程机器上)。您单击转储,它会为您提供线程列表。您单击一个线程,它会为您提供堆栈。您单击堆栈帧,它会显示内存。您单击一个内存字,它会显示该地址处的内存页面,依此类推。

当您浏览转储时,您会添加有关您发现的问题的注释,以便以后为您提供帮助或与可能也在查看转储的同事分享。

几个月后,转储可能已经从远程机器上消失了(需要大量空间来归档所有这些转储),但现在您遇到了类似的问题。您将最近转储中的堆栈跟踪中的一个函数名称输入到 wiki 搜索框中,然后检索有关上一次事件的保存信息。

更新:感谢所有答案。我实际上可能会选择 MediaWiki。看起来我可以创建一个ArticleViewHeader 扩展,然后可以调用doEdit来创建页面(如果它尚不存在)。有一个VirtualPage 扩展似乎可以做类似的事情。

4

6 回答 6

2

我已经看到用pmwiki完成了这个。

于 2008-10-13T07:37:57.607 回答
1

透视是另一种。这是一个基于 .Net 的开源 wiki。

于 2008-10-15T08:46:50.150 回答
1

我觉得tiddlyWiki相当有趣

于 2008-10-13T08:16:04.987 回答
1

Trac也这样做。

于 2008-10-13T10:44:55.530 回答
1

Tiddlywiki 是最好的 wiki 之一。以下是如何以编程方式创建一个整洁的

var t=store.createTiddler("你好")
如果(!t)返回假;
var txt=t.text+"要 apdsdsddpend 的东西";
var who=config.options.txt用户名;
var when=new Date();
store.saveTiddler(t.title,t.title,txt,who,when,t.tags,t.fields);

这将创建一个新的 tiddly,名称为 hello,内容为 ap...

如果您想在添加上述文本后以编辑模式打开 tiddler,请添加此代码

     var 标题 = 注释标题;
     story.displayTiddler(null, title);
     config.commands.editTiddler.handler(null, null, title);

希望能帮助到你。

tiddywiki 也接受查询字符串

示例: http ://www.tiddlywiki.com/#open:HelloThere open:title 打开具有指定标题的 tiddler start:safe 切换到安全模式 search:text 搜索指定的文本 tag:text 显示标记为的 tiddler指定标签 newTiddler:title 在编辑模式下打开一个具有指定标题的新 tiddler newJournal:titleFormat 打开一个具有指定 DateFormatString: #newJournal:"YYYY MMM DD" 的新 tiddler

于 2011-06-25T20:24:56.170 回答
0

您的问题的直接答案是:几乎所有开源 Wiki 都应该易于修改 - 选择您最熟悉的(wiki 或语言)。

我知道如果我正确理解了您的问题,jspwiki会开箱即用地提供此功能。它目前在 apaches 孵化器中。检查JspWiki 的 Sandbox

于 2008-10-13T07:41:21.280 回答