2008-10-13 68 views
3

對於應用程序(*)我正在開發我需要動態生成和靜態頁面的混合。使用wiki很酷,一旦動態頁面第一次被訪問,它就成爲一個靜態頁面,可以像其他任何靜態wiki頁面一樣被用戶註釋。哪個wiki會讓我在點擊鏈接時動態創建一個頁面?

換句話說,我想覆蓋任何輸出消息「這個主題還不存在」(或其他)的東西,a)以wiki格式生成新內容並將其存儲在數據庫中,然後b)解析並顯示該文本。

哦,這應該是遞歸的 - 創建的頁面可能會鏈接到更多動態生成的頁面等等。

我將根據其名稱(包括類別/命名空間信息到某些任意深度)生成動態頁面。最後一件事 - 在批處理腳本的前面創建一些動態頁面(主要是爲了提高性能,因爲這些頁面可能需要一些時間才能生成)也會很好(但不是必需的)。

所以我的問題是哪個wiki軟件最容易修改/寫一個插件來做到這一點? (*)想象一個coredump分析器(想想gdb),在那裏給出一個轉儲列表(可能存儲在某個遠程機器上)。你點擊一個轉儲,它會給你一個線程列表。你點擊一個線程,它給你的堆棧。你點擊一個堆棧框架,它會顯示你的內存。你點擊一個內存的單詞,並在該地址顯示內存頁面等等。

在導航轉儲時,您會添加有關您發現的問題的註釋,以便稍後爲您提供幫助或與可能也在查看轉儲的同事分享。

幾個月後,轉儲可能從遠程計算機上消失(需要大量空間來歸檔所有這些轉儲),但是現在您遇到了類似的問題。在最近轉儲到維基搜索框中輸入堆棧跟蹤中的某個函數名稱,然後檢索有關上一次出現的已保存信息。

更新:感謝所有的答案。我實際上可能會使用MediaWiki。看起來好像我可以創建一個ArticleViewHeader extension,然後可以調用doEdit來創建該頁面,如果它尚不存在。有一個VirtualPage extension似乎做類似的事情。

回答

2

我看過這個用pmwiki完成了。

0

直接回答你的問題是:幾乎所有的OpenSource Wiki都應該易於修改 - 選擇你最熟悉的一個(維基或語言)。

我知道,jspwiki提供此功能開箱即用,如果我正確理解您的問題。它目前在apaches孵化器。檢查JspWiki's Sandbox

1

Perspective是又一個。它是一個基於.Net的開源wiki。

1

Tiddlywiki是最好的wiki之一。下面是如何創建一個tiddly編程

 
var t=store.createTiddler("Hello") 
if (!t) return false; 
var txt=t.text+"something to apdsdsddpend"; 
var who=config.options.txtUserName; 
var when=new Date(); 
store.saveTiddler(t.title,t.title,txt,who,when,t.tags,t.fields);

這將創建一個新的tiddly名稱爲標題打招呼和內容的東西AP ...

,如果你想加入上方開後在編輯模式下的鯫text添加此代碼

 
    var title = notetitle; 
    story.displayTiddler(null, title); 
    config.commands.editTiddler.handler(null, null, title); 

希望它有幫助。

而且tiddywiki接受查詢字符串

例子: http://www.tiddlywiki.com/#open:HelloThere 開:標題打開具有指定標題 開始鯫:安全切換到安全模式 搜索:文本爲指定的文本 標籤搜索:文本顯示用指定標記標記的小提琴 newTiddler:title在編輯中打開指定標題的新提琴 模式 newJournal:titleFormat打開指定的新提琴 DateFormatString:#newJournal:「YYYY MMM DD」

相關問題