/** * @typedef Options * Configuration. * @property {string | string[]} [bibliography] * Name or path to Bibtex, CSL-JSON or CFF file. If multiple files are provided, they will be merged. * @property {string} [path] * Optional path to file (node). Will be joined with `options.bibliography` and used in place of cwd of file if provided. * @property {'apa'|'vancouver'|'harvard1'|'chicago'|'mla'|string} [csl] * One of 'apa', 'vancouver', 'harvard1', 'chicago', 'mla'. A local file path or URL to a valid CSL file is also accepted. * @property {string} [lang] * Locale to use in formatting citations. Defaults to en-US. A local file path or URL to a valid locale file is also accepted. * @property {boolean} [suppressBibliography] * By default, biliography is inserted after the entire markdown file. * If the file contains `[^Ref]`, the biliography will be inserted there instead. * @property {boolean} [linkCitations] * If true, citations will be hyperlinked to the corresponding bibliography entries (for author-date and numeric styles only). * Defaults to false. * @property {string[]} [noCite] * Citation IDs (@item1) to include in the bibliography even if they are not cited in the document * @property {string[]} [inlineClass] * Class(es) to add to the inline citation. * @property {string[]} [inlineBibClass] * Class(es) to add to the inline bibliography. Leave empty for no inline bibliography. * @property {boolean} [showTooltips] * If true, citations will show the full bibliography entry as a tooltip on hover. * @property {string} [tooltipAttribute] * The HTML attribute to use for tooltips. Can be 'title' or any custom data attribute * (e.g., 'data-citation-text'). Defaults to 'title'. */ /** * @typedef CiteItemSuffix * This interface describes the potential return of the parseSuffix function. It * can return a locator, a label, and a suffix. More specifically, it will return * a label in any case, defaulting to "page", just like citeproc. * @property {string} [locator] * @property {string} [label] * @property {string} [suffix] * / /** * @typedef CiteItem * Cite item to be passed into citeproc-js * @property {string} [id] * The id field is required * @property {string} [locator] * A string identifying a page number or other pinpoint location or range within the resource; * @property {string} [label] * Path to file * @property {string} [prefix] * A string to print before this cite item * @property {string} [suffix] * A string to print after this cite item * @property {boolean} [suppress-author] * If true, author names will not be included in the citation output for this cite * @property {boolean} [author-only] * If true, only the author name will be included in the citation output for this cite * * @typedef {"note" | "in-text"} Mode * @typedef {'author-date' | 'author' | 'numeric' | 'note' | 'label'} CitationFormat */ export const Types: {}; /** * Configuration. */ export type Options = { /** * Name or path to Bibtex, CSL-JSON or CFF file. If multiple files are provided, they will be merged. */ bibliography?: string | string[]; /** * Optional path to file (node). Will be joined with `options.bibliography` and used in place of cwd of file if provided. */ path?: string; /** * One of 'apa', 'vancouver', 'harvard1', 'chicago', 'mla'. A local file path or URL to a valid CSL file is also accepted. */ csl?: 'apa' | 'vancouver' | 'harvard1' | 'chicago' | 'mla' | string; /** * Locale to use in formatting citations. Defaults to en-US. A local file path or URL to a valid locale file is also accepted. */ lang?: string; /** * By default, biliography is inserted after the entire markdown file. * If the file contains `[^Ref]`, the biliography will be inserted there instead. */ suppressBibliography?: boolean; /** * If true, citations will be hyperlinked to the corresponding bibliography entries (for author-date and numeric styles only). * Defaults to false. */ linkCitations?: boolean; /** * Citation IDs (@item1) to include in the bibliography even if they are not cited in the document */ noCite?: string[]; /** * Class(es) to add to the inline citation. */ inlineClass?: string[]; /** * Class(es) to add to the inline bibliography. Leave empty for no inline bibliography. */ inlineBibClass?: string[]; /** * If true, citations will show the full bibliography entry as a tooltip on hover. */ showTooltips?: boolean; /** * The HTML attribute to use for tooltips. Can be 'title' or any custom data attribute * (e.g., 'data-citation-text'). Defaults to 'title'. */ tooltipAttribute?: string; }; /** * This interface describes the potential return of the parseSuffix function. It * can return a locator, a label, and a suffix. More specifically, it will return * a label in any case, defaulting to "page", just like citeproc. */ export type CiteItemSuffix = { locator?: string; label?: string; /** * / * * /** */ suffix?: string; }; /** * Cite item to be passed into citeproc-js */ export type CiteItem = { /** * The id field is required */ id?: string; /** * A string identifying a page number or other pinpoint location or range within the resource; */ locator?: string; /** * Path to file */ label?: string; /** * A string to print before this cite item */ prefix?: string; /** * A string to print after this cite item */ suffix?: string; /** * If true, author names will not be included in the citation output for this cite */ "suppress-author"?: boolean; /** * If true, only the author name will be included in the citation output for this cite */ "author-only"?: boolean; }; export type Mode = "note" | "in-text"; export type CitationFormat = 'author-date' | 'author' | 'numeric' | 'note' | 'label';