Safe Haskell | None |
---|---|
Language | Haskell2010 |
Citeproc.CslJson
Description
CSL JSON is the structured text format defined in
https://citeproc-js.readthedocs.io/en/latest/csl-json/markup.html.
It is used to represent formatted text inside CSL JSON bibliographies.
For the most part it is a subset of HTML, with some special
features like smart quote parsing. This module defines a parser
and a renderer for this format, as well as CiteprocOutput
and
other typeclass instances.
Synopsis
- data CslJson a
- = CslText a
- | CslEmpty
- | CslConcat (CslJson a) (CslJson a)
- | CslQuoted (CslJson a)
- | CslItalic (CslJson a)
- | CslNormal (CslJson a)
- | CslBold (CslJson a)
- | CslUnderline (CslJson a)
- | CslNoDecoration (CslJson a)
- | CslSmallCaps (CslJson a)
- | CslBaseline (CslJson a)
- | CslSup (CslJson a)
- | CslSub (CslJson a)
- | CslNoCase (CslJson a)
- | CslDiv Text (CslJson a)
- | CslLink Text (CslJson a)
- cslJsonToJson :: CslJson Text -> [Value]
- renderCslJson :: Bool -> Locale -> CslJson Text -> Text
- parseCslJson :: Locale -> Text -> CslJson Text
Documentation
Constructors
CslText a | |
CslEmpty | |
CslConcat (CslJson a) (CslJson a) | |
CslQuoted (CslJson a) | |
CslItalic (CslJson a) | |
CslNormal (CslJson a) | |
CslBold (CslJson a) | |
CslUnderline (CslJson a) | |
CslNoDecoration (CslJson a) | |
CslSmallCaps (CslJson a) | |
CslBaseline (CslJson a) | |
CslSup (CslJson a) | |
CslSub (CslJson a) | |
CslNoCase (CslJson a) | |
CslDiv Text (CslJson a) | |
CslLink Text (CslJson a) |
Instances
Functor CslJson Source # | |
Foldable CslJson Source # | |
Defined in Citeproc.CslJson Methods fold :: Monoid m => CslJson m -> m foldMap :: Monoid m => (a -> m) -> CslJson a -> m foldMap' :: Monoid m => (a -> m) -> CslJson a -> m foldr :: (a -> b -> b) -> b -> CslJson a -> b foldr' :: (a -> b -> b) -> b -> CslJson a -> b foldl :: (b -> a -> b) -> b -> CslJson a -> b foldl' :: (b -> a -> b) -> b -> CslJson a -> b foldr1 :: (a -> a -> a) -> CslJson a -> a foldl1 :: (a -> a -> a) -> CslJson a -> a elem :: Eq a => a -> CslJson a -> Bool maximum :: Ord a => CslJson a -> a minimum :: Ord a => CslJson a -> a | |
Traversable CslJson Source # | |
FromJSON (CslJson Text) Source # | |
Defined in Citeproc.CslJson Methods parseJSON :: Value -> Parser (CslJson Text) parseJSONList :: Value -> Parser [CslJson Text] omittedField :: Maybe (CslJson Text) | |
ToJSON (CslJson Text) Source # | |
Defined in Citeproc.CslJson Methods toJSON :: CslJson Text -> Value toEncoding :: CslJson Text -> Encoding toJSONList :: [CslJson Text] -> Value toEncodingList :: [CslJson Text] -> Encoding | |
CiteprocOutput (CslJson Text) Source # | |
Defined in Citeproc.CslJson Methods toText :: CslJson Text -> Text Source # fromText :: Text -> CslJson Text Source # dropTextWhile :: (Char -> Bool) -> CslJson Text -> CslJson Text Source # dropTextWhileEnd :: (Char -> Bool) -> CslJson Text -> CslJson Text Source # addFontVariant :: FontVariant -> CslJson Text -> CslJson Text Source # addFontStyle :: FontStyle -> CslJson Text -> CslJson Text Source # addFontWeight :: FontWeight -> CslJson Text -> CslJson Text Source # addTextDecoration :: TextDecoration -> CslJson Text -> CslJson Text Source # addVerticalAlign :: VerticalAlign -> CslJson Text -> CslJson Text Source # addTextCase :: Maybe Lang -> TextCase -> CslJson Text -> CslJson Text Source # addDisplay :: DisplayStyle -> CslJson Text -> CslJson Text Source # addQuotes :: CslJson Text -> CslJson Text Source # movePunctuationInsideQuotes :: CslJson Text -> CslJson Text Source # inNote :: CslJson Text -> CslJson Text Source # mapText :: (Text -> Text) -> CslJson Text -> CslJson Text Source # addHyperlink :: Text -> CslJson Text -> CslJson Text Source # localizeQuotes :: Locale -> CslJson Text -> CslJson Text Source # | |
Monoid (CslJson a) Source # | |
Semigroup (CslJson a) Source # | |
Show a => Show (CslJson a) Source # | |
Eq a => Eq (CslJson a) Source # | |
Ord a => Ord (CslJson a) Source # | |
Defined in Citeproc.CslJson | |
Uniplate (CslJson a) Source # | |
Biplate (CslJson a) (CslJson a) Source # | |
cslJsonToJson :: CslJson Text -> [Value] Source #
Render CslJson
as Text
. Set the first parameter to True
when rendering HTML output (so that entities are escaped).
Set it to False when rendering for CSL JSON bibliographies.
parseCslJson :: Locale -> Text -> CslJson Text Source #