Module:Citation/CS1/Configuration
Appearance
< Module:Citation | CS1
![]() | This Lua module is used on a very large number of pages. To avoid large-scale disruption and unnecessary server load, any changes to this module should first be tested in its /sandbox or /testcases subpages. The tested changes can then be added to this page in one single edit. Please consider discussing any changes on the talk page before implementing them. |
![]() | This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
This configuration file contains various data that controls the functioning of Module:Citation/CS1 and hence the way that Lua-based citations are generated.
It has several sections among which are:
- translation tables that contain most of the literal strings that may be included in Lua-based citation. If editors are copying this Module to another wiki using a language other than English, then they should translate each of these values into that language.
- a list of error conditions specifying what text to display, what category to include (if any), and what help page section to refer to when errors are detected
- a list of ID handlers specifying the recognized document IDs, such as ISBN, DOI, etc., and how to format them.
These files comprise the module support for CS1|2 citation templates:
citation_config = {};
--[[
List of namespaces that should not be included in citation
error categories. Same as setting notracking = true by default
Note: Namespace names should use underscores instead of spaces.
]]
citation_config.uncategorized_namespaces = { 'User', 'User_talk', 'Wikipedia_talk' };
--[[
Translation table
The following contains fixed text that may be output as part of a citation.
This is separated from the main body to aid in future translations of this
module.
]]
citation_config.messages = {
['published'] = 'published $1',
['lay summary'] = 'Lay summary',
['retrieved'] = 'Retrieved $1',
['inactive'] = 'inactive',
['archived-dead'] = 'Archived from $1 on $2',
['archived-not-dead'] = '$1 from the original on $2',
['archived-missing'] = 'Archived from the original$1 on $2',
['archived'] = 'Archived',
['original'] = 'the original',
['editor'] = 'ed.',
['editors'] = 'eds.',
['edition'] = '($1 ed.)',
['episode'] = 'episode',
['season'] = 'season',
['series'] = 'series',
['written'] = 'Written at $1',
['in'] = 'In',
['et al'] = 'et al.',
['subscription'] = '<span style="font-size:0.95em; font-size:90%; color:#555">(subscription required)</span>',
['language'] = '(in $1)',
['via'] = " — via $1",
['event'] = 'Event occurs at',
['minutes'] = 'minutes in',
['quoted-title'] = '"$1"',
['italic-title'] = "''$1''",
['trans-quoted-title'] = "[$1]",
['trans-italic-title'] = "[''$1'']",
['quoted-text'] = '"$1"',
['parameter'] = '<code>|$1=</code>',
['parameter-separator'] = ', ',
['parameter-final-separator'] = ', and ',
['parameter-pair-separator'] = ' and ',
-- Error output
['hidden-error'] = '<span style="display:none;font-size:100%" class="error citation-comment">$1</span>',
['visible-error'] = '<span style="font-size:100%" class="error citation-comment">$1</span>',
-- Determines the location of the help page
['help page link'] = 'Help:CS1 errors',
['help page label'] = 'help',
-- Internal errors (should only occur if configuration is bad)
['undefined_error'] = 'Called with an undefined error condition',
['unknown_manual_ID'] = 'Unrecognized manual ID mode',
['unknown_ID_mode'] = 'Unrecognized ID mode',
['unknown_argument_map'] = 'Argument map not defined for this variable',
['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty',
}
-- Aliases table for commonly passed parameters
citation_config.aliases = {
['AccessDate'] = 'accessdate',
['Agency'] = 'agency',
['AirDate'] = 'airdate',
['ArchiveDate'] = {'archive-date', 'archivedate' },
['ArchiveURL'] = {'archive-url', 'archiveurl' },
['ASINTLD'] = {'ASIN-TLD', 'asin-tld'},
['At'] = 'at',
['Authors'] = 'authors',
['AuthorFormat'] = {"author-format", "authorformat" },
['AuthorSeparator'] = 'author-separator',
['AuthorNameSeparator'] = 'author-name-separator',
['BookTitle'] = 'booktitle',
['Chapter'] = {'chapter', 'contribution', 'entry', 'article' },
['ChapterLink'] = 'chapterlink',
['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl' },
['Coauthors'] = {'coauthors', 'coauthor' },
['Conference'] = 'conference',
['ConferenceURL'] = {'conference-url', 'conferenceurl' },
['Date'] = 'date',
['Day'] = 'day',
['DeadURL'] = 'deadurl',
['DisplayAuthors'] = {"display-authors", "displayauthors"},
['DisplayEditors'] = {"display-editors", "displayeditors"},
['DoiBroken'] = {'doi_inactivedate', 'doi_brokendate', 'DoiBroken'},
['Edition'] = 'edition',
['Editors'] = 'editors',
['EditorFormat'] = {"editor-format", "editorformat" },
['EditorSeparator'] = 'editor-separator',
['EditorNameSeparator'] = 'editor-name-separator',
['Embargo'] = {'Embargo', 'embargo'},
['Format'] = 'format',
['ID'] = {'id', 'ID', 'docket'},
['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'},
['Issue'] = {'issue', 'number'},
['Language'] = {'language', 'in'},
['LastAuthorAmp'] = 'lastauthoramp',
['LayDate'] = 'laydate',
['LaySource'] = 'laysource',
['LayURL'] = {'layurl', 'laysummary'},
['Minutes'] = 'minutes',
['Month'] = 'month',
['NameSeparator'] = 'name-separator',
['Network'] = 'network',
['NoPP'] = 'nopp',
['NoTracking'] = {"template doc demo", 'nocat',
'notracking', "no-tracking"},
['OrigYear'] = 'origyear',
['Others'] = 'others',
['Page'] = {'p', 'page'},
['Pages'] = {'pp', 'pages'},
['Periodical'] = {'journal', 'newspaper', 'magazine', 'work',
'website', 'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary'},
['Place'] = {'place', 'location'},
['PPrefix'] = 'PPrefix',
['PPPrefix'] = 'PPPrefix',
['PostScript'] = 'postscript',
['PublicationDate'] = {'publicationdate', 'publication-date' },
['PublicationPlace'] = {'publication-place', 'publicationplace' },
['PublisherName'] = 'publisher',
['Quote'] = {'quote', 'quotation'},
['Ref'] = {'ref', 'Ref'},
['Season'] = 'season',
['Separator'] = 'separator',
['Series'] = {'series', 'version'},
['SeriesSeparator'] = 'series-separator',
['SeriesLink'] = 'serieslink',
['SeriesNumber'] = {'seriesnumber', 'seriesno'},
['Station'] = 'station',
['SubscriptionRequired'] = 'subscription',
['Time'] = 'time',
['TimeCaption'] = 'timecaption',
['Title'] = 'title',
['TitleLink'] = {'titlelink', 'episodelink' },
['TitleNote'] = 'department',
['TitleType'] = 'type',
['TransChapter'] = {'trans-chapter', 'trans_chapter' },
['Transcript'] = 'transcript',
['TranscriptURL'] = {'transcript-url', 'transcripturl'},
['TransTitle'] = {'trans-title', 'trans_title' },
['URL'] = {'url', 'URL'},
['Via'] = 'via',
['Volume'] = 'volume',
['Year'] = 'year',
['AuthorList-First'] = {"author#-first", "author-first#",
"first#", "given#"},
['AuthorList-Last'] = {"author#-last", "author-last#",
"last#", "surname#", "Author#", "author#", "authors#"},
['AuthorList-Link'] = {"author#-link", "author-link#",
"author#link", "authorlink#"},
['AuthorList-Mask'] = {"author#-mask", "author-mask#",
"author#mask", "authormask#"},
['EditorList-First'] = {"editor#-first",
"editor-first#", "EditorGiven#"},
['EditorList-Last'] = {"editor#-last", "editor-last#",
"EditorSurname#", "Editor#", "editor#", "editors#"},
['EditorList-Link'] = {"editor#-link", "editor-link#",
"editor#link", "editorlink#"},
['EditorList-Mask'] = {"editor#-mask", "editor-mask#",
"editor#mask", "editormask#"},
}
-- Default parameter values
citation_config.defaults = {
['DeadURL'] = 'yes',
['PostScript'] = '.',
['Separator'] = '.',
['AuthorSeparator'] = ';',
['EditorSeparator'] = ';',
['NameSeparator'] = ',',
['PPrefix'] = "p. ",
['PPPrefix'] = "pp. ",
}
--[[
Error condition table
The following contains a list of IDs for various error conditions defined in the
code. For each ID, we specify a text message to display, an error category to
include, and whether the error message should be wrapped as a hidden comment.
Anchor changes require identical changes to matching anchor in Help:CS1 errors
]]
citation_config.error_conditions = {
accessdate_missing_url = {
message = '<code>|accessdate=</code> requires <code>|url=</code>',
anchor = 'accessdate_missing_url',
category = 'Pages using citations with accessdate and no URL',
hidden = true },
archive_missing_date = {
message = '<code>|archiveurl=</code> requires <code>|archivedate=</code>',
anchor = 'archive_missing_date',
category = 'Pages with archiveurl citation errors',
hidden = false },
archive_missing_url = {
message = '<code>|archiveurl=</code> requires <code>|url=</code>',
anchor = 'archive_missing_url',
category = 'Pages with archiveurl citation errors',
hidden = false },
bad_doi = {
message = 'Check <code>|doi=</code> value',
anchor = 'bad_doi',
category = 'Pages with DOI errors',
hidden = false },
bad_isbn = {
message = 'Check <code>|isbn=</code> value',
anchor = 'bad_isbn',
category = 'Pages with ISBN errors',
hidden = false },
bad_ol = {
message = 'Check <code>|ol=</code> value',
anchor = 'bad_ol',
category = 'Pages with OL errors',
hidden = false },
bad_url = {
message = 'Check <code>|url=</code> scheme',
anchor = 'bad_url',
category = 'Pages with URL errors',
hidden = false },
bare_url_missing_title = {
message = '$1 missing title',
anchor = 'bare_url_missing_title',
category = 'Pages with citations having bare URLs',
hidden = false },
citation_missing_title = {
message = 'Missing or empty <code>|title=</code>',
anchor = 'citation_missing_title',
category = 'Pages with citations lacking titles',
hidden = false },
cite_web_url = {
message = 'Missing or empty <code>|url=</code>',
anchor = 'cite_web_url',
category = 'Pages using web citations with no URL',
hidden = true },
empty_citation = {
message = 'Empty citation',
anchor = 'empty_citation',
category = 'Pages with empty citations',
hidden = false },
extra_pages = {
message = 'Extra <code>|pages=</code> or <code>|at=</code>',
anchor = 'extra_pages',
category = 'Pages with citations using conflicting page specifications',
hidden = false },
format_missing_url = {
message = '<code>|format=</code> requires <code>|url=</code>',
anchor = 'format_missing_url',
category = 'Pages using citations with format and no URL',
hidden = true },
implict_etal_author = {
message = '<code>|displayauthors=</code> suggested',
anchor = 'displayauthors',
category = 'Pages using citations with old-style implicit et al.',
hidden = true },
implict_etal_editor = {
message = '<code>|displayeditors=</code> suggested',
anchor = 'displayeditors',
category = 'Pages using citations with old-style implicit et al.',
hidden = true },
parameter_ignored = {
message = 'Unknown parameter <code>|$1=</code> ignored',
anchor = 'parameter_ignored',
category = 'Pages with citations using unsupported parameters',
hidden = false },
parameter_ignored_suggest = {
message = 'Unknown parameter <code>|$1=</code> ignored (<code>|$2=</code> suggested)',
anchor = 'parameter_ignored_suggest',
category = 'Pages with citations using unsupported parameters',
hidden = false },
redundant_parameters = {
message = 'More than one of $1 specified',
anchor = 'redundant_parameters',
category = 'Pages with citations having redundant parameters',
hidden = false },
text_ignored = {
message = 'Text "$1" ignored',
anchor = 'text_ignored',
category = 'Pages with citations using unnamed parameters',
hidden = false },
trans_missing_chapter = {
message = '<code>|trans-chapter=</code> requires <code>|chapter=</code>',
anchor = 'trans_missing_chapter',
category = 'Pages with citations using translated terms without the original',
hidden = false },
trans_missing_title = {
message = '<code>|trans-title=</code> requires <code>|title=</code>',
anchor = 'trans_missing_title',
category = 'Pages with citations using translated terms without the original',
hidden = false },
wikilink_in_url = {
message = 'Wikilink embedded in URL title',
anchor = 'wikilink_in_url',
category = 'Pages with citations having wikilinks embedded in URL titles',
hidden = false },
}
citation_config.id_handlers = {
['ASIN'] = {
parameters = { 'asin', 'ASIN' },
link = 'Amazon Standard Identification Number',
label = 'ASIN',
mode = 'manual',
COinS = 'info:asin',
separator = ' ',
encode = false;
},
['DOI'] = {
parameters = { 'doi', 'DOI' },
link = 'Digital object identifier',
label = 'doi',
mode = 'manual',
prefix = 'http://dx.doi.org/',
COinS = 'info:doi',
separator = ':',
encode = true,
},
['OL'] = {
parameters = { 'ol', 'OL' },
link = 'Open Library',
label = 'OL',
mode = 'manual',
COinS = 'info:olnum',
separator = ' ',
endode = true,
},
['ARXIV'] = {
parameters = {'arxiv', 'ARXIV'},
link = 'arXiv',
label = 'arXiv',
mode = 'external',
prefix = 'http://arxiv.org/abs/',
encode = false,
COinS = 'info:arxiv',
separator = ':',
},
['BIBCODE'] = {
parameters = {'bibcode', 'BIBCODE'},
link = 'Bibcode',
label = 'Bibcode',
mode = 'external',
prefix = 'http://adsabs.harvard.edu/abs/',
encode = false,
COinS = 'info:bibcode',
separator = ':',
},
['ISBN'] = {
parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'},
link = 'International Standard Book Number',
label = 'ISBN',
mode = 'manual',
prefix = 'Special:BookSources/',
COinS = 'rft.isbn',
separator = ' ',
},
['ISSN'] = {
parameters = {'issn', 'ISSN'},
link = 'International Standard Serial Number',
label = 'ISSN',
mode = 'external',
prefix = '//www.worldcat.org/issn/',
COinS = 'rft.issn',
encode = false,
separator = ' ',
},
['JFM'] = {
parameters = {'jfm', 'JFM'},
link = 'Jahrbuch über die Fortschritte der Mathematik',
label = 'JFM',
mode = 'external',
prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
COinS = 'rft.jfm',
encode = true,
separator = ' ',
},
['JSTOR'] = {
parameters = {'jstor', 'JSTOR'},
link = 'JSTOR',
label = 'JSTOR',
mode = 'external',
prefix = 'http://www.jstor.org/stable/',
COinS = 'rft.jstor',
encode = true,
separator = ' ',
},
['LCCN'] = {
parameters = {'LCCN', 'lccn'},
link = 'Library of Congress Control Number',
label = 'LCCN',
mode = 'external',
prefix = 'http://lccn.loc.gov/',
COinS = 'rft.lccn',
encode = false,
separator = ' ',
},
['MR'] = {
parameters = {'MR', 'mr'},
link = 'Mathematical Reviews',
label = 'MR',
mode = 'external',
prefix = 'http://www.ams.org/mathscinet-getitem?mr=',
COinS = 'rft.mr',
encode = true,
separator = ' ',
},
['OCLC'] = {
parameters = {'OCLC', 'oclc'},
link = 'OCLC',
label = 'OCLC',
mode = 'external',
prefix = '//www.worldcat.org/oclc/',
COinS = 'info:oclcnum',
encode = true,
separator = ' ',
},
['OSTI'] = {
parameters = {'OSTI', 'osti'},
link = 'Office of Scientific and Technical Information',
label = 'OSTI',
mode = 'external',
prefix = 'http://www.osti.gov/energycitations/product.biblio.jsp?osti_id=',
COinS = 'info:osti',
encode = true,
separator = ' ',
},
['PMC'] = {
parameters = {'PMC', 'pmc'},
link = 'PubMed Central',
label = 'PMC',
mode = 'external',
prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC',
suffix = " ",
COinS = 'info:pmc',
encode = true,
separator = ' ',
},
['PMID'] = {
parameters = {'PMID', 'pmid'},
link = 'PubMed Identifier',
label = 'PMID',
mode = 'external',
prefix = '//www.ncbi.nlm.nih.gov/pubmed/',
COinS = 'info:pmid',
encode = false,
separator = ' ',
},
['RFC'] = {
parameters = {'RFC', 'rfc'},
link = 'Request for Comments',
label = 'RFC',
mode = 'external',
prefix = '//tools.ietf.org/html/rfc',
COinS = 'info:rfc',
encode = false,
separator = ' ',
},
['SSRN'] = {
parameters = {'SSRN', 'ssrn'},
link = 'Social Science Research Network',
label = 'SSRN',
mode = 'external',
prefix = 'http://ssrn.com/abstract=',
COinS = 'info:ssrn',
encode = true,
separator = ' ',
},
['ZBL'] = {
parameters = {'ZBL', 'zbl'},
link = 'Zentralblatt MATH',
label = 'Zbl',
mode = 'external',
prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
COinS = 'info:zbl',
encode = true,
separator = ' ',
}
}
return citation_config;