packages feed

BlogLiterately-diagrams 0.3 → 0.3.1

raw patch · 3 files changed

+22/−17 lines, 3 filesdep ~basedep ~pandocPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, pandoc

API changes (from Hackage documentation)

Files

BlogLiterately-diagrams.cabal view
@@ -1,5 +1,5 @@ name:                BlogLiterately-diagrams-version:             0.3+version:             0.3.1 synopsis:            Include images in blog posts with inline diagrams code description:         A plugin for @BlogLiterately@ (<http://hackage.haskell.org/package/BlogLiterately>) which turns inline diagrams                      code into images.@@ -67,7 +67,7 @@ category:            Web build-type:          Simple cabal-version:       1.18-tested-with:         GHC ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.1+tested-with:         GHC ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.7 || ==9.4.5  source-repository head   type:     git@@ -76,7 +76,7 @@ library   default-language:    Haskell2010   exposed-modules:     Text.BlogLiterately.Diagrams-  build-depends:       base >= 4.3 && < 4.17,+  build-depends:       base >= 4.3 && < 4.18,                        containers,                        filepath,                        directory,@@ -85,7 +85,7 @@                        JuicyPixels         >= 3.2 && < 3.4,                        diagrams-builder    >= 0.5 && < 0.9,                        BlogLiterately      >= 0.8.7 && < 0.9,-                       pandoc              >= 2.8 && < 2.19,+                       pandoc              >= 2.19.1 && < 3.2,                        safe                ==0.3.*,                        split               >= 0.2 && < 0.3,                        text                >= 1.2 && < 2.1
CHANGES view
@@ -1,3 +1,9 @@+* 0.3.1 (22 Aug 2023)++  - allow `base-4.17` / GHC 9.4+  - Update to work with `pandoc` up through 3.1+  - Require at least `pandoc` 2.19.1+ * 0.3 (24 May 2022)    - allow `base-4.16`
src/Text/BlogLiterately/Diagrams.hs view
@@ -152,29 +152,28 @@     diaDir = fromMaybe "diagrams" mdir     mkFile base = diaDir </> base <.> "png" -renderBlockDiagram :: Maybe FilePath -> Maybe (SizeSpec V2 Double) -> [Text] -> Block -> IO Block-renderBlockDiagram ximgDir ximgSize defs c@(CodeBlock attr@(_, cls, fields) s)-    | "dia-def" `elem` classTags = return Null+renderBlockDiagram :: Maybe FilePath -> Maybe (SizeSpec V2 Double) -> [Text] -> [Block] -> IO [Block]+renderBlockDiagram ximgDir ximgSize defs blocks = concat <$> mapM renderOne blocks+ where+  renderOne c@(CodeBlock attr@(_, cls, fields) s)+    | "dia-def" `elem` classTags = return []     | "dia"     `elem` classTags = do         res <- renderDiagram True (src : defs) "dia" (attrToSize fields) Nothing         case res of-          Left  err      -> return (CodeBlock attr (T.append s err))+          Left  err      -> return [CodeBlock attr (T.append s err)]           Right fileName -> do             case (ximgDir, ximgSize) of               (Just _, Just sz) -> do                 _ <- renderDiagram True (src : defs) "dia" sz ximgDir                 return ()               _                 -> return ()-            return $ Para [Image nullAttr [] (T.pack fileName, "")]--    | otherwise = return c--  where-    (tag, src)        = unTag s-    classTags         = (maybe id (:) tag) cls-+            return [Para [Image nullAttr [] (T.pack fileName, "")]]+    | otherwise = return [c] -renderBlockDiagram _ _ _ b = return b+    where+      (tag, src) = unTag s+      classTags  = (maybe id (:) tag) cls+  renderOne b = return [b]  renderInlineDiagram :: [Text] -> Inline -> IO Inline renderInlineDiagram defs c@(Code attr@(_, cls, fields) expr)