Merge pull request #296 from MaxDaten/feature/binary-pandoc-csl

added binary instances, fix #174
This commit is contained in:
Jasper Van der Jeugt 2014-09-08 19:18:18 +02:00
commit 5553fe2a4d
3 changed files with 38 additions and 2 deletions

View file

@ -137,6 +137,7 @@ Library
Hakyll.Core.Util.File
Hakyll.Core.Util.Parser
Hakyll.Web.Template.Internal
Hakyll.Web.Pandoc.Binary
Paths_hakyll
Build-Depends:

View file

@ -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
--------------------------------------------------------------------------------

View file

@ -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