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 ответов

Другие вопросы по тегам