on master help sign in
Merge pull request #296 from MaxDaten/feature/binary-pandoc-csl
5553fe2Jasper Van der Jeugt
hakyll.cabal+1
@@ -137,6 +137,7 @@ Library
137 Hakyll.Core.Util.File
137 Hakyll.Core.Util.File
138 Hakyll.Core.Util.Parser
138 Hakyll.Core.Util.Parser
139 Hakyll.Web.Template.Internal
139 Hakyll.Web.Template.Internal
140+ Hakyll.Web.Pandoc.Binary
140 Paths_hakyll
141 Paths_hakyll
141
142
142 Build-Depends:
143 Build-Depends:
src/Hakyll/Web/Pandoc/Biblio.hs+6−2
@@ -21,6 +21,7 @@ module Hakyll.Web.Pandoc.Biblio
21
21
22--------------------------------------------------------------------------------
22--------------------------------------------------------------------------------
23import Control.Applicative ((<$>))
23import Control.Applicative ((<$>))
24+import Control.Monad (replicateM)
24import Data.Binary (Binary (..))
25import Data.Binary (Binary (..))
25import Data.Typeable (Typeable)
26import Data.Typeable (Typeable)
26import qualified Text.CSL as CSL
27import qualified Text.CSL as CSL
@@ -33,6 +34,7 @@ import Hakyll.Core.Identifier
33import Hakyll.Core.Item
34import Hakyll.Core.Item
34import Hakyll.Core.Writable
35import Hakyll.Core.Writable
35import Hakyll.Web.Pandoc
36import Hakyll.Web.Pandoc
37+import Hakyll.Web.Pandoc.Binary ()
36
38
37
39
38--------------------------------------------------------------------------------
40--------------------------------------------------------------------------------
@@ -65,8 +67,10 @@ newtype Biblio = Biblio [CSL.Reference]
65--------------------------------------------------------------------------------
67--------------------------------------------------------------------------------
66instance Binary Biblio where
68instance Binary Biblio where
67 -- Ugly.
69 -- Ugly.
68− get = Biblio . read <$> get
70+ get = do
71+ len <- get
72+ Biblio <$> replicateM len get
69− put (Biblio rs) = put $ show rs
73+ put (Biblio rs) = put (length rs) >> mapM_ put rs
70
74
71
75
72--------------------------------------------------------------------------------
76--------------------------------------------------------------------------------
src/Hakyll/Web/Pandoc/Binary.hsnew file+31
@@ -0,0 +1,31 @@
1+{-# OPTIONS_GHC -fno-warn-orphans #-}
2+{-# LANGUAGE DeriveGeneric #-}
3+module Hakyll.Web.Pandoc.Binary where
4+
5+import Data.Binary (Binary (..))
6+
7+import qualified Text.CSL as CSL
8+import qualified Text.CSL.Reference as REF
9+import qualified Text.CSL.Style as STY
10+import Text.Pandoc
11+
12+--------------------------------------------------------------------------------
13+-- orphans
14+
15+instance Binary REF.CNum
16+instance Binary REF.Literal
17+instance Binary REF.RefDate
18+instance Binary REF.RefType
19+instance Binary STY.Agent
20+instance Binary STY.Formatted
21+instance Binary Inline
22+instance Binary Block
23+instance Binary Citation
24+instance Binary MathType
25+instance Binary Alignment
26+instance Binary CitationMode
27+instance Binary QuoteType
28+instance Binary Format
29+instance Binary ListNumberDelim
30+instance Binary ListNumberStyle
31+instance Binary CSL.Reference