2
我正在嘗試構建一個包含7個頁面的站點。每個頁面都使用.markdown輸入定義。在每個頁面上,我想要一個包含所有其他頁面鏈接的標題。Hakyll說:「檢測到依賴週期:...」
現在,這似乎是不可能的,因爲Hakyll告訴我,我有一個遞歸依賴項。
[ERROR] Hakyll.Core.Runtime.chase: Dependency cycle detected: posts/page1.markdown depends on posts/page1.markdown
我已經確定了這個片段的遞歸依賴關係。
match "posts/*" $ do
route $ setExtension "html"
compile $ do
posts <- loadAll "posts/*"
let indexCtx =
listField "posts" postCtx (return posts) `mappend`
constField "title" "Home" `mappend`
defaultContext
pandocCompiler >>= loadAndApplyTemplate "templates/post.html" indexCtx
>>= loadAndApplyTemplate "templates/default.html" indexCtx
>>= relativizeUrls
我想問題是,我不允許在相同的模板上匹配做一個負載。
那麼如何構建一個listField的上下文,以便在生成帖子時使用所有帖子。
我想一個替代方法是首先生成鏈接,以某種方式存儲它們,然後將它們包含在帖子中。但我該怎麼做?
它應該可能是hasVersion而不是setVersion,對吧? – nesqi
@nesqi抱歉,修正。 – zakyggaps
鑑於「titleLine」版本使用相同的路由,URL將是正確的。 – nesqi