Citeproc.Types

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

Safe Haskell | Safe-Inferred
Language | Haskell2010

Citeproc.Types

Synopsis

- data CiteprocOptions = CiteprocOptions {
  - linkCitations :: Bool
  - linkBibliography :: Bool
  }
- defaultCiteprocOptions :: CiteprocOptions
- class (Semigroup a, Monoid a, Show a, Eq a, Ord a) => CiteprocOutput a where
  - toText :: a -> Text
  - fromText :: Text -> a
  - dropTextWhile :: (Char -> Bool) -> a -> a
  - dropTextWhileEnd :: (Char -> Bool) -> a -> a
  - addFontVariant :: FontVariant -> a -> a
  - addFontStyle :: FontStyle -> a -> a
  - addFontWeight :: FontWeight -> a -> a
  - addTextDecoration :: TextDecoration -> a -> a
  - addVerticalAlign :: VerticalAlign -> a -> a
  - addTextCase :: Maybe Lang -> TextCase -> a -> a
  - addDisplay :: DisplayStyle -> a -> a
  - addQuotes :: a -> a
  - movePunctuationInsideQuotes :: a -> a
  - inNote :: a -> a
  - mapText :: (Text -> Text) -> a -> a
  - addHyperlink :: Text -> a -> a
  - localizeQuotes :: Locale -> a -> a
- addFormatting :: CiteprocOutput a => Formatting -> a -> a
- data CiteprocError
  - = CiteprocXMLError Text
  - | CiteprocParseError Text
  - | CiteprocLocaleNotFound Text
- prettyCiteprocError :: CiteprocError -> Text
- newtype ItemId = ItemId {
  - unItemId :: Text
  }
- data CitationItem a = CitationItem {
  - citationItemId :: ItemId
  - citationItemLabel :: Maybe Text
  - citationItemLocator :: Maybe Text
  - citationItemType :: CitationItemType
  - citationItemPrefix :: Maybe a
  - citationItemSuffix :: Maybe a
  - citationItemData :: Maybe (Reference a)
  }
- data CitationItemType
  - = AuthorOnly
  - | SuppressAuthor
  - | NormalCite
- data Citation a = Citation {
  - citationId :: Maybe Text
  - citationNoteNumber :: Maybe Int
  - citationItems :: [CitationItem a]
  }
- data ElementType a
  - = EText TextType
  - | EDate Variable DateType (Maybe ShowDateParts) [DP]
  - | ENumber Variable NumberForm
  - | ENames [Variable] NamesFormat [Element a]
  - | ELabel Variable TermForm Pluralize
  - | EGroup Bool [Element a]
  - | EChoose [(Match, [Condition], [Element a])]
- data Element a = Element (ElementType a) Formatting
- data NumberForm
  - = NumberNumeric
  - | NumberOrdinal
  - | NumberLongOrdinal
  - | NumberRoman
- data Pluralize
  - = ContextualPluralize
  - | AlwaysPluralize
  - | NeverPluralize
- data DateType
  - = LocalizedNumeric
  - | LocalizedText
  - | NonLocalized
- data Date = Date {
  - dateParts :: [DateParts]
  - dateCirca :: Bool
  - dateSeason :: Maybe Int
  - dateLiteral :: Maybe Text
  }
- rawDateEDTF :: Text -> Maybe Date
- newtype DateParts = DateParts [Int]
- data ShowDateParts
  - = YearMonthDay
  - | YearMonth
  - | Year
- data DPName
  - = DPYear
  - | DPMonth
  - | DPDay
- data DPForm
  - = DPNumeric
  - | DPNumericLeadingZeros
  - | DPOrdinal
  - | DPLong
  - | DPShort
- data DP = DP {
  - dpName :: DPName
  - dpForm :: DPForm
  - dpRangeDelimiter :: Text
  - dpFormatting :: Formatting
  }
- data VariableForm
  - = ShortForm
  - | LongForm
- data TextType
  - = TextVariable VariableForm Variable
  - | TextMacro Text
  - | TextTerm Term
  - | TextValue Text
- data NameFormat = NameFormat {
  - nameGivenFormatting :: Maybe Formatting
  - nameFamilyFormatting :: Maybe Formatting
  - nameAndStyle :: Maybe TermForm
  - nameDelimiter :: Text
  - nameDelimiterPrecedesEtAl :: DelimiterPrecedes
  - nameDelimiterPrecedesLast :: DelimiterPrecedes
  - nameEtAlMin :: Maybe Int
  - nameEtAlUseFirst :: Maybe Int
  - nameEtAlSubsequentUseFirst :: Maybe Int
  - nameEtAlSubsequentMin :: Maybe Int
  - nameEtAlUseLast :: Bool
  - nameForm :: NameForm
  - nameInitialize :: Bool
  - nameInitializeWith :: Maybe Text
  - nameAsSortOrder :: Maybe NameAsSortOrder
  - nameSortSeparator :: Text
  }
- defaultNameFormat :: NameFormat
- data NameAsSortOrder
  - = NameAsSortOrderFirst
  - | NameAsSortOrderAll
- data NamesFormat = NamesFormat {
  - namesLabel :: Maybe (TermForm, Pluralize, Formatting)
  - namesEtAl :: Maybe (Text, Formatting)
  - namesName :: Maybe (NameFormat, Formatting)
  - namesLabelBeforeName :: Bool
  }
- data NameForm
  - = LongName
  - | ShortName
  - | CountName
- data Name = Name {
  - nameFamily :: Maybe Text
  - nameGiven :: Maybe Text
  - nameDroppingParticle :: Maybe Text
  - nameNonDroppingParticle :: Maybe Text
  - nameSuffix :: Maybe Text
  - nameCommaSuffix :: Bool
  - nameStaticOrdering :: Bool
  - nameLiteral :: Maybe Text
  }
- extractParticles :: Name -> Name
- isByzantineName :: Name -> Bool
- data DelimiterPrecedes
  - = PrecedesContextual
  - | PrecedesAfterInvertedName
  - | PrecedesAlways
  - | PrecedesNever
- data Condition
  - = HasVariable Variable
  - | HasType Text
  - | IsUncertainDate Variable
  - | IsNumeric Variable
  - | HasLocatorType Variable
  - | HasPosition Position
  - | WouldDisambiguate
- data Position
  - = FirstPosition
  - | IbidWithLocator
  - | Ibid
  - | NearNote
  - | Subsequent
- data Match
  - = MatchAll
  - | MatchAny
  - | MatchNone
- data Formatting = Formatting {
  - formatLang :: Maybe Lang
  - formatFontStyle :: Maybe FontStyle
  - formatFontVariant :: Maybe FontVariant
  - formatFontWeight :: Maybe FontWeight
  - formatTextDecoration :: Maybe TextDecoration
  - formatVerticalAlign :: Maybe VerticalAlign
  - formatPrefix :: Maybe Text
  - formatSuffix :: Maybe Text
  - formatDisplay :: Maybe DisplayStyle
  - formatTextCase :: Maybe TextCase
  - formatDelimiter :: Maybe Text
  - formatStripPeriods :: Bool
  - formatQuotes :: Bool
  - formatAffixesInside :: Bool
  }
- data FontStyle
  - = NormalFont
  - | ItalicFont
  - | ObliqueFont
- data FontVariant
  - = NormalVariant
  - | SmallCapsVariant
- data FontWeight
  - = NormalWeight
  - | BoldWeight
  - | LightWeight
- data TextDecoration
  - = NoDecoration
  - | UnderlineDecoration
- data VerticalAlign
  - = BaselineAlign
  - | SupAlign
  - | SubAlign
- data DisplayStyle
  - = DisplayBlock
  - | DisplayLeftMargin
  - | DisplayRightInline
  - | DisplayIndent
- data TextCase
  - = Lowercase
  - | Uppercase
  - | CapitalizeFirst
  - | CapitalizeAll
  - | SentenceCase
  - | TitleCase
- data DemoteNonDroppingParticle
  - = DemoteDisplayAndSort
  - | DemoteSortOnly
  - | DemoteNever
- data StyleOptions = StyleOptions {
  - styleIsNoteStyle :: Bool
  - styleDefaultLocale :: Maybe Lang
  - styleDemoteNonDroppingParticle :: DemoteNonDroppingParticle
  - styleInitializeWithHyphen :: Bool
  - stylePageRangeFormat :: Maybe PageRangeFormat
  - stylePageRangeDelimiter :: Maybe Text
  - styleDisambiguation :: DisambiguationStrategy
  - styleNearNoteDistance :: Maybe Int
  - styleCiteGroupDelimiter :: Maybe Text
  - styleLineSpacing :: Maybe Int
  - styleEntrySpacing :: Maybe Int
  - styleHangingIndent :: Bool
  - styleSecondFieldAlign :: Maybe SecondFieldAlign
  - styleSubsequentAuthorSubstitute :: Maybe SubsequentAuthorSubstitute
  - styleUsesYearSuffixVariable :: Bool
  }
- data SubsequentAuthorSubstitute = SubsequentAuthorSubstitute Text SubsequentAuthorSubstituteRule
- data SubsequentAuthorSubstituteRule
  - = CompleteAll
  - | CompleteEach
  - | PartialEach
  - | PartialFirst
- data SecondFieldAlign
  - = SecondFieldAlignFlush
  - | SecondFieldAlignMargin
- data PageRangeFormat
  - = PageRangeChicago15
  - | PageRangeChicago16
  - | PageRangeExpanded
  - | PageRangeMinimal
  - | PageRangeMinimalTwo
- data Style a = Style {
  - styleCslVersion :: (Int, Int, Int)
  - styleOptions :: StyleOptions
  - styleCitation :: Layout a
  - styleBibliography :: Maybe (Layout a)
  - styleLocales :: [Locale]
  - styleAbbreviations :: Maybe Abbreviations
  }
- data TermMatch
  - = LastDigit
  - | LastTwoDigits
  - | WholeNumber
- data TermGender
  - = Masculine
  - | Feminine
- data TermNumber
  - = Singular
  - | Plural
- data TermForm
  - = Long
  - | Short
  - | Verb
  - | VerbShort
  - | Symbol
- data Term = Term {
  - termName :: Text
  - termForm :: TermForm
  - termNumber :: Maybe TermNumber
  - termGender :: Maybe TermGender
  - termGenderForm :: Maybe TermGender
  - termMatch :: Maybe TermMatch
  }
