citeproc-0.8.1: Generates citations and bibliography from CSL styles.

Safe Haskell | Safe-Inferred
Language | Haskell2010

Citeproc

Description

Process citations using the formatting instructions encoded in a CSL stylesheet. The library targets version 1.0.1 of the CSL spec: https://docs.citationstyles.org/en/stable/specification.html

Synopsis

- module Citeproc.Types
- module Citeproc.Style
- module Citeproc.Locale
- citeproc :: CiteprocOutput a => CiteprocOptions -> Style a -> Maybe Lang -> [Reference a] -> [Citation a] -> Result a
- data Result a = Result {
  - resultCitations :: [a]
  - resultBibliography :: [(Text, a)]
  - resultWarnings :: [Text]
  }

# Documentation

module Citeproc.Types

module Citeproc.Style

module Citeproc.Locale

citeproc Source #

Arguments

:: CiteprocOutput a |
=> CiteprocOptions | Rendering options
-> Style a | Parsed CSL style
-> Maybe Lang | Overrides default locale for style
-> [Reference a] | List of references (bibliographic data)
-> [Citation a] | List of citations to process
-> Result a |

Process a list of `Citation`s, producing formatted citations and a bibliography according to the rules of a CSL `Style`. If a `Lang` is specified, override the style's default locale. To obtain a `Style` from an XML stylesheet, use `parseStyle` from Citeproc.Style.

data Result a Source #

Result of citation processing.

Constructors

Result |

Fields

- resultCitations :: [a]

  List of formatted citations corresponding to the citations given to `citeproc`

- resultBibliography :: [(Text, a)]

  List of formatted bibliography entries (if the style calls for a bibliography), each a pair consisting of the item identifier and the formatted entry

- resultWarnings :: [Text]

  Warnings from citation processing

#### Instances

Instances details

Foldable Result Source # |

Instance details

Defined in Citeproc.Types

Methods

fold :: Monoid m => Result m -> m Source #

foldMap :: Monoid m => (a -> m) -> Result a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Result a -> m Source #

foldr :: (a -> b -> b) -> b -> Result a -> b Source #

foldr' :: (a -> b -> b) -> b -> Result a -> b Source #

foldl :: (b -> a -> b) -> b -> Result a -> b Source #

foldl' :: (b -> a -> b) -> b -> Result a -> b Source #

foldr1 :: (a -> a -> a) -> Result a -> a Source #

foldl1 :: (a -> a -> a) -> Result a -> a Source #

toList :: Result a -> [a] Source #

null :: Result a -> Bool Source #

length :: Result a -> Int Source #

elem :: Eq a => a -> Result a -> Bool Source #

maximum :: Ord a => Result a -> a Source #

minimum :: Ord a => Result a -> a Source #

sum :: Num a => Result a -> a Source #

product :: Num a => Result a -> a Source #

Traversable Result Source # |
Instance details Defined in Citeproc.Types Methods traverse :: Applicative f => (a -> f b) -> Result a -> f (Result b) Source # sequenceA :: Applicative f => Result (f a) -> f (Result a) Source # mapM :: Monad m => (a -> m b) -> Result a -> m (Result b) Source # sequence :: Monad m => Result (m a) -> m (Result a) Source #
Functor Result Source # |
Instance details Defined in Citeproc.Types Methods fmap :: (a -> b) -> Result a -> Result b Source # (<$) :: a -> Result b -> Result a Source #
FromJSON a => FromJSON (Result a) Source # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser (Result a) Source # parseJSONList :: Value -> Parser [Result a] Source #
ToJSON a => ToJSON (Result a) Source # |
Instance details Defined in Citeproc.Types Methods toJSON :: Result a -> Value Source # toEncoding :: Result a -> Encoding Source # toJSONList :: [Result a] -> Value Source # toEncodingList :: [Result a] -> Encoding Source #
Show a => Show (Result a) Source # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Result a -> ShowS Source # show :: Result a -> String Source # showList :: [Result a] -> ShowS Source #