packages feed

BlogLiterately-diagrams 0.1.4.3 → 0.2

raw patch · 4 files changed

+41/−27 lines, 4 filesdep +JuicyPixelsdep +diagrams-rasterificdep −diagrams-cairodep ~BlogLiteratelydep ~basedep ~diagrams-builder

Dependencies added: JuicyPixels, diagrams-rasterific

Dependencies removed: diagrams-cairo

Dependency ranges changed: BlogLiterately, base, diagrams-builder, diagrams-lib, pandoc

Files

BlogLiterately-diagrams.cabal view
@@ -1,5 +1,5 @@ name:                BlogLiterately-diagrams-version:             0.1.4.3+version:             0.2 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.@@ -61,9 +61,9 @@ license-file:        LICENSE extra-source-files:  CHANGES author:              Brent Yorgey-maintainer:          byorgey@cis.upenn.edu+maintainer:          byorgey@gmail.com bug-reports:         http://github.com/byorgey/BlogLiterately-diagrams/issues-copyright:           Copyright 2012 Brent Yorgey+copyright:           Copyright 2012-2015 Brent Yorgey category:            Web build-type:          Simple cabal-version:       >=1.10@@ -75,22 +75,24 @@ library   default-language:    Haskell2010   exposed-modules:     Text.BlogLiterately.Diagrams-  build-depends:       base >= 4.3 && < 4.8,+  build-depends:       base >= 4.3 && < 4.9,                        containers,                        filepath,                        directory,-                       diagrams-cairo >= 1.0.1 && < 1.3,-                       diagrams-builder >= 0.5 && < 0.7,-                       diagrams-lib >= 1.0.1 && < 1.3,-                       BlogLiterately >= 0.6 && < 0.8,-                       pandoc >= 1.9 && < 1.13,+                       diagrams-lib        >= 1.3 && < 1.4,+                       diagrams-rasterific >= 1.3 && < 1.4,+                       JuicyPixels         >= 3.2 && < 3.3,+                       diagrams-builder    >= 0.5 && < 0.8,+                       BlogLiterately      >= 0.6 && < 0.9,+                       pandoc              >= 1.9 && < 1.15,                        safe ==0.3.*   hs-source-dirs:      src  executable BlogLiteratelyD   build-depends:       base,-                       BlogLiterately >= 0.6 && < 0.8,+                       BlogLiterately >= 0.6 && < 0.9,                        BlogLiterately-diagrams   main-is:             BlogLiteratelyD.hs   hs-source-dirs:      src/tools   default-language:    Haskell2010+  ghc-options:         -threaded
CHANGES view
@@ -1,3 +1,9 @@+* 0.2 (7 May 2015)++  - Switch from diagrams-cairo to diagrams-rasterific+  - Update to diagrams-1.3+  - Allow base-4.8+ * 0.1.4.3 (5 June 2014)    - Allow diagrams-lib-1.2
src/Text/BlogLiterately/Diagrams.hs view
@@ -20,17 +20,17 @@     ( diagramsXF, diagramsInlineXF     ) where -import           Safe                            (readMay)-import           System.Directory                (createDirectoryIfMissing)+import           Safe                        (readMay)+import           System.Directory            (createDirectoryIfMissing) import           System.FilePath-import           System.IO                       (hPutStrLn, stderr)+import           System.IO                   (hPutStrLn, stderr) -import           Diagrams.Backend.Cairo-import           Diagrams.Backend.Cairo.Internal-import qualified Diagrams.Builder                as DB-import           Diagrams.Prelude                (centerXY, pad, zeroV, (&),-                                                  (.~))-import           Diagrams.TwoD.Size              (mkSizeSpec)+import qualified Codec.Picture               as J+import           Diagrams.Backend.Rasterific+import qualified Diagrams.Builder            as DB+import           Diagrams.Prelude            (SizeSpec, V2, centerXY, pad, zero,+                                              (&), (.~))+import           Diagrams.TwoD.Size          (mkSizeSpec2D) import           Text.BlogLiterately import           Text.Pandoc @@ -102,16 +102,17 @@ renderDiagram shouldPad decls expr (_ident, _cls, fields) = do     createDirectoryIfMissing True diaDir -    let bopts = DB.mkBuildOpts Cairo zeroV (CairoOptions "default.png" size PNG False)+    let bopts = DB.mkBuildOpts Rasterific zero (RasterificOptions sz)                   & DB.snippets .~ decls-                  & DB.imports  .~ ["Diagrams.Backend.Cairo"]+                  & DB.imports  .~ ["Diagrams.Backend.Rasterific"]                   & DB.diaExpr  .~ expr                   & DB.postProcess .~ (if shouldPad then pad 1.1 . centerXY else id)                   & DB.decideRegen .~                       (DB.hashedRegenerate-                        (\hash opts -> opts & cairoFileName .~ mkFile hash)+                        (\_ opts -> opts)                         diaDir                       )+     res <- DB.buildDiagram bopts      case res of@@ -123,13 +124,17 @@         let errStr = "\nInterpreter error:\n" ++ DB.ppInterpError ierr         putErrLn errStr         return (Left errStr)-      DB.Skipped hash    ->        return (Right $ mkFile (DB.hashToHexStr hash))-      DB.OK hash (act,_) -> act >> return (Right $ mkFile (DB.hashToHexStr hash))+      DB.Skipped hash    -> return (Right $ mkFile (DB.hashToHexStr hash))+      DB.OK hash img     -> do+        let imgFile = mkFile (DB.hashToHexStr hash)+        J.savePngImage imgFile (J.ImageRGBA8 img)+        return (Right imgFile)    where-    size        = mkSizeSpec-                    (lookup "width" fields >>= readMay)-                    (lookup "height" fields >>= readMay)+    sz :: SizeSpec V2 Double+    sz        = mkSizeSpec2D+                  (lookup "width" fields >>= readMay)+                  (lookup "height" fields >>= readMay)     mkFile base = diaDir </> base <.> "png"  renderBlockDiagram :: [String] -> Block -> IO Block
src/tools/BlogLiteratelyD.hs view
@@ -1,5 +1,6 @@ import           Text.BlogLiterately import           Text.BlogLiterately.Diagrams +main :: IO () main = blogLiteratelyCustom   (diagramsInlineXF : diagramsXF : standardTransforms)