- emptyTerm :: Term
- data SortDirection
  - = Ascending
  - | Descending
- data SortKey a
  - = SortKeyVariable SortDirection Variable
  - | SortKeyMacro SortDirection [Element a]
- data SortKeyValue = SortKeyValue SortDirection (Maybe [Text])
- data LayoutOptions = LayoutOptions {
  - layoutCollapse :: Maybe Collapsing
  - layoutYearSuffixDelimiter :: Maybe Text
  - layoutAfterCollapseDelimiter :: Maybe Text
  }
- data Collapsing
  - = CollapseCitationNumber
  - | CollapseYear
  - | CollapseYearSuffix
  - | CollapseYearSuffixRanged
- data Layout a = Layout {
  - layoutOptions :: LayoutOptions
  - layoutFormatting :: Formatting
  - layoutElements :: [Element a]
  - layoutSortKeys :: [SortKey a]
  }
- data DisambiguationStrategy = DisambiguationStrategy {
  - disambiguateAddNames :: Bool
  - disambiguateAddGivenNames :: Maybe GivenNameDisambiguationRule
  - disambiguateAddYearSuffix :: Bool
  }
- data GivenNameDisambiguationRule
  - = AllNames
  - | AllNamesWithInitials
  - | PrimaryName
  - | PrimaryNameWithInitials
  - | ByCite
- data Lang = Lang {
  - langLanguage :: Text
  - langScript :: Maybe Text
  - langRegion :: Maybe Text
  - langVariants :: [Text]
  - langExtensions :: [(Text, [(Text, Text)])]
  - langPrivateUse :: [Text]
  }
- parseLang :: Text -> Either String Lang
- renderLang :: Lang -> Text
- data Locale = Locale {
  - localeLanguage :: Maybe Lang
  - localePunctuationInQuote :: Maybe Bool
  - localeLimitDayOrdinalsToDay1 :: Maybe Bool
  - localeDate :: Map DateType (Element Text)
  - localeTerms :: Map Text [(Term, Text)]
  }
- data DisambiguationData = DisambiguationData {
  - disambYearSuffix :: Maybe Int
  - disambNameMap :: Map Name NameHints
  - disambEtAlNames :: Maybe Int
  - disambCondition :: Bool
  }
- data NameHints
  - = AddInitials
  - | AddGivenName
  - | AddInitialsIfPrimary
  - | AddGivenNameIfPrimary
- data Reference a = Reference {
  - referenceId :: ItemId
  - referenceType :: Text
  - referenceDisambiguation :: Maybe DisambiguationData
  - referenceVariables :: Map Variable (Val a)
  }
- newtype ReferenceMap a = ReferenceMap {
  - unReferenceMap :: Map ItemId (Reference a)
  }
- makeReferenceMap :: [Reference a] -> ([Reference a], ReferenceMap a)
- lookupReference :: ItemId -> ReferenceMap a -> Maybe (Reference a)
- data Val a
  - = TextVal Text
  - | FancyVal a
  - | NumVal Int
  - | NamesVal [Name]
  - | DateVal Date
  - | SubstitutedVal
- valToText :: CiteprocOutput a => Val a -> Maybe Text
- data Variable
- toVariable :: Text -> Variable
- fromVariable :: Variable -> Text
- lookupVariable :: CiteprocOutput a => Variable -> Reference a -> Maybe (Val a)
- data Output a
  - = Formatted Formatting [Output a]
  - | Linked Text [Output a]
  - | InNote (Output a)
  - | Literal a
  - | Tagged Tag (Output a)
  - | NullOutput
- data Identifier
  - = IdentDOI Text
  - | IdentPMCID Text
  - | IdentPMID Text
  - | IdentURL Text
- identifierToURL :: Identifier -> Text
- fixShortDOI :: Text -> Text
- data Tag
  - = TagTerm Term
  - | TagCitationNumber Int
  - | TagCitationLabel
  - | TagTitle
  - | TagItem CitationItemType ItemId
  - | TagName Name
  - | TagNames Variable NamesFormat [Name]
  - | TagDate Date
  - | TagYearSuffix Int
  - | TagLocator
  - | TagPrefix
  - | TagSuffix
- outputToText :: CiteprocOutput a => Output a -> Text
- renderOutput :: CiteprocOutput a => CiteprocOptions -> Output a -> a
- grouped :: [Output a] -> Output a
- formatted :: Formatting -> [Output a] -> Output a
- readAsInt :: Text -> Maybe Int
- variableType :: Variable -> VariableType
- data VariableType
  - = DateVariable
  - | NameVariable
  - | NumberVariable
  - | StringVariable
  - | UnknownVariable
- data Abbreviations
- lookupAbbreviation :: CiteprocOutput a => Variable -> Val a -> Abbreviations -> Maybe (Val a)
- data Result a = Result {
  - resultCitations :: [a]
  - resultBibliography :: [(Text, a)]
  - resultWarnings :: [Text]
  }
- data Inputs a = Inputs {
  - inputsCitations :: Maybe [Citation a]
  - inputsReferences :: Maybe [Reference a]
  - inputsStyle :: Maybe Text
  - inputsAbbreviations :: Maybe Abbreviations
  - inputsLang :: Maybe Lang
  }

# Documentation

data CiteprocOptions #

Options affecting the output in ways that go beyond what can be specified in styles.

Constructors

CiteprocOptions |
Fields linkCitations :: Bool Create hyperlinks from citations to bibliography entries linkBibliography :: Bool Enables the following options: Automatically linkify any DOI, PMCID, PMID, or URL appearing in a bibliography entry. When a bibliography entry has a DOI, PMCID, PMID, or URL available (in order of priority), but the style does not explicitly render at least one of them, add a hyperlink to the title instead. A bibliography item with a DOI, PMCID, PMID, or URL available (in order of priority) will be wrapped in a hyperlink when the hyperlink has not already been applied to one of its parts (e.g. to the title).

#### Instances

Instances details

Show CiteprocOptions # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> CiteprocOptions -> ShowS show :: CiteprocOptions -> String showList :: [CiteprocOptions] -> ShowS
Eq CiteprocOptions # |
Instance details Defined in Citeproc.Types Methods (==) :: CiteprocOptions -> CiteprocOptions -> Bool (/=) :: CiteprocOptions -> CiteprocOptions -> Bool

defaultCiteprocOptions :: CiteprocOptions #

class (Semigroup a, Monoid a, Show a, Eq a, Ord a) => CiteprocOutput a where #

CSL styles require certain formatting transformations to be defined. These are defined in the `CiteprocOutput` class. The library may be used with any structured format that defines these operations. See the `CslJson` module for an instance that corresponds to the markup allowed in CSL JSON. See the `Pandoc` module for an instance for Pandoc `Inlines`.

Methods

toText :: a -> Text #

fromText :: Text -> a #

dropTextWhile :: (Char -> Bool) -> a -> a #

dropTextWhileEnd :: (Char -> Bool) -> a -> a #

addFontVariant :: FontVariant -> a -> a #

addFontStyle :: FontStyle -> a -> a #

addFontWeight :: FontWeight -> a -> a #

addTextDecoration :: TextDecoration -> a -> a #

addVerticalAlign :: VerticalAlign -> a -> a #

addTextCase :: Maybe Lang -> TextCase -> a -> a #

addDisplay :: DisplayStyle -> a -> a #

addQuotes :: a -> a #

movePunctuationInsideQuotes :: a -> a #

inNote :: a -> a #

mapText :: (Text -> Text) -> a -> a #

addHyperlink :: Text -> a -> a #

localizeQuotes :: Locale -> a -> a #

#### Instances

Instances details

CiteprocOutput Inlines # |
Instance details Defined in Citeproc.Pandoc Methods toText :: Inlines -> Text # fromText :: Text -> Inlines # dropTextWhile :: (Char -> Bool) -> Inlines -> Inlines # dropTextWhileEnd :: (Char -> Bool) -> Inlines -> Inlines # addFontVariant :: FontVariant -> Inlines -> Inlines # addFontStyle :: FontStyle -> Inlines -> Inlines # addFontWeight :: FontWeight -> Inlines -> Inlines # addTextDecoration :: TextDecoration -> Inlines -> Inlines # addVerticalAlign :: VerticalAlign -> Inlines -> Inlines # addTextCase :: Maybe Lang -> TextCase -> Inlines -> Inlines # addDisplay :: DisplayStyle -> Inlines -> Inlines # addQuotes :: Inlines -> Inlines # movePunctuationInsideQuotes :: Inlines -> Inlines # inNote :: Inlines -> Inlines # mapText :: (Text -> Text) -> Inlines -> Inlines # addHyperlink :: Text -> Inlines -> Inlines # localizeQuotes :: Locale -> Inlines -> Inlines #
CiteprocOutput (CslJson Text) # |
Instance details Defined in Citeproc.CslJson Methods toText :: CslJson Text -> Text # fromText :: Text -> CslJson Text # dropTextWhile :: (Char -> Bool) -> CslJson Text -> CslJson Text # dropTextWhileEnd :: (Char -> Bool) -> CslJson Text -> CslJson Text # addFontVariant :: FontVariant -> CslJson Text -> CslJson Text # addFontStyle :: FontStyle -> CslJson Text -> CslJson Text # addFontWeight :: FontWeight -> CslJson Text -> CslJson Text # addTextDecoration :: TextDecoration -> CslJson Text -> CslJson Text # addVerticalAlign :: VerticalAlign -> CslJson Text -> CslJson Text # addTextCase :: Maybe Lang -> TextCase -> CslJson Text -> CslJson Text # addDisplay :: DisplayStyle -> CslJson Text -> CslJson Text # addQuotes :: CslJson Text -> CslJson Text # movePunctuationInsideQuotes :: CslJson Text -> CslJson Text # inNote :: CslJson Text -> CslJson Text # mapText :: (Text -> Text) -> CslJson Text -> CslJson Text # addHyperlink :: Text -> CslJson Text -> CslJson Text # localizeQuotes :: Locale -> CslJson Text -> CslJson Text #

addFormatting :: CiteprocOutput a => Formatting -> a -> a #

data CiteprocError #

Constructors

CiteprocXMLError Text |
CiteprocParseError Text |
CiteprocLocaleNotFound Text |

#### Instances

Instances details

