[英]DocPad: How do I prevent clashing of render-plugins?
我正在為DocPad編寫我的第一個插件,我真的很喜歡這個過程,因為它實際上非常直觀。
我的插件使用shortcode-parser解析markdown文檔中的短代碼。
DocPad的標記插件將"
轉換為"
,這完全是預期的行為。但是,這使我的插件中斷了,因為原來的[tagname attribute="some value"]
變成了[tagname attribute="some value"]
。
已經有一個可以處理短代碼的插件了。 通過使用文件擴展名可以避免此問題。 我編寫自己的插件的原因是(除了學習DocPad之外),我不想為了啟用我的插件而不得不向數百個文檔添加文件擴展名。
除了使用文件擴展名來防止渲染插件沖突之外,還有其他替代方法嗎? 例如,如果有一個配置屬性來指定渲染插件的執行順序–我認為這是一個很好的解決方案。
我只是使用擴展名。 如果有人感興趣,可以在這里找到生成的插件: https : //github.com/maximilianschmitt/docpad-plugin-shortcodeparser
如果有人有解決此問題的更好的主意,請告訴我!
我認為擁有一個可以提供預定義管道的插件會很方便。
例如:
docpadConfig = {
plugins:
PLUGIN:
main: '.html.md.eco'
}
使用具有擴展名.main
此插件文檔,可以將其視為具有擴展名'.html.md.eco'的文檔。
不確定,但是也許可以通過如下查詢替換管道:
docpadConfig = {
collections:
_main: ->
@getCollection('html').findAllLive({extension:'main', }).on 'add', (model) ->
model.setMeta({extensions:['html', 'md', 'eco']})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.