From 9240d66c1575eb5469c7e3807362955220026c70 Mon Sep 17 00:00:00 2001 From: "Niels G. W. Serup" <ngws@metanohi.name> Date: Sat, 5 Oct 2024 20:28:25 +0200 Subject: [PATCH] Only use concat --- byg/src/DependencyGenerator.hs | 3 +++ byg/src/SiteGenerator.hs | 29 ++++++++++++----------------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/byg/src/DependencyGenerator.hs b/byg/src/DependencyGenerator.hs index 369c42a..c02365e 100644 --- a/byg/src/DependencyGenerator.hs +++ b/byg/src/DependencyGenerator.hs @@ -107,6 +107,9 @@ instance TokenableTo a (Token a) where instance TokenableTo [a] [Token a] where toToken = pure . ListToken +instance TokenableTo [a] [DepGenM' a] where + toToken = fmap ListToken . sequence + instance TokenableTo a (DepGenM' a) where toToken = id diff --git a/byg/src/SiteGenerator.hs b/byg/src/SiteGenerator.hs index 2966cbc..64cda74 100644 --- a/byg/src/SiteGenerator.hs +++ b/byg/src/SiteGenerator.hs @@ -17,15 +17,12 @@ thumbnailImageFilename filename = do makeImageHTML :: Token (FilePath, FilePath) -> DepGenM' Text makeImageHTML t = do (thumbnail, actual) <- untupleDepGenM t - appendTexts - (inject "<p class=\"image\"><a href=\"") - (appendTexts - (toText actual) - (appendTexts - (inject "\"><img src=\"") - (appendTexts - (toText thumbnail) - (inject "\"></a></p>")))) + concatTexts [ inject "<p class=\"image\"><a href=\"" + , toText actual + , inject "\"><img src=\"" + , toText thumbnail + , inject "\"></a></p>" + ] hasExtension :: (TokenableTo [String] a, TokenableTo FilePath b) => a -> b -> DepGenM' Bool hasExtension exts filename = do @@ -53,14 +50,12 @@ handleRecipeDir inputDir outputDir template indexName name = do mdTemplate <- makeTemplate md ingredienserHeadline htmlBodyImages <- mapDepGenM makeImageHTML $ zipDepGenM thumbnailImageFilenames imageFilenames imagesHtml <- concatTexts htmlBodyImages - md' <- applyTemplate mdTemplate ( - appendTexts - (inject "<p class=\"imagetext\">Opskrift fortsætter efter billedet.</p>\n") - (appendTexts - imagesHtml - (appendTexts - (inject "\n\n") - ingredienserHeadline))) + md' <- applyTemplate mdTemplate + $ concatTexts [ inject "<p class=\"imagetext\">Opskrift fortsætter efter billedet.</p>\n" + , pure imagesHtml + , inject "\n\n" + , pure ingredienserHeadline + ] htmlBody <- runPandoc md' html <- applyTemplate template htmlBody saveFile html $ joinPaths recipeDirOut indexName