:Citation/CS1/Configuration
citation_config = {};
-- override ...
styling to remove color, border, and padding. css is specified here:
-- https://git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199
local code_style="color:inherit; border:inherit; padding:inherit;";
--[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------
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', 'Talk', 'User_talk', 'Wikipedia_talk', 'File_talk', 'Template_talk', 'Help_talk', 'Category_talk', 'Portal_talk', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk', 'Module_talk', 'MediaWiki_talk' };
--[[--------------------------< M E S S A G E S >--------------------------------------------------------------
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',
['cartography'] = 'Cartography by $1',
['section'] = 'Section $1',
['inset'] = '$1 inset',
['written'] = 'Written at $1',
['in'] = 'In',
['et al'] = 'et al.',
['subscription'] = '(subscription required (help))' ..
,
['registration']='(registration required (help))' ..
,
['language'] = '(in $1)',
['via'] = " – via $1",
['event'] = 'Event occurs at',
['minutes'] = 'minutes in',
['parameter-separator'] = ', ', ['parameter-final-separator'] = ', and ', ['parameter-pair-separator'] = ' and ',
-- 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',
}
--[[--------------------------< P R E S E N T A T I O N >------------------------------------------------------
Fixed presentation markup. Originally part of citation_config.messages it has been moved into its own, more semantically correct place.
]] citation_config.presentation = { -- Error output -- .error class is specified at https://git.wikimedia.org/blob/mediawiki%2Fcore.git/9553bd02a5595da05c184f7521721fb1b79b3935/skins%2Fcommon%2Fshared.css#L538 -- .citation-comment class is specified at Help:CS1_errors#Controlling_error_message_display ['hidden-error'] = ' ', ['visible-error'] = '$1',
['accessdate'] = '$1$2', -- to allow editors to hide accessdate using personal css
['bdi'] = '$2', -- bidirectional isolation used with |script-title= and the like
['italic-title'] = "$1",
['kern-left'] = '$1$2', -- spacing to use when title contains leading single or double quote mark ['kern-right'] = '$1$2', -- spacing to use when title contains trailing single or double quote mark
['nowrap1'] = '$1', -- for nowrapping an item: yyyy-mm-dd ['nowrap2'] = '$1 $2', -- for nowrapping portions of an item: dd mmmm yyyy (note white space)
['parameter'] = '<code style="'..code_style..'">|$1=',
['quoted-text'] = '<q>$1</q>', -- for wrapping |quote= content ['quoted-title'] = '"$1"',
['trans-italic-title'] = "[$1]", ['trans-quoted-title'] = "[$1]", }
--[[--------------------------< A L I A S E S >----------------------------------------------------------------
Aliases table for commonly passed parameters
]]
citation_config.aliases = { ['AccessDate'] = {'access-date', 'accessdate'}, ['Agency'] = 'agency', ['AirDate'] = {'air-date', 'airdate'}, ['ArchiveDate'] = {'archive-date', 'archivedate'}, ['ArchiveURL'] = {'archive-url', 'archiveurl'}, ['ASINTLD'] = {'ASIN-TLD', 'asin-tld'}, ['At'] = 'at', ['Authors'] = {'authors', 'people', 'host'}, ['AuthorFormat'] = {'author-format', 'authorformat'}, -- deprecated in favor of NameListFormat; ['AuthorSeparator'] = 'author-separator', -- deprecated ['AuthorNameSeparator'] = 'author-name-separator', -- deprecated ['BookTitle'] = {'book-title', 'booktitle'}, ['Callsign'] = {'call-sign', 'callsign'}, -- cite interview ['Cartography'] = 'cartography', ['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'}, ['ChapterFormat'] = 'chapter-format'; ['ChapterLink'] = {'chapter-link', 'chapterlink'}, -- deprecated; remove after 1 January 2015? ['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'}, ['City'] = 'city', -- cite interview ['Coauthors'] = {'coauthors', 'coauthor'}, -- coauthor and coauthors are deprecated; remove after 1 January 2015? ['Conference'] = {'conference', 'event'}, ['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'}, ['Date'] = 'date', ['DeadURL'] = {'dead-url', 'deadurl'}, ['Degree'] = 'degree', ['DisplayAuthors'] = {'display-authors', 'displayauthors'}, ['DisplayEditors'] = {'display-editors', 'displayeditors'}, ['Docket'] = 'docket', ['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date', 'DoiBroken', 'doi_brokendate', 'doi_inactivedate'}, ['Edition'] = 'edition', ['Editors'] = 'editors', ['EditorFormat'] = {'editor-format', 'editorformat'}, -- deprecated in favor of NameListFormat; ['EditorSeparator'] = 'editor-separator', -- deprecated ['EditorNameSeparator'] = 'editor-name-separator', -- deprecated ['Embargo'] = {'Embargo', 'embargo'}, ['Encyclopedia'] = {'encyclopedia', 'encyclopaedia'}, -- this one only used by citation ['Format'] = 'format', ['ID'] = {'id', 'ID'}, ['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'}, ['Inset'] = 'inset', ['Issue'] = {'issue', 'number'}, ['Language'] = {'language', 'in'}, ['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'}, ['LayDate'] = {'lay-date', 'laydate'}, ['LaySource'] = {'lay-source', 'laysource'}, ['LayURL'] = {'lay-url', 'lay-summary', 'layurl', 'laysummary'}, ['MailingList'] = {'mailinglist', 'mailing-list'}, -- cite mailing list only ['MessageID'] = 'message-id', ['Minutes'] = 'minutes', ['Mode'] = 'mode', ['Month'] = 'month', -- deprecated; remove after 1 January 2015? ['NameListFormat'] = {'name-list-format', 'author-format', 'authorformat', 'editor-format', 'editorformat'}, ['NameSeparator'] = 'name-separator', -- deprecated ['Network'] = 'network', ['NoPP'] = {'no-pp', 'nopp'}, ['NoTracking'] = {'template-doc-demo', 'template doc demo', 'no-cat', 'nocat', 'no-tracking', 'notracking'}, ['OrigYear'] = {'orig-year', 'origyear'}, ['Others'] = {'others', 'interviewer', 'interviewers'}, ['Page'] = {'p', 'page'}, ['Pages'] = {'pp', 'pages'}, ['Periodical'] = {'journal', 'newspaper', 'magazine', 'work', 'website', 'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary'}, ['Place'] = {'place', 'location'}, ['PPrefix'] = {'p-prefix', 'PPrefix'}, ['PPPrefix'] = {'pp-prefix', 'PPPrefix'}, ['Program'] = 'program', -- cite interview ['PostScript'] = 'postscript', ['PublicationDate'] = {'publicationdate', 'publication-date'}, ['PublicationPlace'] = {'publication-place', 'publicationplace'}, ['PublisherName'] = {'publisher', 'distributor', 'institution', 'newsgroup'}, ['Quote'] = {'quote', 'quotation'}, ['Ref'] = {'ref', 'Ref'}, ['RegistrationRequired'] = 'registration', ['Scale'] = 'scale', ['ScriptTitle'] = 'script-title', ['Section'] = 'section', ['Season'] = 'season', ['Separator'] = 'separator', -- deprecated in favor of Mode ['Series'] = {'series', 'version'}, ['SeriesSeparator'] = 'series-separator', ['SeriesLink'] = {'series-link', 'serieslink'}, ['SeriesNumber'] = {'series-number', 'series-no', 'seriesnumber', 'seriesno'}, ['Station'] = 'station', ['SubscriptionRequired'] = 'subscription', ['Time'] = 'time', ['TimeCaption'] = {'time-caption', 'timecaption'}, ['Title'] = 'title', ['TitleLink'] = {'title-link', 'episode-link', 'titlelink', 'episodelink'}, ['TitleNote'] = 'department', ['TitleType'] = {'type', 'medium'}, ['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#", "subject#"}, ['AuthorList-Link'] = {"author#-link", "author-link#", "author#link", "authorlink#", "subject-link#", "subject#link", "subject#-link", "subjectlink#"}, ['AuthorList-Mask'] = {"author#-mask", "author-mask#", "author#mask", "authormask#"},
['EditorList-First'] = {"editor#-first", "editor-first#", "editor#-given", "editor-given#", "EditorGiven#"}, ['EditorList-Last'] = {"editor#-last", "editor-last#", "editor#-surname", "editor-surname#", "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', ['PPrefix'] = "p. ", ['PPPrefix'] = "pp. ", }
--[[--------------------------< E R R O R _ C O N D I T I O N S >---------------------------------------------- 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 = '|accessdate=
requires |url=
',
anchor = 'accessdate_missing_url',
category = 'Pages using citations with accessdate and no URL',
hidden = true },
archive_missing_date = {
message = '|archiveurl=
requires |archivedate=
',
anchor = 'archive_missing_date',
category = 'Pages with archiveurl citation errors',
hidden = false },
archive_missing_url = {
message = '|archiveurl=
requires |url=
',
anchor = 'archive_missing_url',
category = 'Pages with archiveurl citation errors',
hidden = false },
bad_arxiv = {
message = 'Check |arxiv=
value',
anchor = 'bad_arxiv',
category = 'CS1 errors: arXiv',
hidden = false },
bad_asin = {
message = 'Check |asin=
value',
anchor = 'bad_asin',
category ='CS1 errors: ASIN',
hidden = false },
bad_authorlink = {
message = 'Check |authorlink=
value',
anchor = 'bad_authorlink',
category = 'CS1 errors: authorlink',
hidden = false },
bad_date = {
message = 'Check date values in: $1
',
anchor = 'bad_date',
category = 'CS1 errors: dates',
hidden = false },
bad_doi = {
message = 'Check |doi=
value',
anchor = 'bad_doi',
category = 'CS1 errors: DOI',
hidden = false },
bad_isbn = {
message = 'Check |isbn=
value',
anchor = 'bad_isbn',
category = 'Pages with ISBN errors',
hidden = false },
bad_issn = {
message = 'Check |issn=
value',
anchor = 'bad_issn',
category = 'CS1 errors: ISSN',
hidden = false },
bad_lccn = {
message = 'Check |lccn=
value',
anchor = 'bad_lccn',
category = 'CS1 errors: LCCN',
hidden = false },
bad_message_id = {
message = 'Check |message-id=
value',
anchor = 'bad_message_id',
category = 'CS1 errors: message-id',
hidden = false },
bad_ol = {
message = 'Check |ol=
value',
anchor = 'bad_ol',
category = 'CS1 errors: OL',
hidden = false },
bad_pmc = {
message = 'Check |pmc=
value',
anchor = 'bad_pmc',
category = 'CS1 errors: PMC',
hidden = false },
bad_pmid = {
message = 'Check |pmid=
value',
anchor = 'bad_pmid',
category = 'CS1 errors: PMID',
hidden = false },
bad_url = {
message = 'Check |url=
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 },
chapter_ignored = {
message = '|chapter=
ignored',
anchor = 'chapter_ignored',
category = 'CS1 errors: chapter ignored',
hidden = false },
citation_missing_title = {
message = 'Missing or empty |title=
',
anchor = 'citation_missing_title',
category = 'Pages with citations lacking titles',
hidden = false },
cite_web_url = { -- this error applies to cite web and to cite podcast
message = 'Missing or empty |url=
',
anchor = 'cite_web_url',
category = 'Pages using web citations with no URL',
hidden = true },
coauthors_missing_author = {
message = '|coauthors=
requires |author=
',
anchor = 'coauthors_missing_author',
category = 'CS1 errors: coauthors without author',
hidden = false },
deprecated_params = {
message = 'Cite uses deprecated parameter |$1=
',
anchor = 'deprecated_params',
category = 'Pages containing cite templates with deprecated parameters',
hidden = true },
empty_citation = {
message = 'Empty citation',
anchor = 'empty_citation',
category = 'Pages with empty citations',
hidden = false },
extra_pages = {
message = 'Extra |pages=
or |at=
',
anchor = 'extra_pages',
category = 'Pages with citations using conflicting page specifications',
hidden = false },
first_missing_last = {
message = '|first$2=
missing |last$2=
in $1',
anchor = 'first_missing_last',
category = 'CS1 errors: missing author or editor',
hidden = false },
format_missing_url = {
message = '|$1=
requires |$2=
',
anchor = 'format_missing_url',
category = 'Pages using citations with format and no URL',
hidden = true },
implict_etal_editor = {
message = '|displayeditors=
suggested',
anchor = 'displayeditors',
category = 'Pages using citations with old-style implicit et al. in editors',
hidden = true },
invalid_param_val = {
message = 'Invalid |$1=$2
',
anchor = 'invalid_param_val',
category = 'CS1 errors: invalid mode',
hidden = false },
missing_name = {
message = 'Missing |last$2=
in $1',
anchor = 'missing_name',
category = 'CS1 errors: missing author or editor',
hidden = false },
parameter_ignored = {
message = 'Unknown parameter |$1=
ignored',
anchor = 'parameter_ignored',
category = 'Pages with citations using unsupported parameters',
hidden = false },
parameter_ignored_suggest = {
message = 'Unknown parameter |$1=
ignored (|$2=
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 = '|trans-chapter=
requires |chapter=
',
anchor = 'trans_missing_chapter',
category = 'Pages with citations using translated terms without the original',
hidden = false },
trans_missing_title = {
message = '|trans-title=
requires |title=
',
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 = { ['ARXIV'] = { parameters = {'arxiv', 'ARXIV'}, link = 'arXiv', label = 'arXiv', mode = 'manual', prefix = '//arxiv.org/abs/', -- protocol relative tested 2013-09-04 encode = false, COinS = 'info:arxiv', separator = ':', }, ['ASIN'] = { parameters = { 'asin', 'ASIN' }, link = 'Amazon Standard Identification Number', label = 'ASIN', mode = 'manual', COinS = 'info:asin', separator = ' ', encode = false; }, ['BIBCODE'] = { parameters = {'bibcode', 'BIBCODE'}, link = 'Bibcode', label = 'Bibcode', mode = 'external', prefix = 'http://adsabs.harvard.edu/abs/', encode = false, COinS = 'info:bibcode', separator = ':', }, ['DOI'] = { parameters = { 'doi', 'DOI' }, link = 'Digital object identifier', label = 'doi', mode = 'manual', prefix = '//dx.doi.org/', COinS = 'info:doi', separator = ':', encode = true, }, ['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 = 'manual', 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 = '//zbmath.org/?format=complete&q=an:', COinS = 'rft.jfm', encode = true, separator = ' ', }, ['JSTOR'] = { parameters = {'jstor', 'JSTOR'}, link = 'JSTOR', label = 'JSTOR', mode = 'external', prefix = '//www.jstor.org/stable/', -- protocol relative tested 2013-09-04 COinS = 'rft.jstor', -- encode = true, encode = false, separator = ' ', }, ['LCCN'] = { parameters = {'LCCN', 'lccn'}, link = 'Library of Congress Control Number', label = 'LCCN', mode = 'manual', prefix = 'http://lccn.loc.gov/', COinS = 'rft.lccn', encode = false, separator = ' ', }, ['MR'] = { parameters = {'MR', 'mr'}, link = 'Mathematical Reviews', label = 'MR', mode = 'external', prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04 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 = ' ', }, ['OL'] = { parameters = { 'ol', 'OL' }, link = 'Open Library', label = 'OL', mode = 'manual', COinS = 'info:olnum', separator = ' ', endode = true, }, ['OSTI'] = { parameters = {'OSTI', 'osti'}, link = 'Office of Scientific and Technical Information', label = 'OSTI', mode = 'external', prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04 COinS = 'info:osti', encode = true, separator = ' ', }, ['PMC'] = { parameters = {'PMC', 'pmc'}, link = 'PubMed Central', label = 'PMC', mode = 'manual', -- changed to support unlinking of PMC identifier when article is embargoed 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 = 'manual', -- changed from external manual to support PMID validation 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 = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04 COinS = 'info:ssrn', encode = true, separator = ' ', }, ['USENETID'] = { parameters = {'message-id'}, link = 'Usenet', label = 'Usenet:', mode = 'manual', prefix = 'news:', encode = false, COinS = 'info:usenet', separator = ' ', }, ['ZBL'] = { parameters = {'ZBL', 'zbl'}, link = 'Zentralblatt MATH', label = 'Zbl', mode = 'external', prefix = '//zbmath.org/?format=complete&q=an:', COinS = 'info:zbl', encode = true, separator = ' ', }, }
return citation_config;