我正在尝试构建一个有 7 页的网站。每个页面都使用 .markdown 输入定义。在每一页上,我想要一个带有指向所有其他页面的链接的标题。
现在,这似乎是不可能的,因为 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 的上下文。
我想另一种方法是先生成链接,以某种方式存储它们,然后将它们包含在帖子中。但我该怎么做呢?