Show CiteprocError # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> CiteprocError -> ShowS show :: CiteprocError -> String showList :: [CiteprocError] -> ShowS
Eq CiteprocError # |
Instance details Defined in Citeproc.Types Methods (==) :: CiteprocError -> CiteprocError -> Bool (/=) :: CiteprocError -> CiteprocError -> Bool

prettyCiteprocError :: CiteprocError -> Text #

newtype ItemId #

The identifier used to identify a work in a bibliographic database.

Constructors

ItemId |
Fields unItemId :: Text

#### Instances

Instances details

FromJSON ItemId # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser ItemId # parseJSONList :: Value -> Parser [ItemId] # omittedField :: Maybe ItemId #
ToJSON ItemId # |
Instance details Defined in Citeproc.Types Methods toJSON :: ItemId -> Value # toEncoding :: ItemId -> Encoding # toJSONList :: [ItemId] -> Value # toEncodingList :: [ItemId] -> Encoding # omitField :: ItemId -> Bool #
Monoid ItemId # |
Instance details Defined in Citeproc.Types Methods mempty :: ItemId mappend :: ItemId -> ItemId -> ItemId mconcat :: [ItemId] -> ItemId
Semigroup ItemId # |
Instance details Defined in Citeproc.Types Methods (<>) :: ItemId -> ItemId -> ItemId # sconcat :: NonEmpty ItemId -> ItemId stimes :: Integral b => b -> ItemId -> ItemId
Show ItemId # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> ItemId -> ShowS show :: ItemId -> String showList :: [ItemId] -> ShowS
Eq ItemId # |
Instance details Defined in Citeproc.Types Methods (==) :: ItemId -> ItemId -> Bool (/=) :: ItemId -> ItemId -> Bool
Ord ItemId # |
Instance details Defined in Citeproc.Types Methods compare :: ItemId -> ItemId -> Ordering (<) :: ItemId -> ItemId -> Bool (<=) :: ItemId -> ItemId -> Bool (>) :: ItemId -> ItemId -> Bool (>=) :: ItemId -> ItemId -> Bool max :: ItemId -> ItemId -> ItemId min :: ItemId -> ItemId -> ItemId

data CitationItem a #

The part of a citation corresponding to a single work, possibly including a label, locator, prefix and suffix.

Constructors

CitationItem |
Fields citationItemId :: ItemId citationItemLabel :: Maybe Text citationItemLocator :: Maybe Text citationItemType :: CitationItemType citationItemPrefix :: Maybe a citationItemSuffix :: Maybe a citationItemData :: Maybe (Reference a)

#### Instances

Instances details

