@@ -51,10 +51,16 @@ import Data.Typeable (Typeable)
5151import GHC.Generics (Generic)
5252import Text.Pandoc.Shared (safeRead)
5353import Text.Parsec
54+import Data.Aeson (ToJSON(..), FromJSON(..),
55+ genericToEncoding, defaultOptions)
5456
5557newtype Extensions = Extensions Integer
5658 deriving (Show, Read, Eq, Ord, Data, Typeable, Generic)
5759
60+instance ToJSON Extensions where
61+ toEncoding = genericToEncoding defaultOptions
62+instance FromJSON Extensions
63+
5864instance Monoid Extensions where
5965 mempty = Extensions 0
6066 mappend (Extensions a) (Extensions b) = Extensions (a .|. b)
@@ -148,6 +154,10 @@ data Extension =
148154 | Ext_spaced_reference_links -- ^ Allow space between two parts of ref link
149155 deriving (Show, Read, Enum, Eq, Ord, Bounded, Data, Typeable, Generic)
150156
157+instance ToJSON Extension where
158+ toEncoding = genericToEncoding defaultOptions
159+instance FromJSON Extension
160+
151161-- | Extensions to be used with pandoc-flavored markdown.
152162pandocExtensions :: Extensions
153163pandocExtensions = extensionsFromList