hoodle-builder 0.2.1 → 0.2.2
raw patch · 2 files changed
+26/−27 lines, 2 filesdep ~blaze-builderdep ~hoodle-typesdep ~strict
Dependency ranges changed: blaze-builder, hoodle-types, strict
Files
- hoodle-builder.cabal +4/−4
- src/Text/Hoodle/Builder.hs +22/−23
hoodle-builder.cabal view
@@ -1,5 +1,5 @@ Name: hoodle-builder-Version: 0.2.1+Version: 0.2.2 Synopsis: text builder for hoodle file format Description: This library builds text xoj format file from hoodle data structure License: BSD3@@ -20,10 +20,10 @@ ghc-prof-options: -caf-all -auto-all Build-Depends: base == 4.*,- hoodle-types >= 0.2.1,+ hoodle-types >= 0.2.2, lens >= 2.5,- blaze-builder == 0.3.*, - strict == 0.3.*, + blaze-builder >= 0.3, + strict >= 0.3, bytestring >= 0.9, double-conversion >= 0.2.0.6
src/Text/Hoodle/Builder.hs view
@@ -1,9 +1,10 @@ {-# LANGUAGE CPP, OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-} ----------------------------------------------------------------------------- -- | -- Module : Text.Hoodle.Builder --- Copyright : (c) 2011, 2012 Ian-Woo Kim+-- Copyright : (c) 2011-2013 Ian-Woo Kim -- -- License : BSD3 -- Maintainer : Ian-Woo Kim <ianwookim@gmail.com>@@ -17,33 +18,26 @@ -- from other packages import Control.Lens import qualified Data.ByteString as S--- import qualified Data.ByteString.Char8 as SC import qualified Data.ByteString.Lazy as L-import Blaze.ByteString.Builder-import Blaze.ByteString.Builder.Char8 (fromChar, fromString)-import Data.Double.Conversion.ByteString +import Data.Foldable (foldMap)+import Blaze.ByteString.Builder+import Blaze.ByteString.Builder.Char8 (fromChar, fromString)+import Data.Double.Conversion.ByteString (toFixed) #if MIN_VERSION_base(4,5,0) -import Data.Monoid hiding ((<>)) +import Data.Monoid hiding ((<>)) #else-import Data.Monoid +import Data.Monoid #endif -import Data.Strict.Tuple+import Data.Strict.Tuple -- from this package -import Data.Hoodle.Simple+import Data.Hoodle.Simple -infixl 4 <> -- | (<>) :: Monoid a => a -> a -> a (<>) = mappend --- | -{- toFixed :: Int -> Double -> S.ByteString-toFixed 2 x = printf "%.2f" x- -- SC.pack . show . (*0.01) . fromIntegral . floor - -- $ x*100-toFixed _ _ = error "undefined toFixed"--}+infixl 4 <> -- | builder :: Hoodle -> L.ByteString@@ -51,7 +45,7 @@ -- | buildHoodle :: Hoodle -> Builder -buildHoodle hdl = fromByteString "<?xml version=\"1.0\" standalone=\"no\"?>\n<hoodle version=\"0.2.1\" id=\""+buildHoodle hdl = fromByteString "<?xml version=\"1.0\" standalone=\"no\"?>\n<hoodle version=\"0.2.1.999\" id=\"" <> fromByteString (view hoodleID hdl) <> fromByteString "\">\n" <> (buildTitle . view title) hdl @@ -68,11 +62,16 @@ -- | buildRevision :: Revision -> Builder -buildRevision rev = fromByteString "<revision revmd5=\""- <> fromByteString (view revmd5 rev)- <> fromByteString "\" revtxt=\""- <> fromByteString (view revtxt rev)- <> fromByteString "\"/>\n"+buildRevision Revision {..} = fromByteString "<revision revmd5=\""+ <> fromByteString _revmd5+ <> fromByteString "\" revtxt=\""+ <> fromByteString _revtxt+ <> fromByteString "\"/>\n"+buildRevision RevisionInk {..} = fromByteString "<revision revmd5=\""+ <> fromByteString _revmd5+ <> fromByteString "\" type=\"ink\">\n"+ <> foldMap buildStroke _revink+ <> fromByteString "</revision>\n" -- | buildEmbeddedPdf :: S.ByteString -> Builder