applyTemplateListWith :: String              -- ^ String to join template with
                      -> Template Compiler String -- ^ Blaze template
                      -> Context String           -- ^ Hakyll context
                      -> [Item String]            -- ^ List of items
                      -> Compiler String          -- ^ Resulting HTML
applyTemplateListWith delimiter tpl ctx items =
    mapM (applyTemplate tpl ctx) items
    >>= return . intercalate delimiter . map itemBody
applyTemplateListWith :: String              -- ^ String to join template with
                      -> Template Compiler String -- ^ Blaze template
                      -> Context String           -- ^ Hakyll context
                      -> [Item String]            -- ^ List of items
                      -> Compiler String
applyTemplateListWith delimiter tpl ctx items =
    mapM (applyTemplate tpl ctx) items
    >>= return . intercalate delimiter . map itemBody
applyTemplateListWith delimiter tpl ctx items =
    mapM (applyTemplate tpl ctx) items
    >>= return . intercalate delimiter . map itemBody