mirror of
https://github.com/ilyakooo0/hakyll.git
synced 2024-10-06 09:17:15 +03:00
added binary instances for csl and pandoc, fix #174
This commit is contained in:
parent
f1c21c79f5
commit
3008142e03
@ -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:
|
||||
|
@ -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
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
31
src/Hakyll/Web/Pandoc/Binary.hs
Normal file
31
src/Hakyll/Web/Pandoc/Binary.hs
Normal 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
|
Loading…
Reference in New Issue
Block a user