2013-06-18 54 views
0

我目前正在編寫一個小Docpad插件,將文件contentRenderedWithoutLayouts輸出到.html版本旁邊的單獨.json文件中,以便稍後通過ajax請求加載它。如何檢測最後一個Docpad渲染通道?

該插件通過覆蓋Baseplugin的render:(opts) - >方法並執行一些檢查來檢查我們是否呈現文檔和html。

我現在注意到這個方法被多次調用了一些文件,這似乎是渲染關聯。那麼,如何檢測每個文檔的最終渲染過程以避免每次渲染多次寫入.json?

非常感謝

-

編輯: 發現後,再看看Docpads事件列表中的答案:http://docpad.org/docs/events

writeAfter活動是爲了得到最後的數據,並有正確的地方輸出目錄樹設置,所以我可以把我的.json文件放在.html旁邊。

如果你有興趣在這裏找到插件:https://github.com/field/docpad-plugin-jsonfragment

+0

甜!很高興你把事情解決了。你可以將你的答案作爲答案而不是你的問題的一部分嗎?這樣人們會清楚地知道它已經解決了。乾杯:) – balupton

回答

0

這另一種方法是使用serverExtend事件,並寫入檢測一個路由器,如果它是一個Ajax請求(IS_XHR頭的所有腦幹),然後從中發送必要的json數據。這將需要您的主機平臺支持node.js,因爲您將使用docpad服務器。