Hakyll模板行列表

时间:2017-08-27 20:52:37

标签: haskell hakyll

我正在将我的博客移至hakyll。

在索引页面的网页设计中,有水平行,每行有3个帖子预览。 Css / js是以这样的方式制作的,我最好填充这一行而不是我拥有的所有帖子,允许它们自动流动,但我最好将帖子列表剪切为每个帖子中的3个帖子并生成单独的行每个块有3个帖子。

所以而不是

- row
   - col-sm-4 - col-sm-4 - col-sm-4
   - col-sm-4 ...

我想要

- row
   - col-sm-4 - col-sm-4 - col-sm-4
- row
   - col-sm-4 - col-sm-4 - col-sm-4
...

在我的site.hs我有很典型的

match "blog.html" $ do
  route cleanRoute
  compile $ do
    posts <- recentFirst =<< loadAll "posts/**"
    let indexCtx =
            listField "posts" postCtxWithCat (return posts) `mappend`
            favCtx

    getResourceBody
      >>= applyAsTemplate indexCtx
      >>= loadAndApplyTemplate "templates/default.html" indexCtx
      >>= relativizeUrls
      >>= cleanIndexUrls

现在我想把帖子剪成3块。

    posts <- recentFirst =<< loadAll "posts/**"
    let postsBy3 = chunksOf 3 posts -- from split package

但是如何将此postsBy3 :: [[Item String]]进一步提供给模板以及如何使用它......是一个很大的问题。

刚做

listField "postsBy3" postCtxWithCat (return postsBy3) `mappend`...

显然是类型不匹配。

卡住。

0 个答案:

没有答案