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 +4/−4
- CHANGES +6/−0
- src/Text/BlogLiterately/Diagrams.hs +12/−13
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)