diff options
author | Jan-Philip Loos <maxdaten@gmail.com> | 2014-09-08 16:04:30 +0200 |
---|---|---|
committer | Jan-Philip Loos <maxdaten@gmail.com> | 2014-09-08 16:04:30 +0200 |
commit | 3008142e03a0fb4f2cfa82ad9d81990d54d35e01 (patch) | |
tree | 73c61ecf6d5c8989ffb4a3e326da4ac31e679b99 /src/Hakyll/Web/Pandoc | |
parent | f1c21c79f5f40cb41c227f788ecce007001c2890 (diff) | |
download | hakyll-3008142e03a0fb4f2cfa82ad9d81990d54d35e01.tar.gz |
added binary instances for csl and pandoc, fix #174
Diffstat (limited to 'src/Hakyll/Web/Pandoc')
-rw-r--r-- | src/Hakyll/Web/Pandoc/Biblio.hs | 8 | ||||
-rw-r--r-- | src/Hakyll/Web/Pandoc/Binary.hs | 31 |
2 files changed, 37 insertions, 2 deletions
diff --git a/src/Hakyll/Web/Pandoc/Biblio.hs b/src/Hakyll/Web/Pandoc/Biblio.hs index 6c92f28..c8f075d 100644 --- a/src/Hakyll/Web/Pandoc/Biblio.hs +++ b/src/Hakyll/Web/Pandoc/Biblio.hs @@ -21,6 +21,7 @@ module Hakyll.Web.Pandoc.Biblio -------------------------------------------------------------------------------- import Control.Applicative ((<$>)) +import Control.Monad (replicateM) import Data.Binary (Binary (..)) import Data.Typeable (Typeable) import qualified Text.CSL as CSL @@ -33,6 +34,7 @@ import Hakyll.Core.Identifier import Hakyll.Core.Item import Hakyll.Core.Writable import Hakyll.Web.Pandoc +import Hakyll.Web.Pandoc.Binary () -------------------------------------------------------------------------------- @@ -65,8 +67,10 @@ newtype Biblio = Biblio [CSL.Reference] -------------------------------------------------------------------------------- instance Binary Biblio where -- Ugly. - get = Biblio . read <$> get - put (Biblio rs) = put $ show rs + get = do + len <- get + Biblio <$> replicateM len get + put (Biblio rs) = put (length rs) >> mapM_ put rs -------------------------------------------------------------------------------- diff --git a/src/Hakyll/Web/Pandoc/Binary.hs b/src/Hakyll/Web/Pandoc/Binary.hs new file mode 100644 index 0000000..ec75f77 --- /dev/null +++ b/src/Hakyll/Web/Pandoc/Binary.hs @@ -0,0 +1,31 @@ +{-# OPTIONS_GHC -fno-warn-orphans #-} +{-# LANGUAGE DeriveGeneric #-} +module Hakyll.Web.Pandoc.Binary where + +import Data.Binary (Binary (..)) + +import qualified Text.CSL as CSL +import qualified Text.CSL.Reference as REF +import qualified Text.CSL.Style as STY +import Text.Pandoc + +-------------------------------------------------------------------------------- +-- orphans + +instance Binary REF.CNum +instance Binary REF.Literal +instance Binary REF.RefDate +instance Binary REF.RefType +instance Binary STY.Agent +instance Binary STY.Formatted +instance Binary Inline +instance Binary Block +instance Binary Citation +instance Binary MathType +instance Binary Alignment +instance Binary CitationMode +instance Binary QuoteType +instance Binary Format +instance Binary ListNumberDelim +instance Binary ListNumberStyle +instance Binary CSL.Reference |