(FromJSON a, Eq a) => FromJSON (CitationItem a) # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser (CitationItem a) # parseJSONList :: Value -> Parser [CitationItem a] # omittedField :: Maybe (CitationItem a) #
ToJSON a => ToJSON (CitationItem a) # |
Instance details Defined in Citeproc.Types Methods toJSON :: CitationItem a -> Value # toEncoding :: CitationItem a -> Encoding # toJSONList :: [CitationItem a] -> Value # toEncodingList :: [CitationItem a] -> Encoding # omitField :: CitationItem a -> Bool #
Show a => Show (CitationItem a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> CitationItem a -> ShowS show :: CitationItem a -> String showList :: [CitationItem a] -> ShowS
Eq a => Eq (CitationItem a) # |
Instance details Defined in Citeproc.Types Methods (==) :: CitationItem a -> CitationItem a -> Bool (/=) :: CitationItem a -> CitationItem a -> Bool
Ord a => Ord (CitationItem a) # |
Instance details Defined in Citeproc.Types Methods compare :: CitationItem a -> CitationItem a -> Ordering (<) :: CitationItem a -> CitationItem a -> Bool (<=) :: CitationItem a -> CitationItem a -> Bool (>) :: CitationItem a -> CitationItem a -> Bool (>=) :: CitationItem a -> CitationItem a -> Bool max :: CitationItem a -> CitationItem a -> CitationItem a min :: CitationItem a -> CitationItem a -> CitationItem a

data CitationItemType #

Constructors

AuthorOnly | e.g., Smith
SuppressAuthor | e.g., (2000, p. 30)
NormalCite | e.g., (Smith 2000, p. 30)

#### Instances

Instances details

FromJSON CitationItemType # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser CitationItemType # parseJSONList :: Value -> Parser [CitationItemType] # omittedField :: Maybe CitationItemType #
ToJSON CitationItemType # |
Instance details Defined in Citeproc.Types Methods toJSON :: CitationItemType -> Value # toEncoding :: CitationItemType -> Encoding # toJSONList :: [CitationItemType] -> Value # toEncodingList :: [CitationItemType] -> Encoding # omitField :: CitationItemType -> Bool #
Show CitationItemType # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> CitationItemType -> ShowS show :: CitationItemType -> String showList :: [CitationItemType] -> ShowS
Eq CitationItemType # |
Instance details Defined in Citeproc.Types Methods (==) :: CitationItemType -> CitationItemType -> Bool (/=) :: CitationItemType -> CitationItemType -> Bool
Ord CitationItemType # |
Instance details Defined in Citeproc.Types Methods compare :: CitationItemType -> CitationItemType -> Ordering (<) :: CitationItemType -> CitationItemType -> Bool (<=) :: CitationItemType -> CitationItemType -> Bool (>) :: CitationItemType -> CitationItemType -> Bool (>=) :: CitationItemType -> CitationItemType -> Bool max :: CitationItemType -> CitationItemType -> CitationItemType min :: CitationItemType -> CitationItemType -> CitationItemType

data Citation a #

A citation (which may include several items, e.g. in `(Smith 2000; Jones 2010, p. 30)`).

Constructors

Citation |
Fields citationId :: Maybe Text citationNoteNumber :: Maybe Int citationItems :: [CitationItem a]

#### Instances

Instances details

(FromJSON a, Eq a) => FromJSON (Citation a) # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser (Citation a) # parseJSONList :: Value -> Parser [Citation a] # omittedField :: Maybe (Citation a) #
ToJSON a => ToJSON (Citation a) # |
Instance details Defined in Citeproc.Types Methods toJSON :: Citation a -> Value # toEncoding :: Citation a -> Encoding # toJSONList :: [Citation a] -> Value # toEncodingList :: [Citation a] -> Encoding # omitField :: Citation a -> Bool #
Show a => Show (Citation a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Citation a -> ShowS show :: Citation a -> String showList :: [Citation a] -> ShowS
Eq a => Eq (Citation a) # |
Instance details Defined in Citeproc.Types Methods (==) :: Citation a -> Citation a -> Bool (/=) :: Citation a -> Citation a -> Bool
Ord a => Ord (Citation a) # |
Instance details Defined in Citeproc.Types Methods compare :: Citation a -> Citation a -> Ordering (<) :: Citation a -> Citation a -> Bool (<=) :: Citation a -> Citation a -> Bool (>) :: Citation a -> Citation a -> Bool (>=) :: Citation a -> Citation a -> Bool max :: Citation a -> Citation a -> Citation a min :: Citation a -> Citation a -> Citation a

data ElementType a #

Constructors

EText TextType |
EDate Variable DateType (Maybe ShowDateParts) [DP] |
ENumber Variable NumberForm |
ENames [Variable] NamesFormat [Element a] |
ELabel Variable TermForm Pluralize |
EGroup Bool [Element a] |
EChoose [(Match, [Condition], [Element a])] |

#### Instances

Instances details

Show (ElementType a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> ElementType a -> ShowS show :: ElementType a -> String showList :: [ElementType a] -> ShowS
Eq (ElementType a) # |
Instance details Defined in Citeproc.Types Methods (==) :: ElementType a -> ElementType a -> Bool (/=) :: ElementType a -> ElementType a -> Bool

data Element a #

Constructors

Element (ElementType a) Formatting |

#### Instances

Instances details

Show (Element a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Element a -> ShowS show :: Element a -> String showList :: [Element a] -> ShowS
Eq (Element a) # |
Instance details Defined in Citeproc.Types Methods (==) :: Element a -> Element a -> Bool (/=) :: Element a -> Element a -> Bool

data NumberForm #

Constructors

NumberNumeric |
NumberOrdinal |
NumberLongOrdinal |
NumberRoman |

#### Instances

Instances details

Show NumberForm # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> NumberForm -> ShowS show :: NumberForm -> String showList :: [NumberForm] -> ShowS
Eq NumberForm # |
Instance details Defined in Citeproc.Types Methods (==) :: NumberForm -> NumberForm -> Bool (/=) :: NumberForm -> NumberForm -> Bool

data Pluralize #

Constructors

ContextualPluralize |
AlwaysPluralize |
NeverPluralize |

#### Instances

Instances details

Show Pluralize # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Pluralize -> ShowS show :: Pluralize -> String showList :: [Pluralize] -> ShowS
Eq Pluralize # |
Instance details Defined in Citeproc.Types Methods (==) :: Pluralize -> Pluralize -> Bool (/=) :: Pluralize -> Pluralize -> Bool

data DateType #

Constructors

LocalizedNumeric |
LocalizedText |
NonLocalized |

#### Instances

Instances details

Show DateType # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> DateType -> ShowS show :: DateType -> String showList :: [DateType] -> ShowS
Eq DateType # |
Instance details Defined in Citeproc.Types Methods (==) :: DateType -> DateType -> Bool (/=) :: DateType -> DateType -> Bool
Ord DateType # |
Instance details Defined in Citeproc.Types Methods compare :: DateType -> DateType -> Ordering (<) :: DateType -> DateType -> Bool (<=) :: DateType -> DateType -> Bool (>) :: DateType -> DateType -> Bool (>=) :: DateType -> DateType -> Bool max :: DateType -> DateType -> DateType min :: DateType -> DateType -> DateType

data Date #

Constructors

Date |
Fields dateParts :: [DateParts] dateCirca :: Bool dateSeason :: Maybe Int dateLiteral :: Maybe Text

#### Instances

Instances details

FromJSON Date # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser Date # parseJSONList :: Value -> Parser [Date] # omittedField :: Maybe Date #
ToJSON Date # |
Instance details Defined in Citeproc.Types Methods toJSON :: Date -> Value # toEncoding :: Date -> Encoding # toJSONList :: [Date] -> Value # toEncodingList :: [Date] -> Encoding # omitField :: Date -> Bool #
Show Date # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Date -> ShowS show :: Date -> String showList :: [Date] -> ShowS
Eq Date # |
Instance details Defined in Citeproc.Types Methods (==) :: Date -> Date -> Bool (/=) :: Date -> Date -> Bool
Ord Date # |
Instance details Defined in Citeproc.Types Methods compare :: Date -> Date -> Ordering (<) :: Date -> Date -> Bool (<=) :: Date -> Date -> Bool (>) :: Date -> Date -> Bool (>=) :: Date -> Date -> Bool max :: Date -> Date -> Date min :: Date -> Date -> Date

rawDateEDTF :: Text -> Maybe Date #

newtype DateParts #

Constructors

DateParts [Int] |

#### Instances

Instances details

FromJSON DateParts # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser DateParts # parseJSONList :: Value -> Parser [DateParts] # omittedField :: Maybe DateParts #
ToJSON DateParts # |
Instance details Defined in Citeproc.Types Methods toJSON :: DateParts -> Value # toEncoding :: DateParts -> Encoding # toJSONList :: [DateParts] -> Value # toEncodingList :: [DateParts] -> Encoding # omitField :: DateParts -> Bool #
Show DateParts # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> DateParts -> ShowS show :: DateParts -> String showList :: [DateParts] -> ShowS
Eq DateParts # |
Instance details Defined in Citeproc.Types Methods (==) :: DateParts -> DateParts -> Bool (/=) :: DateParts -> DateParts -> Bool
Ord DateParts # |
Instance details Defined in Citeproc.Types Methods compare :: DateParts -> DateParts -> Ordering (<) :: DateParts -> DateParts -> Bool (<=) :: DateParts -> DateParts -> Bool (>) :: DateParts -> DateParts -> Bool (>=) :: DateParts -> DateParts -> Bool max :: DateParts -> DateParts -> DateParts min :: DateParts -> DateParts -> DateParts

data ShowDateParts #

Constructors

YearMonthDay |
YearMonth |
Year |

#### Instances

Instances details

Show ShowDateParts # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> ShowDateParts -> ShowS show :: ShowDateParts -> String showList :: [ShowDateParts] -> ShowS
Eq ShowDateParts # |
Instance details Defined in Citeproc.Types Methods (==) :: ShowDateParts -> ShowDateParts -> Bool (/=) :: ShowDateParts -> ShowDateParts -> Bool

data DPName #

Constructors

DPYear |
DPMonth |
DPDay |

#### Instances

Instances details

Show DPName # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> DPName -> ShowS show :: DPName -> String showList :: [DPName] -> ShowS
Eq DPName # |
Instance details Defined in Citeproc.Types Methods (==) :: DPName -> DPName -> Bool (/=) :: DPName -> DPName -> Bool
Ord DPName # |
Instance details Defined in Citeproc.Types Methods compare :: DPName -> DPName -> Ordering (<) :: DPName -> DPName -> Bool (<=) :: DPName -> DPName -> Bool (>) :: DPName -> DPName -> Bool (>=) :: DPName -> DPName -> Bool max :: DPName -> DPName -> DPName min :: DPName -> DPName -> DPName

data DPForm #

Constructors

DPNumeric |
DPNumericLeadingZeros |
DPOrdinal |
DPLong |
DPShort |

#### Instances

Instances details

Show DPForm # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> DPForm -> ShowS show :: DPForm -> String showList :: [DPForm] -> ShowS
Eq DPForm # |
Instance details Defined in Citeproc.Types Methods (==) :: DPForm -> DPForm -> Bool (/=) :: DPForm -> DPForm -> Bool

data DP #

Constructors

DP |
Fields dpName :: DPName dpForm :: DPForm dpRangeDelimiter :: Text dpFormatting :: Formatting

#### Instances

Instances details

Show DP # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> DP -> ShowS show :: DP -> String showList :: [DP] -> ShowS
Eq DP # |
Instance details Defined in Citeproc.Types Methods (==) :: DP -> DP -> Bool (/=) :: DP -> DP -> Bool

data VariableForm #

Constructors

ShortForm |
LongForm |

#### Instances

Instances details

Show VariableForm # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> VariableForm -> ShowS show :: VariableForm -> String showList :: [VariableForm] -> ShowS
Eq VariableForm # |
Instance details Defined in Citeproc.Types Methods (==) :: VariableForm -> VariableForm -> Bool (/=) :: VariableForm -> VariableForm -> Bool

data TextType #

Constructors

TextVariable VariableForm Variable |
TextMacro Text |
TextTerm Term |
TextValue Text |

#### Instances

Instances details

Show TextType # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> TextType -> ShowS show :: TextType -> String showList :: [TextType] -> ShowS
Eq TextType # |
Instance details Defined in Citeproc.Types Methods (==) :: TextType -> TextType -> Bool (/=) :: TextType -> TextType -> Bool

data NameFormat #

Constructors

NameFormat |
Fields nameGivenFormatting :: Maybe Formatting nameFamilyFormatting :: Maybe Formatting nameAndStyle :: Maybe TermForm nameDelimiter :: Text nameDelimiterPrecedesEtAl :: DelimiterPrecedes nameDelimiterPrecedesLast :: DelimiterPrecedes nameEtAlMin :: Maybe Int nameEtAlUseFirst :: Maybe Int nameEtAlSubsequentUseFirst :: Maybe Int nameEtAlSubsequentMin :: Maybe Int nameEtAlUseLast :: Bool nameForm :: NameForm nameInitialize :: Bool nameInitializeWith :: Maybe Text nameAsSortOrder :: Maybe NameAsSortOrder nameSortSeparator :: Text

#### Instances

Instances details

Show NameFormat # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> NameFormat -> ShowS show :: NameFormat -> String showList :: [NameFormat] -> ShowS
Eq NameFormat # |
Instance details Defined in Citeproc.Types Methods (==) :: NameFormat -> NameFormat -> Bool (/=) :: NameFormat -> NameFormat -> Bool

defaultNameFormat :: NameFormat #

data NameAsSortOrder #

Constructors

NameAsSortOrderFirst |
NameAsSortOrderAll |

#### Instances

Instances details

Show NameAsSortOrder # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> NameAsSortOrder -> ShowS show :: NameAsSortOrder -> String showList :: [NameAsSortOrder] -> ShowS
Eq NameAsSortOrder # |
Instance details Defined in Citeproc.Types Methods (==) :: NameAsSortOrder -> NameAsSortOrder -> Bool (/=) :: NameAsSortOrder -> NameAsSortOrder -> Bool

data NamesFormat #

Constructors

NamesFormat |
Fields namesLabel :: Maybe (TermForm, Pluralize, Formatting) namesEtAl :: Maybe (Text, Formatting) namesName :: Maybe (NameFormat, Formatting) namesLabelBeforeName :: Bool

#### Instances

Instances details

Show NamesFormat # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> NamesFormat -> ShowS show :: NamesFormat -> String showList :: [NamesFormat] -> ShowS
Eq NamesFormat # |
Instance details Defined in Citeproc.Types Methods (==) :: NamesFormat -> NamesFormat -> Bool (/=) :: NamesFormat -> NamesFormat -> Bool

data NameForm #

Constructors

LongName |
ShortName |
CountName |

#### Instances

Instances details

Show NameForm # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> NameForm -> ShowS show :: NameForm -> String showList :: [NameForm] -> ShowS
Eq NameForm # |
Instance details Defined in Citeproc.Types Methods (==) :: NameForm -> NameForm -> Bool (/=) :: NameForm -> NameForm -> Bool

data Name #

Constructors

Name |
Fields nameFamily :: Maybe Text nameGiven :: Maybe Text nameDroppingParticle :: Maybe Text nameNonDroppingParticle :: Maybe Text nameSuffix :: Maybe Text nameCommaSuffix :: Bool nameStaticOrdering :: Bool nameLiteral :: Maybe Text

#### Instances

Instances details

FromJSON Name # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser Name # parseJSONList :: Value -> Parser [Name] # omittedField :: Maybe Name #
ToJSON Name # |
Instance details Defined in Citeproc.Types Methods toJSON :: Name -> Value # toEncoding :: Name -> Encoding # toJSONList :: [Name] -> Value # toEncodingList :: [Name] -> Encoding # omitField :: Name -> Bool #
Show Name # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Name -> ShowS show :: Name -> String showList :: [Name] -> ShowS
Eq Name # |
Instance details Defined in Citeproc.Types Methods (==) :: Name -> Name -> Bool (/=) :: Name -> Name -> Bool
Ord Name # |
Instance details Defined in Citeproc.Types Methods compare :: Name -> Name -> Ordering (<) :: Name -> Name -> Bool (<=) :: Name -> Name -> Bool (>) :: Name -> Name -> Bool (>=) :: Name -> Name -> Bool max :: Name -> Name -> Name min :: Name -> Name -> Name

extractParticles :: Name -> Name #

isByzantineName :: Name -> Bool #

data DelimiterPrecedes #

Constructors

PrecedesContextual |
PrecedesAfterInvertedName |
PrecedesAlways |
PrecedesNever |

#### Instances

Instances details

Show DelimiterPrecedes # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> DelimiterPrecedes -> ShowS show :: DelimiterPrecedes -> String showList :: [DelimiterPrecedes] -> ShowS
Eq DelimiterPrecedes # |
Instance details Defined in Citeproc.Types Methods (==) :: DelimiterPrecedes -> DelimiterPrecedes -> Bool (/=) :: DelimiterPrecedes -> DelimiterPrecedes -> Bool

data Condition #

Constructors

HasVariable Variable |
HasType Text |
IsUncertainDate Variable |
IsNumeric Variable |
HasLocatorType Variable |
HasPosition Position |
WouldDisambiguate |

#### Instances

Instances details

Show Condition # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Condition -> ShowS show :: Condition -> String showList :: [Condition] -> ShowS
Eq Condition # |
Instance details Defined in Citeproc.Types Methods (==) :: Condition -> Condition -> Bool (/=) :: Condition -> Condition -> Bool

data Position #

Constructors

FirstPosition |
IbidWithLocator |
Ibid |
NearNote |
Subsequent |

#### Instances

Instances details

Show Position # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Position -> ShowS show :: Position -> String showList :: [Position] -> ShowS
Eq Position # |
Instance details Defined in Citeproc.Types Methods (==) :: Position -> Position -> Bool (/=) :: Position -> Position -> Bool
Ord Position # |
Instance details Defined in Citeproc.Types Methods compare :: Position -> Position -> Ordering (<) :: Position -> Position -> Bool (<=) :: Position -> Position -> Bool (>) :: Position -> Position -> Bool (>=) :: Position -> Position -> Bool max :: Position -> Position -> Position min :: Position -> Position -> Position

data Match #

Constructors

MatchAll |
MatchAny |
MatchNone |

#### Instances

Instances details

Show Match # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Match -> ShowS show :: Match -> String showList :: [Match] -> ShowS
Eq Match # |
Instance details Defined in Citeproc.Types Methods (==) :: Match -> Match -> Bool (/=) :: Match -> Match -> Bool

data Formatting #

Constructors

Formatting |
Fields formatLang :: Maybe Lang formatFontStyle :: Maybe FontStyle formatFontVariant :: Maybe FontVariant formatFontWeight :: Maybe FontWeight formatTextDecoration :: Maybe TextDecoration formatVerticalAlign :: Maybe VerticalAlign formatPrefix :: Maybe Text formatSuffix :: Maybe Text formatDisplay :: Maybe DisplayStyle formatTextCase :: Maybe TextCase formatDelimiter :: Maybe Text formatStripPeriods :: Bool formatQuotes :: Bool formatAffixesInside :: Bool

#### Instances

Instances details

Monoid Formatting # |
Instance details Defined in Citeproc.Types Methods mempty :: Formatting mappend :: Formatting -> Formatting -> Formatting mconcat :: [Formatting] -> Formatting
Semigroup Formatting # |
Instance details Defined in Citeproc.Types Methods (<>) :: Formatting -> Formatting -> Formatting # sconcat :: NonEmpty Formatting -> Formatting stimes :: Integral b => b -> Formatting -> Formatting
Show Formatting # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Formatting -> ShowS show :: Formatting -> String showList :: [Formatting] -> ShowS
Eq Formatting # |
Instance details Defined in Citeproc.Types Methods (==) :: Formatting -> Formatting -> Bool (/=) :: Formatting -> Formatting -> Bool

data FontStyle #

Constructors

NormalFont |
ItalicFont |
ObliqueFont |

#### Instances

Instances details

Show FontStyle # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> FontStyle -> ShowS show :: FontStyle -> String showList :: [FontStyle] -> ShowS
Eq FontStyle # |
Instance details Defined in Citeproc.Types Methods (==) :: FontStyle -> FontStyle -> Bool (/=) :: FontStyle -> FontStyle -> Bool

data FontVariant #

Constructors

NormalVariant |
SmallCapsVariant |

#### Instances

Instances details

Show FontVariant # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> FontVariant -> ShowS show :: FontVariant -> String showList :: [FontVariant] -> ShowS
Eq FontVariant # |
Instance details Defined in Citeproc.Types Methods (==) :: FontVariant -> FontVariant -> Bool (/=) :: FontVariant -> FontVariant -> Bool

data FontWeight #

Constructors

NormalWeight |
BoldWeight |
LightWeight |

#### Instances

Instances details

Show FontWeight # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> FontWeight -> ShowS show :: FontWeight -> String showList :: [FontWeight] -> ShowS
Eq FontWeight # |
Instance details Defined in Citeproc.Types Methods (==) :: FontWeight -> FontWeight -> Bool (/=) :: FontWeight -> FontWeight -> Bool

data TextDecoration #

Constructors

NoDecoration |
UnderlineDecoration |

#### Instances

Instances details

Show TextDecoration # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> TextDecoration -> ShowS show :: TextDecoration -> String showList :: [TextDecoration] -> ShowS
Eq TextDecoration # |
Instance details Defined in Citeproc.Types Methods (==) :: TextDecoration -> TextDecoration -> Bool (/=) :: TextDecoration -> TextDecoration -> Bool

data VerticalAlign #

Constructors

BaselineAlign |
SupAlign |
SubAlign |

#### Instances

Instances details

Show VerticalAlign # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> VerticalAlign -> ShowS show :: VerticalAlign -> String showList :: [VerticalAlign] -> ShowS
Eq VerticalAlign # |
Instance details Defined in Citeproc.Types Methods (==) :: VerticalAlign -> VerticalAlign -> Bool (/=) :: VerticalAlign -> VerticalAlign -> Bool

data DisplayStyle #

Constructors

DisplayBlock |
DisplayLeftMargin |
DisplayRightInline |
DisplayIndent |

#### Instances

Instances details

Show DisplayStyle # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> DisplayStyle -> ShowS show :: DisplayStyle -> String showList :: [DisplayStyle] -> ShowS
Eq DisplayStyle # |
Instance details Defined in Citeproc.Types Methods (==) :: DisplayStyle -> DisplayStyle -> Bool (/=) :: DisplayStyle -> DisplayStyle -> Bool

data TextCase #

Constructors

Lowercase |
Uppercase |
CapitalizeFirst |
CapitalizeAll |
SentenceCase |
TitleCase |

#### Instances

Instances details

Show TextCase # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> TextCase -> ShowS show :: TextCase -> String showList :: [TextCase] -> ShowS
Eq TextCase # |
Instance details Defined in Citeproc.Types Methods (==) :: TextCase -> TextCase -> Bool (/=) :: TextCase -> TextCase -> Bool

data DemoteNonDroppingParticle #

Constructors

DemoteDisplayAndSort |
DemoteSortOnly |
DemoteNever |

#### Instances

Instances details

Show DemoteNonDroppingParticle # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> DemoteNonDroppingParticle -> ShowS show :: DemoteNonDroppingParticle -> String showList :: [DemoteNonDroppingParticle] -> ShowS
Eq DemoteNonDroppingParticle # |
Instance details Defined in Citeproc.Types Methods (==) :: DemoteNonDroppingParticle -> DemoteNonDroppingParticle -> Bool (/=) :: DemoteNonDroppingParticle -> DemoteNonDroppingParticle -> Bool

data StyleOptions #

Constructors

StyleOptions |
Fields styleIsNoteStyle :: Bool styleDefaultLocale :: Maybe Lang styleDemoteNonDroppingParticle :: DemoteNonDroppingParticle styleInitializeWithHyphen :: Bool stylePageRangeFormat :: Maybe PageRangeFormat stylePageRangeDelimiter :: Maybe Text styleDisambiguation :: DisambiguationStrategy styleNearNoteDistance :: Maybe Int styleCiteGroupDelimiter :: Maybe Text styleLineSpacing :: Maybe Int styleEntrySpacing :: Maybe Int styleHangingIndent :: Bool styleSecondFieldAlign :: Maybe SecondFieldAlign styleSubsequentAuthorSubstitute :: Maybe SubsequentAuthorSubstitute styleUsesYearSuffixVariable :: Bool

#### Instances

Instances details

Show StyleOptions # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> StyleOptions -> ShowS show :: StyleOptions -> String showList :: [StyleOptions] -> ShowS
Eq StyleOptions # |
Instance details Defined in Citeproc.Types Methods (==) :: StyleOptions -> StyleOptions -> Bool (/=) :: StyleOptions -> StyleOptions -> Bool

data SubsequentAuthorSubstitute #

Constructors

SubsequentAuthorSubstitute Text SubsequentAuthorSubstituteRule |

#### Instances

Instances details

Show SubsequentAuthorSubstitute # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> SubsequentAuthorSubstitute -> ShowS show :: SubsequentAuthorSubstitute -> String showList :: [SubsequentAuthorSubstitute] -> ShowS
Eq SubsequentAuthorSubstitute # |
Instance details Defined in Citeproc.Types Methods (==) :: SubsequentAuthorSubstitute -> SubsequentAuthorSubstitute -> Bool (/=) :: SubsequentAuthorSubstitute -> SubsequentAuthorSubstitute -> Bool

data SubsequentAuthorSubstituteRule #

Constructors

CompleteAll |
CompleteEach |
PartialEach |
PartialFirst |

#### Instances

Instances details

Show SubsequentAuthorSubstituteRule # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> SubsequentAuthorSubstituteRule -> ShowS show :: SubsequentAuthorSubstituteRule -> String showList :: [SubsequentAuthorSubstituteRule] -> ShowS
Eq SubsequentAuthorSubstituteRule # |
Instance details Defined in Citeproc.Types Methods (==) :: SubsequentAuthorSubstituteRule -> SubsequentAuthorSubstituteRule -> Bool (/=) :: SubsequentAuthorSubstituteRule -> SubsequentAuthorSubstituteRule -> Bool

data SecondFieldAlign #

Constructors

SecondFieldAlignFlush |
SecondFieldAlignMargin |

#### Instances

Instances details

Show SecondFieldAlign # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> SecondFieldAlign -> ShowS show :: SecondFieldAlign -> String showList :: [SecondFieldAlign] -> ShowS
Eq SecondFieldAlign # |
Instance details Defined in Citeproc.Types Methods (==) :: SecondFieldAlign -> SecondFieldAlign -> Bool (/=) :: SecondFieldAlign -> SecondFieldAlign -> Bool

data PageRangeFormat #

Constructors

PageRangeChicago15 |
PageRangeChicago16 |
PageRangeExpanded |
PageRangeMinimal |
PageRangeMinimalTwo |

#### Instances

Instances details

Show PageRangeFormat # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> PageRangeFormat -> ShowS show :: PageRangeFormat -> String showList :: [PageRangeFormat] -> ShowS
Eq PageRangeFormat # |
Instance details Defined in Citeproc.Types Methods (==) :: PageRangeFormat -> PageRangeFormat -> Bool (/=) :: PageRangeFormat -> PageRangeFormat -> Bool
Ord PageRangeFormat # |
Instance details Defined in Citeproc.Types Methods compare :: PageRangeFormat -> PageRangeFormat -> Ordering (<) :: PageRangeFormat -> PageRangeFormat -> Bool (<=) :: PageRangeFormat -> PageRangeFormat -> Bool (>) :: PageRangeFormat -> PageRangeFormat -> Bool (>=) :: PageRangeFormat -> PageRangeFormat -> Bool max :: PageRangeFormat -> PageRangeFormat -> PageRangeFormat min :: PageRangeFormat -> PageRangeFormat -> PageRangeFormat

data Style a #

Constructors

Style |
Fields styleCslVersion :: (Int, Int, Int) styleOptions :: StyleOptions styleCitation :: Layout a styleBibliography :: Maybe (Layout a) styleLocales :: [Locale] styleAbbreviations :: Maybe Abbreviations

#### Instances

Instances details

Show (Style a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Style a -> ShowS show :: Style a -> String showList :: [Style a] -> ShowS
Eq (Style a) # |
Instance details Defined in Citeproc.Types Methods (==) :: Style a -> Style a -> Bool (/=) :: Style a -> Style a -> Bool

data TermMatch #

Constructors

LastDigit |
LastTwoDigits |
WholeNumber |

#### Instances

Instances details

Show TermMatch # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> TermMatch -> ShowS show :: TermMatch -> String showList :: [TermMatch] -> ShowS
Eq TermMatch # |
Instance details Defined in Citeproc.Types Methods (==) :: TermMatch -> TermMatch -> Bool (/=) :: TermMatch -> TermMatch -> Bool
Ord TermMatch # |
Instance details Defined in Citeproc.Types Methods compare :: TermMatch -> TermMatch -> Ordering (<) :: TermMatch -> TermMatch -> Bool (<=) :: TermMatch -> TermMatch -> Bool (>) :: TermMatch -> TermMatch -> Bool (>=) :: TermMatch -> TermMatch -> Bool max :: TermMatch -> TermMatch -> TermMatch min :: TermMatch -> TermMatch -> TermMatch

data TermGender #

Constructors

Masculine |
Feminine |

#### Instances

Instances details

Show TermGender # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> TermGender -> ShowS show :: TermGender -> String showList :: [TermGender] -> ShowS
Eq TermGender # |
Instance details Defined in Citeproc.Types Methods (==) :: TermGender -> TermGender -> Bool (/=) :: TermGender -> TermGender -> Bool
Ord TermGender # |
Instance details Defined in Citeproc.Types Methods compare :: TermGender -> TermGender -> Ordering (<) :: TermGender -> TermGender -> Bool (<=) :: TermGender -> TermGender -> Bool (>) :: TermGender -> TermGender -> Bool (>=) :: TermGender -> TermGender -> Bool max :: TermGender -> TermGender -> TermGender min :: TermGender -> TermGender -> TermGender

data TermNumber #

Constructors

Singular |
Plural |

#### Instances

Instances details

Show TermNumber # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> TermNumber -> ShowS show :: TermNumber -> String showList :: [TermNumber] -> ShowS
Eq TermNumber # |
Instance details Defined in Citeproc.Types Methods (==) :: TermNumber -> TermNumber -> Bool (/=) :: TermNumber -> TermNumber -> Bool
Ord TermNumber # |
Instance details Defined in Citeproc.Types Methods compare :: TermNumber -> TermNumber -> Ordering (<) :: TermNumber -> TermNumber -> Bool (<=) :: TermNumber -> TermNumber -> Bool (>) :: TermNumber -> TermNumber -> Bool (>=) :: TermNumber -> TermNumber -> Bool max :: TermNumber -> TermNumber -> TermNumber min :: TermNumber -> TermNumber -> TermNumber

data TermForm #

Constructors

Long |
Short |
Verb |
VerbShort |
Symbol |

#### Instances

Instances details

Show TermForm # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> TermForm -> ShowS show :: TermForm -> String showList :: [TermForm] -> ShowS
Eq TermForm # |
Instance details Defined in Citeproc.Types Methods (==) :: TermForm -> TermForm -> Bool (/=) :: TermForm -> TermForm -> Bool
Ord TermForm # |
Instance details Defined in Citeproc.Types Methods compare :: TermForm -> TermForm -> Ordering (<) :: TermForm -> TermForm -> Bool (<=) :: TermForm -> TermForm -> Bool (>) :: TermForm -> TermForm -> Bool (>=) :: TermForm -> TermForm -> Bool max :: TermForm -> TermForm -> TermForm min :: TermForm -> TermForm -> TermForm

data Term #

Constructors

Term |
Fields termName :: Text termForm :: TermForm termNumber :: Maybe TermNumber termGender :: Maybe TermGender termGenderForm :: Maybe TermGender termMatch :: Maybe TermMatch

#### Instances

Instances details

Show Term # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Term -> ShowS show :: Term -> String showList :: [Term] -> ShowS
Eq Term # |
Instance details Defined in Citeproc.Types Methods (==) :: Term -> Term -> Bool (/=) :: Term -> Term -> Bool
Ord Term # |
Instance details Defined in Citeproc.Types Methods compare :: Term -> Term -> Ordering (<) :: Term -> Term -> Bool (<=) :: Term -> Term -> Bool (>) :: Term -> Term -> Bool (>=) :: Term -> Term -> Bool max :: Term -> Term -> Term min :: Term -> Term -> Term

emptyTerm :: Term #

data SortDirection #

Constructors

Ascending |
Descending |

#### Instances

Instances details

Show SortDirection # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> SortDirection -> ShowS show :: SortDirection -> String showList :: [SortDirection] -> ShowS
Eq SortDirection # |
Instance details Defined in Citeproc.Types Methods (==) :: SortDirection -> SortDirection -> Bool (/=) :: SortDirection -> SortDirection -> Bool

data SortKey a #

Constructors

SortKeyVariable SortDirection Variable |
SortKeyMacro SortDirection [Element a] |

#### Instances

Instances details

Show (SortKey a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> SortKey a -> ShowS show :: SortKey a -> String showList :: [SortKey a] -> ShowS
Eq (SortKey a) # |
Instance details Defined in Citeproc.Types Methods (==) :: SortKey a -> SortKey a -> Bool (/=) :: SortKey a -> SortKey a -> Bool

data SortKeyValue #

Constructors

SortKeyValue SortDirection (Maybe [Text]) |

#### Instances

Instances details

Show SortKeyValue # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> SortKeyValue -> ShowS show :: SortKeyValue -> String showList :: [SortKeyValue] -> ShowS
Eq SortKeyValue # |
Instance details Defined in Citeproc.Types Methods (==) :: SortKeyValue -> SortKeyValue -> Bool (/=) :: SortKeyValue -> SortKeyValue -> Bool

data LayoutOptions #

Constructors

LayoutOptions |
Fields layoutCollapse :: Maybe Collapsing layoutYearSuffixDelimiter :: Maybe Text layoutAfterCollapseDelimiter :: Maybe Text

#### Instances

Instances details

Show LayoutOptions # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> LayoutOptions -> ShowS show :: LayoutOptions -> String showList :: [LayoutOptions] -> ShowS
Eq LayoutOptions # |
Instance details Defined in Citeproc.Types Methods (==) :: LayoutOptions -> LayoutOptions -> Bool (/=) :: LayoutOptions -> LayoutOptions -> Bool

data Collapsing #

Constructors

CollapseCitationNumber |
CollapseYear |
CollapseYearSuffix |
CollapseYearSuffixRanged |

#### Instances

Instances details

Show Collapsing # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Collapsing -> ShowS show :: Collapsing -> String showList :: [Collapsing] -> ShowS
Eq Collapsing # |
Instance details Defined in Citeproc.Types Methods (==) :: Collapsing -> Collapsing -> Bool (/=) :: Collapsing -> Collapsing -> Bool

data Layout a #

Constructors

Layout |
Fields layoutOptions :: LayoutOptions layoutFormatting :: Formatting layoutElements :: [Element a] layoutSortKeys :: [SortKey a]

#### Instances

Instances details

Show (Layout a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Layout a -> ShowS show :: Layout a -> String showList :: [Layout a] -> ShowS
Eq (Layout a) # |
Instance details Defined in Citeproc.Types Methods (==) :: Layout a -> Layout a -> Bool (/=) :: Layout a -> Layout a -> Bool

data DisambiguationStrategy #

Constructors

DisambiguationStrategy |
Fields disambiguateAddNames :: Bool disambiguateAddGivenNames :: Maybe GivenNameDisambiguationRule disambiguateAddYearSuffix :: Bool

#### Instances

Instances details

Show DisambiguationStrategy # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> DisambiguationStrategy -> ShowS show :: DisambiguationStrategy -> String showList :: [DisambiguationStrategy] -> ShowS
Eq DisambiguationStrategy # |
Instance details Defined in Citeproc.Types Methods (==) :: DisambiguationStrategy -> DisambiguationStrategy -> Bool (/=) :: DisambiguationStrategy -> DisambiguationStrategy -> Bool
Ord DisambiguationStrategy # |
Instance details Defined in Citeproc.Types Methods compare :: DisambiguationStrategy -> DisambiguationStrategy -> Ordering (<) :: DisambiguationStrategy -> DisambiguationStrategy -> Bool (<=) :: DisambiguationStrategy -> DisambiguationStrategy -> Bool (>) :: DisambiguationStrategy -> DisambiguationStrategy -> Bool (>=) :: DisambiguationStrategy -> DisambiguationStrategy -> Bool max :: DisambiguationStrategy -> DisambiguationStrategy -> DisambiguationStrategy min :: DisambiguationStrategy -> DisambiguationStrategy -> DisambiguationStrategy

data GivenNameDisambiguationRule #

Constructors

AllNames |
AllNamesWithInitials |
PrimaryName |
PrimaryNameWithInitials |
ByCite |

#### Instances

Instances details

Show GivenNameDisambiguationRule # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> GivenNameDisambiguationRule -> ShowS show :: GivenNameDisambiguationRule -> String showList :: [GivenNameDisambiguationRule] -> ShowS
Eq GivenNameDisambiguationRule # |
Instance details Defined in Citeproc.Types Methods (==) :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> Bool (/=) :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> Bool
Ord GivenNameDisambiguationRule # |
Instance details Defined in Citeproc.Types Methods compare :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> Ordering (<) :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> Bool (<=) :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> Bool (>) :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> Bool (>=) :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> Bool max :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> GivenNameDisambiguationRule min :: GivenNameDisambiguationRule -> GivenNameDisambiguationRule -> GivenNameDisambiguationRule

data Lang #

Represents a BCP 47 language tag (https://tools.ietf.org/html/bcp47).

Constructors

Lang |
Fields langLanguage :: Text langScript :: Maybe Text langRegion :: Maybe Text langVariants :: [Text] langExtensions :: [(Text, [(Text, Text)])] langPrivateUse :: [Text]

#### Instances

Instances details

IsString Lang |
Instance details Defined in Text.Collate.Lang Methods fromString :: String -> Lang
Show Lang |
Instance details Defined in Text.Collate.Lang Methods showsPrec :: Int -> Lang -> ShowS show :: Lang -> String showList :: [Lang] -> ShowS
Binary Lang |
Instance details Defined in Text.Collate.Lang Methods put :: Lang -> Put get :: Get Lang putList :: [Lang] -> Put
Eq Lang |
Instance details Defined in Text.Collate.Lang Methods (==) :: Lang -> Lang -> Bool (/=) :: Lang -> Lang -> Bool
Ord Lang |
Instance details Defined in Text.Collate.Lang Methods compare :: Lang -> Lang -> Ordering (<) :: Lang -> Lang -> Bool (<=) :: Lang -> Lang -> Bool (>) :: Lang -> Lang -> Bool (>=) :: Lang -> Lang -> Bool max :: Lang -> Lang -> Lang min :: Lang -> Lang -> Lang
Lift Lang |
Instance details Defined in Text.Collate.Lang Methods lift :: Quote m => Lang -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Lang -> Code m Lang #

parseLang :: Text -> Either String Lang #

Parse a BCP 47 language tag as a `Lang`.

renderLang :: Lang -> Text #

Render a `Lang` in BCP 47 form.

data Locale #

Defines locale-specific terms, punctuation styles, and date formats.

Constructors

Locale |
Fields localeLanguage :: Maybe Lang localePunctuationInQuote :: Maybe Bool localeLimitDayOrdinalsToDay1 :: Maybe Bool localeDate :: Map DateType (Element Text) localeTerms :: Map Text [(Term, Text)]

#### Instances

Instances details

Monoid Locale # |
Instance details Defined in Citeproc.Types Methods mempty :: Locale mappend :: Locale -> Locale -> Locale mconcat :: [Locale] -> Locale
Semigroup Locale # |
Instance details Defined in Citeproc.Types Methods (<>) :: Locale -> Locale -> Locale # sconcat :: NonEmpty Locale -> Locale stimes :: Integral b => b -> Locale -> Locale
Show Locale # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Locale -> ShowS show :: Locale -> String showList :: [Locale] -> ShowS
Eq Locale # |
Instance details Defined in Citeproc.Types Methods (==) :: Locale -> Locale -> Bool (/=) :: Locale -> Locale -> Bool

data DisambiguationData #

Constructors

DisambiguationData |
Fields disambYearSuffix :: Maybe Int disambNameMap :: Map Name NameHints disambEtAlNames :: Maybe Int disambCondition :: Bool

#### Instances

Instances details

Show DisambiguationData # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> DisambiguationData -> ShowS show :: DisambiguationData -> String showList :: [DisambiguationData] -> ShowS
Eq DisambiguationData # |
Instance details Defined in Citeproc.Types Methods (==) :: DisambiguationData -> DisambiguationData -> Bool (/=) :: DisambiguationData -> DisambiguationData -> Bool
Ord DisambiguationData # |
Instance details Defined in Citeproc.Types Methods compare :: DisambiguationData -> DisambiguationData -> Ordering (<) :: DisambiguationData -> DisambiguationData -> Bool (<=) :: DisambiguationData -> DisambiguationData -> Bool (>) :: DisambiguationData -> DisambiguationData -> Bool (>=) :: DisambiguationData -> DisambiguationData -> Bool max :: DisambiguationData -> DisambiguationData -> DisambiguationData min :: DisambiguationData -> DisambiguationData -> DisambiguationData

data NameHints #

Constructors

AddInitials |
AddGivenName |
AddInitialsIfPrimary |
AddGivenNameIfPrimary |

#### Instances

Instances details

Show NameHints # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> NameHints -> ShowS show :: NameHints -> String showList :: [NameHints] -> ShowS
Eq NameHints # |
Instance details Defined in Citeproc.Types Methods (==) :: NameHints -> NameHints -> Bool (/=) :: NameHints -> NameHints -> Bool
Ord NameHints # |
Instance details Defined in Citeproc.Types Methods compare :: NameHints -> NameHints -> Ordering (<) :: NameHints -> NameHints -> Bool (<=) :: NameHints -> NameHints -> Bool (>) :: NameHints -> NameHints -> Bool (>=) :: NameHints -> NameHints -> Bool max :: NameHints -> NameHints -> NameHints min :: NameHints -> NameHints -> NameHints

data Reference a #

Encodes bibliographic data for a single work.

Constructors

Reference |
Fields referenceId :: ItemId referenceType :: Text referenceDisambiguation :: Maybe DisambiguationData This is added in processing; if you are constructing a Reference, set to Nothing referenceVariables :: Map Variable (Val a)

#### Instances

Instances details

Foldable Reference # |
Instance details Defined in Citeproc.Types Methods fold :: Monoid m => Reference m -> m foldMap :: Monoid m => (a -> m) -> Reference a -> m foldMap' :: Monoid m => (a -> m) -> Reference a -> m foldr :: (a -> b -> b) -> b -> Reference a -> b foldr' :: (a -> b -> b) -> b -> Reference a -> b foldl :: (b -> a -> b) -> b -> Reference a -> b foldl' :: (b -> a -> b) -> b -> Reference a -> b foldr1 :: (a -> a -> a) -> Reference a -> a foldl1 :: (a -> a -> a) -> Reference a -> a toList :: Reference a -> [a] null :: Reference a -> Bool length :: Reference a -> Int elem :: Eq a => a -> Reference a -> Bool maximum :: Ord a => Reference a -> a minimum :: Ord a => Reference a -> a sum :: Num a => Reference a -> a product :: Num a => Reference a -> a
Traversable Reference # |
Instance details Defined in Citeproc.Types Methods traverse :: Applicative f => (a -> f b) -> Reference a -> f (Reference b) sequenceA :: Applicative f => Reference (f a) -> f (Reference a) mapM :: Monad m => (a -> m b) -> Reference a -> m (Reference b) sequence :: Monad m => Reference (m a) -> m (Reference a)
Functor Reference # |
Instance details Defined in Citeproc.Types Methods fmap :: (a -> b) -> Reference a -> Reference b # (<$) :: a -> Reference b -> Reference a #
(Eq a, FromJSON a) => FromJSON (Reference a) # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser (Reference a) # parseJSONList :: Value -> Parser [Reference a] # omittedField :: Maybe (Reference a) #
ToJSON a => ToJSON (Reference a) # |
Instance details Defined in Citeproc.Types Methods toJSON :: Reference a -> Value # toEncoding :: Reference a -> Encoding # toJSONList :: [Reference a] -> Value # toEncodingList :: [Reference a] -> Encoding # omitField :: Reference a -> Bool #
Show a => Show (Reference a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Reference a -> ShowS show :: Reference a -> String showList :: [Reference a] -> ShowS
Eq a => Eq (Reference a) # |
Instance details Defined in Citeproc.Types Methods (==) :: Reference a -> Reference a -> Bool (/=) :: Reference a -> Reference a -> Bool
Ord a => Ord (Reference a) # |
Instance details Defined in Citeproc.Types Methods compare :: Reference a -> Reference a -> Ordering (<) :: Reference a -> Reference a -> Bool (<=) :: Reference a -> Reference a -> Bool (>) :: Reference a -> Reference a -> Bool (>=) :: Reference a -> Reference a -> Bool max :: Reference a -> Reference a -> Reference a min :: Reference a -> Reference a -> Reference a

newtype ReferenceMap a #

Constructors

ReferenceMap |
Fields unReferenceMap :: Map ItemId (Reference a)

#### Instances

Instances details

Show a => Show (ReferenceMap a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> ReferenceMap a -> ShowS show :: ReferenceMap a -> String showList :: [ReferenceMap a] -> ShowS

makeReferenceMap :: [Reference a] -> ([Reference a], ReferenceMap a) #

Returns a pair consisting of the cleaned up list of references and a reference map. If the original reference list contains items with the same id, then the one that occurs last in the list is retained, and the others are omittedfrom the cleaned-up list.

lookupReference :: ItemId -> ReferenceMap a -> Maybe (Reference a) #

data Val a #

Value associated with a certain variable in a bibliographic entry.

Constructors

TextVal Text | Plain text value
FancyVal a | Formatted value with parameterized type
NumVal Int | Numerical value
NamesVal [Name] | Structured names
DateVal Date | Structured date
SubstitutedVal | Value suppressed through substitution

#### Instances

Instances details

Foldable Val # |
Instance details Defined in Citeproc.Types Methods fold :: Monoid m => Val m -> m foldMap :: Monoid m => (a -> m) -> Val a -> m foldMap' :: Monoid m => (a -> m) -> Val a -> m foldr :: (a -> b -> b) -> b -> Val a -> b foldr' :: (a -> b -> b) -> b -> Val a -> b foldl :: (b -> a -> b) -> b -> Val a -> b foldl' :: (b -> a -> b) -> b -> Val a -> b foldr1 :: (a -> a -> a) -> Val a -> a foldl1 :: (a -> a -> a) -> Val a -> a toList :: Val a -> [a] null :: Val a -> Bool length :: Val a -> Int elem :: Eq a => a -> Val a -> Bool maximum :: Ord a => Val a -> a minimum :: Ord a => Val a -> a sum :: Num a => Val a -> a product :: Num a => Val a -> a
Traversable Val # |
Instance details Defined in Citeproc.Types Methods traverse :: Applicative f => (a -> f b) -> Val a -> f (Val b) sequenceA :: Applicative f => Val (f a) -> f (Val a) mapM :: Monad m => (a -> m b) -> Val a -> m (Val b) sequence :: Monad m => Val (m a) -> m (Val a)
Functor Val # |
Instance details Defined in Citeproc.Types Methods fmap :: (a -> b) -> Val a -> Val b # (<$) :: a -> Val b -> Val a #
ToJSON a => ToJSON (Val a) # |
Instance details Defined in Citeproc.Types Methods toJSON :: Val a -> Value # toEncoding :: Val a -> Encoding # toJSONList :: [Val a] -> Value # toEncodingList :: [Val a] -> Encoding # omitField :: Val a -> Bool #
Show a => Show (Val a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Val a -> ShowS show :: Val a -> String showList :: [Val a] -> ShowS
Eq a => Eq (Val a) # |
Instance details Defined in Citeproc.Types Methods (==) :: Val a -> Val a -> Bool (/=) :: Val a -> Val a -> Bool
Ord a => Ord (Val a) # |
Instance details Defined in Citeproc.Types Methods compare :: Val a -> Val a -> Ordering (<) :: Val a -> Val a -> Bool (<=) :: Val a -> Val a -> Bool (>) :: Val a -> Val a -> Bool (>=) :: Val a -> Val a -> Bool max :: Val a -> Val a -> Val a min :: Val a -> Val a -> Val a

valToText :: CiteprocOutput a => Val a -> Maybe Text #

data Variable #

#### Instances

Instances details

FromJSON Variable # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser Variable # parseJSONList :: Value -> Parser [Variable] # omittedField :: Maybe Variable #
FromJSONKey Variable # |
Instance details Defined in Citeproc.Types Methods fromJSONKey :: FromJSONKeyFunction Variable # fromJSONKeyList :: FromJSONKeyFunction [Variable] #
ToJSON Variable # |
Instance details Defined in Citeproc.Types Methods toJSON :: Variable -> Value # toEncoding :: Variable -> Encoding # toJSONList :: [Variable] -> Value # toEncodingList :: [Variable] -> Encoding # omitField :: Variable -> Bool #
ToJSONKey Variable # |
Instance details Defined in Citeproc.Types Methods toJSONKey :: ToJSONKeyFunction Variable # toJSONKeyList :: ToJSONKeyFunction [Variable] #
IsString Variable # |
Instance details Defined in Citeproc.Types Methods fromString :: String -> Variable
Monoid Variable # |
Instance details Defined in Citeproc.Types Methods mempty :: Variable mappend :: Variable -> Variable -> Variable mconcat :: [Variable] -> Variable
Semigroup Variable # |
Instance details Defined in Citeproc.Types Methods (<>) :: Variable -> Variable -> Variable # sconcat :: NonEmpty Variable -> Variable stimes :: Integral b => b -> Variable -> Variable
Show Variable # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Variable -> ShowS show :: Variable -> String showList :: [Variable] -> ShowS
Eq Variable # |
Instance details Defined in Citeproc.Types Methods (==) :: Variable -> Variable -> Bool (/=) :: Variable -> Variable -> Bool
Ord Variable # |
Instance details Defined in Citeproc.Types Methods compare :: Variable -> Variable -> Ordering (<) :: Variable -> Variable -> Bool (<=) :: Variable -> Variable -> Bool (>) :: Variable -> Variable -> Bool (>=) :: Variable -> Variable -> Bool max :: Variable -> Variable -> Variable min :: Variable -> Variable -> Variable

toVariable :: Text -> Variable #

fromVariable :: Variable -> Text #

lookupVariable :: CiteprocOutput a => Variable -> Reference a -> Maybe (Val a) #

data Output a #

Constructors

Formatted Formatting [Output a] |
Linked Text [Output a] |
InNote (Output a) |
Literal a |
Tagged Tag (Output a) |
NullOutput |

#### Instances

Instances details

Show a => Show (Output a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Output a -> ShowS show :: Output a -> String showList :: [Output a] -> ShowS
Eq a => Eq (Output a) # |
Instance details Defined in Citeproc.Types Methods (==) :: Output a -> Output a -> Bool (/=) :: Output a -> Output a -> Bool
Uniplate (Output a) # |
Instance details Defined in Citeproc.Types Methods uniplate :: Output a -> (Str (Output a), Str (Output a) -> Output a) # descend :: (Output a -> Output a) -> Output a -> Output a # descendM :: Applicative m => (Output a -> m (Output a)) -> Output a -> m (Output a) #
Biplate (Output a) (Output a) # |
Instance details Defined in Citeproc.Types Methods biplate :: Output a -> (Str (Output a), Str (Output a) -> Output a) # descendBi :: (Output a -> Output a) -> Output a -> Output a # descendBiM :: Applicative m => (Output a -> m (Output a)) -> Output a -> m (Output a) #

data Identifier #

Constructors

IdentDOI Text |
IdentPMCID Text |
IdentPMID Text |
IdentURL Text |

#### Instances

Instances details

Show Identifier # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Identifier -> ShowS show :: Identifier -> String showList :: [Identifier] -> ShowS
Eq Identifier # |
Instance details Defined in Citeproc.Types Methods (==) :: Identifier -> Identifier -> Bool (/=) :: Identifier -> Identifier -> Bool

identifierToURL :: Identifier -> Text #

fixShortDOI :: Text -> Text #

data Tag #

Constructors

TagTerm Term |
TagCitationNumber Int |
TagCitationLabel |
TagTitle | marks the title of an entry, so it can be hyperlinked later
TagItem CitationItemType ItemId |
TagName Name |
TagNames Variable NamesFormat [Name] |
TagDate Date |
TagYearSuffix Int |
TagLocator |
TagPrefix |
TagSuffix |

#### Instances

Instances details

Show Tag # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Tag -> ShowS show :: Tag -> String showList :: [Tag] -> ShowS
Eq Tag # |
Instance details Defined in Citeproc.Types Methods (==) :: Tag -> Tag -> Bool (/=) :: Tag -> Tag -> Bool

outputToText :: CiteprocOutput a => Output a -> Text #

renderOutput :: CiteprocOutput a => CiteprocOptions -> Output a -> a #

grouped :: [Output a] -> Output a #

formatted :: Formatting -> [Output a] -> Output a #

readAsInt :: Text -> Maybe Int #

variableType :: Variable -> VariableType #

data VariableType #

Constructors

DateVariable |
NameVariable |
NumberVariable |
StringVariable |
UnknownVariable |

#### Instances

Instances details

Show VariableType # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> VariableType -> ShowS show :: VariableType -> String showList :: [VariableType] -> ShowS
Eq VariableType # |
Instance details Defined in Citeproc.Types Methods (==) :: VariableType -> VariableType -> Bool (/=) :: VariableType -> VariableType -> Bool

data Abbreviations #

An abbreviations map. These are typically stored in a JSON serialization: for examples of the format, see https://github.com/citation-style-language/abbreviations. Abbreviations are substituted in the output when the variable and its content are matched by something in the abbreviations map.

#### Instances

Instances details

FromJSON Abbreviations # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser Abbreviations # parseJSONList :: Value -> Parser [Abbreviations] # omittedField :: Maybe Abbreviations #
ToJSON Abbreviations # |
Instance details Defined in Citeproc.Types Methods toJSON :: Abbreviations -> Value # toEncoding :: Abbreviations -> Encoding # toJSONList :: [Abbreviations] -> Value # toEncodingList :: [Abbreviations] -> Encoding # omitField :: Abbreviations -> Bool #
Show Abbreviations # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Abbreviations -> ShowS show :: Abbreviations -> String showList :: [Abbreviations] -> ShowS
Eq Abbreviations # |
Instance details Defined in Citeproc.Types Methods (==) :: Abbreviations -> Abbreviations -> Bool (/=) :: Abbreviations -> Abbreviations -> Bool
Ord Abbreviations # |
Instance details Defined in Citeproc.Types Methods compare :: Abbreviations -> Abbreviations -> Ordering (<) :: Abbreviations -> Abbreviations -> Bool (<=) :: Abbreviations -> Abbreviations -> Bool (>) :: Abbreviations -> Abbreviations -> Bool (>=) :: Abbreviations -> Abbreviations -> Bool max :: Abbreviations -> Abbreviations -> Abbreviations min :: Abbreviations -> Abbreviations -> Abbreviations

lookupAbbreviation :: CiteprocOutput a => Variable -> Val a -> Abbreviations -> Maybe (Val a) #

Returns an abbreviation if the variable and its value match something in the abbreviations map.

data Result a #

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 # |
Instance details Defined in Citeproc.Types Methods fold :: Monoid m => Result m -> m foldMap :: Monoid m => (a -> m) -> Result a -> m foldMap' :: Monoid m => (a -> m) -> Result a -> m foldr :: (a -> b -> b) -> b -> Result a -> b foldr' :: (a -> b -> b) -> b -> Result a -> b foldl :: (b -> a -> b) -> b -> Result a -> b foldl' :: (b -> a -> b) -> b -> Result a -> b foldr1 :: (a -> a -> a) -> Result a -> a foldl1 :: (a -> a -> a) -> Result a -> a toList :: Result a -> [a] null :: Result a -> Bool length :: Result a -> Int elem :: Eq a => a -> Result a -> Bool maximum :: Ord a => Result a -> a minimum :: Ord a => Result a -> a sum :: Num a => Result a -> a product :: Num a => Result a -> a
Traversable Result # |
Instance details Defined in Citeproc.Types Methods traverse :: Applicative f => (a -> f b) -> Result a -> f (Result b) sequenceA :: Applicative f => Result (f a) -> f (Result a) mapM :: Monad m => (a -> m b) -> Result a -> m (Result b) sequence :: Monad m => Result (m a) -> m (Result a)
Functor Result # |
Instance details Defined in Citeproc.Types Methods fmap :: (a -> b) -> Result a -> Result b # (<$) :: a -> Result b -> Result a #
FromJSON a => FromJSON (Result a) # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser (Result a) # parseJSONList :: Value -> Parser [Result a] # omittedField :: Maybe (Result a) #
ToJSON a => ToJSON (Result a) # |
Instance details Defined in Citeproc.Types Methods toJSON :: Result a -> Value # toEncoding :: Result a -> Encoding # toJSONList :: [Result a] -> Value # toEncodingList :: [Result a] -> Encoding # omitField :: Result a -> Bool #
Show a => Show (Result a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Result a -> ShowS show :: Result a -> String showList :: [Result a] -> ShowS

data Inputs a #

Inputs for citation processing.

Constructors

Inputs |
Fields inputsCitations :: Maybe [Citation a] inputsReferences :: Maybe [Reference a] inputsStyle :: Maybe Text inputsAbbreviations :: Maybe Abbreviations inputsLang :: Maybe Lang

#### Instances

Instances details

(FromJSON a, Eq a) => FromJSON (Inputs a) # |
Instance details Defined in Citeproc.Types Methods parseJSON :: Value -> Parser (Inputs a) # parseJSONList :: Value -> Parser [Inputs a] # omittedField :: Maybe (Inputs a) #
ToJSON a => ToJSON (Inputs a) # |
Instance details Defined in Citeproc.Types Methods toJSON :: Inputs a -> Value # toEncoding :: Inputs a -> Encoding # toJSONList :: [Inputs a] -> Value # toEncodingList :: [Inputs a] -> Encoding # omitField :: Inputs a -> Bool #
Show a => Show (Inputs a) # |
Instance details Defined in Citeproc.Types Methods showsPrec :: Int -> Inputs a -> ShowS show :: Inputs a -> String showList :: [Inputs a] -> ShowS