Module:Citation/CS1/Configuration: Difference between revisions

Synch from sandbox;
m (<import-logentry-upload-detail>)
 
(Synch from sandbox;)
Line 30:
 
local messages = {
['publishedarchived-dead'] = 'publishedArchived from $1 on $2',
['archived-not-dead'] = '$1 from the original on $2',
['lay summary'] = 'Lay summary',
['retrievedarchived-missing'] = 'RetrievedArchived from the original$1 on $2',
['inactivearchived'] = 'inactiveArchived',
['by'] = 'By', -- contributions to authored works: introduction, foreword, afterword
['archived-dead'] = 'Archived from $1 on $2',
['archived-not-deadcartography'] = '$1Cartography from the original onby $21',
['editor'] = 'ed.',
['archived-missing'] = 'Archived from the original$1 on $2',
['archivededitors'] = 'Archivededs.',
['originaledition'] = 'the($1 originaled.)',
['editorepisode'] = 'ed.Episode $1',
['editorset al'] = 'edset al.',
['in'] = 'In', -- edited works
['edition'] = '($1 ed.)',
['episodeinactive'] = 'Episode $1inactive',
['seasoninset'] = 'Season $1 inset',
['serieslay summary'] = 'SeriesLay $1summary',
['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]:&nbsp;$1',
['cartography'] = 'Cartography by $1',
['sectionoriginal'] = '§the $1original',
['sectionspublished'] = '§§published $1',
['insetretrieved'] = 'Retrieved $1 inset',
['writtenseason'] = 'Written atSeason $1',
['insection'] = 'In§ $1',
['et alsections'] = 'et§§ al.$1',
['series'] = 'Series $1',
['type'] = ' ($1)', -- for titletype
['subscription'] = '<span style="font-size:0.95em; font-size:90%; color:#555">(subscription required (<span title="Sources are not required to be available online. Online sources do not have to be freely available. The site may require a paid subscription." style="border-bottom:1px dotted;cursor:help">help</span>))</span>' ..
['written'] = 'Written at $1',
'[[Category:Pages containing links to subscription-only content]]',
 
['vol'] = '$1 Vol.&nbsp;$2', -- $1 is sepc; bold journal style volume is in presentation{}
['registration']='<span style="font-size:0.95em; font-size:90%; color:#555">(registration required (<span title="Sources are not required to be available online. Online sources do not have to be freely available. The site may require registration." style="border-bottom:1px dotted;cursor:help">help</span>))</span>' ..
['vol-no'] = '$1 Vol.&nbsp;$2 no.&nbsp;$3', -- sepc, volume, issue
'[[Category:Pages with login required references or sources]]',
['issue'] = '$1 No.&nbsp;$2', -- $1 is sepc
['language'] = '(in $1)',
['via'] = " &ndash; via $1",
['event'] = 'Event occurs at',
['minutes'] = 'minutes in',
 
['j-vol'] = '$1 $2', -- sepc, volume; bold journal volume is in presentation{}
['parameter-separator'] = ', ',
['parameterj-final-separatorissue'] = ', and ($1)',
['parameter-pair-separator'] = ' and ',
 
['nopp'] = '$1 $2'; -- page(s) without prefix; $1 is sepc
-- Determines the location of the help page
 
['help page link'] = 'Help:CS1 errors',
['p-prefix'] = "$1 p.&nbsp;$2", -- $1 is sepc
['help page label'] = 'help',
['pp-prefix'] = "$1 pp.&nbsp;$2", -- $1 is sepc
['j-page(s)'] = ': $1', -- same for page and pages
-- Internal errors (should only occur if configuration is bad)
 
['undefined_error'] = 'Called with an undefined error condition',
['sheet'] = '$1 Sheet&nbsp;$2', -- $1 is sepc
['unknown_manual_ID'] = 'Unrecognized manual ID mode',
['sheets'] = '$1 Sheets&nbsp;$2', -- $1 is sepc
['unknown_ID_mode'] = 'Unrecognized ID mode',
['j-sheet'] = ': Sheet&nbsp;$1',
['unknown_argument_map'] = 'Argument map not defined for this variable',
['j-sheets'] = ': Sheets&nbsp;$1',
['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty',
['subscription'] = '<span style="font-size:90%; color:#555">(subscription required (<span title="Sources are not required to be available online. Online sources do not have to be freely available. The site may require a paid subscription." style="border-bottom:1px dotted;cursor:help">help</span>))</span>' ..
'[[Category:Pages containing links to subscription-only content]]',
['registration']='<span style="font-size:90%; color:#555">(registration required (<span title="Sources are not required to be available online. Online sources do not have to be freely available. The site may require registration." style="border-bottom:1px dotted;cursor:help">help</span>))</span>' ..
'[[Category:Pages with login required references or sources]]',
['language'] = '(in $1)',
['via'] = " &ndash; 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',
}
 
Line 97 ⟶ 118:
 
['bdi'] = '<bdi$1>$2</bdi>', -- bidirectional isolation used with |script-title= and the like
 
['cite'] = '<cite class="$1">$2</cite>'; -- |ref= not set so no id="..." attribute
['cite-id'] = '<cite id="$1" class="$2">$3</cite>'; -- for use when |ref= is set
 
['format'] = ' <span style="font-size:85%;">($1)</span>', -- for |format=, |chapter-format=, etc
Line 107 ⟶ 131:
['nowrap1'] = '<span class="nowrap">$1</span>', -- for nowrapping an item: <span ...>yyyy-mm-dd</span>
['nowrap2'] = '<span class="nowrap">$1</span> $2', -- for nowrapping portions of an item: <span ...>dd mmmm</span> yyyy (note white space)
 
['ocins'] = '<span title="$1" class="Z3988"><span style="display:none;">&nbsp;</span></span>', -- Note: Using display: none on the COinS span breaks some clients
 
['parameter'] = '<code style="'..code_style..'">&#124;$1=</code>',
 
Line 115 ⟶ 141:
['trans-italic-title'] = "&#91;''$1''&#93;",
['trans-quoted-title'] = "&#91;$1&#93;",
['vol-bold'] = ' <b>$1</b>', -- for journal cites; for other cites ['vol'] in messages{}
}
 
--[[--------------------------< A L I A S E S >----------------------------------------------------------------
 
Line 133 ⟶ 161:
['At'] = 'at',
['Authors'] = {'authors', 'people', 'host', 'credits'},
['AuthorFormat'] = {'author-format', 'authorformat'}, -- deprecated in favor of NameListFormat;
['AuthorSeparator'] = 'author-separator', -- deprecated
['AuthorNameSeparator'] = 'author-name-separator', -- deprecated
['Began'] = 'began', -- cite episode and cite series
['BookTitle'] = {'book-title', 'booktitle'},
['Callsign'] = {'call-sign', 'callsign'}, -- cite interview
Line 142 ⟶ 166:
['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'},
['ChapterFormat'] = {'chapter-format', 'contribution-format', 'section-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
['Class'] = 'class', -- cite arxiv and arxiv identifiers
['Coauthors'] = {'coauthors', 'coauthor'}, -- coauthor and coauthors are deprecated; remove after 1 January 2015?
['Collaboration'] = 'collaboration',
['Conference'] = {'conference', 'event'},
['ConferenceFormat'] = {'conference-format', 'event-format'},
['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'},
['Contribution'] = 'contribution', -- introduction, foreword, afterword, etc; required when |contributor= set
['Date'] = {'date', 'air-date', 'airdate'},
['DeadURL'] = {'dead-url', 'deadurl'},
['Degree'] = 'degree',
['DF'] = 'df',
['DisplayAuthors'] = {'display-authors', 'displayauthors'},
['DisplayEditors'] = {'display-editors', 'displayeditors'},
Line 159 ⟶ 185:
['Edition'] = 'edition',
['Editors'] = 'editors',
['EditorFormat'] = {'editor-format', 'editorformat'}, -- deprecated in favor of NameListFormat;
['EditorSeparator'] = 'editor-separator', -- deprecated
['EditorNameSeparator'] = 'editor-name-separator', -- deprecated
['Embargo'] = 'embargo',
['Encyclopedia'] = {'encyclopedia', 'encyclopaedia'}, -- this one only used by citation
['Ended'] = 'ended', -- cite episode and cite series
['Episode'] = 'episode', -- cite serial only TODO: make available to cite episode?
['Format'] = 'format',
Line 184 ⟶ 206:
['Minutes'] = 'minutes',
['Mode'] = 'mode',
['NameListFormat'] = 'name-list-format',
['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'},
['Number'] = 'number', -- this case only for cite techreport
['OrigYear'] = {'orig-year', 'origyear'},
['Others'] = {'others', 'interviewer', 'interviewers'},
Line 196 ⟶ 217:
['Pages'] = {'pp', 'pages'},
['Periodical'] = {'journal', 'newspaper', 'magazine', 'work',
'website', 'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary', 'mailinglist'},
['Place'] = {'place', 'location'},
['PPrefix'] = {'p-prefix', 'PPrefix'},
['PPPrefix'] = 'pp-prefix',
['Program'] = 'program', -- cite interview
['PostScript'] = 'postscript',
Line 206 ⟶ 225:
['PublisherName'] = {'publisher', 'distributor', 'institution', 'newsgroup'},
['Quote'] = {'quote', 'quotation'},
['Ref'] = {'ref', 'Ref'},
['RegistrationRequired'] = 'registration',
['Scale'] = 'scale',
['ScriptChapter'] = 'script-chapter',
['ScriptTitle'] = 'script-title',
['Section'] = 'section',
['Season'] = 'season',
['Sections'] = 'sections', -- cite map only
['Separator'] = 'separator', -- deprecated in favor of Mode
['Series'] = {'series', 'version'},
['SeriesSeparator'] = 'series-separator',
Line 235 ⟶ 254:
['TransTitle'] = {'trans-title', 'trans_title'},
['URL'] = {'url', 'URL'},
['Vauthors'] = 'vauthors',
['Veditors'] = 'veditors',
['Via'] = 'via',
['Volume'] = 'volume',
['Year'] = 'year',
 
['AuthorList-First'] = {"author#-first#", "author-firstgiven#", "author-first#", "givenauthor#-first"},
['AuthorList-Last'] = {"authorlast#-last", "author-last#", "last#", "surname#", "Authorauthor-last#", "author#-last", "subject#"},
['AuthorList-Link'] = {"authorauthorlink#-link", "author-link#", "author#-link", "authorlinksubjectlink#", "subject-author#link#", "subject#-link#", "subject#-link", "subjectlinksubject#link"},
['AuthorList-Mask'] = {"author#-mask#", "author-maskauthormask#", "author#mask", "authormaskauthor#-mask"},
['EditorListContributorList-First'] = {"editor#-first", "editor'contributor-first#"', "editor'contributor#-given", "editor-given#", "EditorGiven#"first'},
['ContributorList-Last'] = {'contributor#', 'contributor-last#', 'contributor#-last'},
['EditorList-Last'] = {"editor#-last", "editor-last#", "editor#-surname", "editor-surname#", "EditorSurname#", "Editor#", "editor#", "editors#"},
['EditorListContributorList-Link'] = {"editor#-link", "editor'contributor-link#"', "editor'contributor#-link", "editorlink#"'},
['EditorListContributorList-Mask'] = {"editor#-mask", "editor'contributor-mask#"', "editor'contributor#-mask", "editormask#"'},
 
['EditorList-First'] = {"editor-first#", "editor#-first", "editor-given#", "editor#-given"},
['EditorList-Last'] = {"editor#", "editor-last#", "editor#-last", "editor-surname#", "editor#-surname"},
['EditorList-Link'] = {"editor-link#", "editor#-link", "editorlink#", "editor#link"},
['EditorList-Mask'] = {"editor-mask#", "editor#-mask", "editormask#", "editor#mask"},
['TranslatorList-First'] = {'translator-first#','translator#-first'},
['TranslatorList-Last'] = {'translator#', 'translator-last#', 'translator#-last'},
['TranslatorList-Link'] = {'translator-link#', 'translator#-link'},
['TranslatorList-Mask'] = {'translator-mask#', 'translator#-mask'},
}
 
--[[--------------------------< D E F A U L T S >--------------------------------------------------------------
 
-- Default parameter values
 
TODO: keep this? Only one default?
]]
 
local defaults = {
['DeadURL'] = 'yes',
['PPrefix'] = "p.&nbsp;",
['PPPrefix'] = "pp.&nbsp;",
}
 
 
--[[--------------------------< V O L U M E , I S S U E , P A G E S >----------------------------------------
 
These tables hold cite class values (from the template invocation) and identify those templates that support
|volume=, |issue=, and |page(s)= parameters. Cite conference and cite map require further qualification which
is handled in the main module.
 
]]
 
local templates_using_volume = {'citation', 'audio-visual', 'book', 'conference', 'encyclopaedia', 'interview', 'journal', 'magazine', 'map', 'news', 'report', 'techreport'}
local templates_using_issue = {'citation', 'conference', 'episode', 'interview', 'journal', 'magazine', 'map', 'news'}
local templates_not_using_page = {'audio-visual', 'episode', 'mailinglist', 'newsgroup', 'podcast', 'serial', 'sign', 'speech'}
 
 
 
--[[--------------------------< K E Y W O R D S >--------------------------------------------------------------
 
This table holds keywords for those parameters that have defined sets of acceptible keywords.
 
]]
 
local keywords = {
['yes_true_y'] = {'yes', 'true', 'y'}, -- ignore-isbn-error, last-author-amp, no-tracking, nopp, registration, subscription
['deadurl'] = {'yes', 'true', 'y', 'no', 'unfit', 'usurped'},
['mode'] = {'cs1', 'cs2'},
['name-list-format'] = {'vanc'},
['contribution'] = {'afterword', 'foreword', 'introduction', 'preface'}, -- generic contribution titles that are rendered unquoted in the 'chapter' position
['date-format'] = {'dmy', 'dmy-all', 'mdy', 'mdy-all', 'ymd', 'ymd-all'}
}
 
 
--[[--------------------------< I N V I S I B L E _ C H A R A C T E R S >--------------------------------------
 
This table holds non-printing or invisible characters indexed either by name or by Unicode group. Values are decimal
representations of UTF-8 codes. The table is organized as a table of tables because the lua pairs keyword returns
table data in an arbitrary order. Here, we want to process the table from top to bottom because the entries at
the top of the table are also found in the ranges specified by the entries at the bottom of the table.
 
This list contains patterns for templates like {{'}} which isn't an error but transcludes characters that are
invisible. These kinds of patterns must be recognized by the functions that use this list.
 
Also here is a pattern that recognizes stripmarkers that begin and end with the delete characters. The nowiki
stripmarker is not an error but some others are because the parameter values that include them become part of the
template's metadata before stripmarker replacement.
 
]]
 
local invisible_chars = {
{'replacement', '\239\191\189'}, -- U+FFFD, EF BF BD
-- {'apostrophe', '&zwj;\226\128\138\039\226\128\139'}, -- apostrophe template: &zwj; hair space ' zero-width space; not an error
{'apostrophe', '\226\128\138\039\226\128\139'}, -- apostrophe template: hair space ' zero-width space; (as of 2015-12-11) not an error
{'zero width joiner', '\226\128\141'}, -- U+200D, E2 80 8D
{'zero width space', '\226\128\139'}, -- U+200B, E2 80 8B
{'hair space', '\226\128\138'}, -- U+200A, E2 80 8A
{'soft hyphen', '\194\173'}, -- U+00AD, C2 AD
{'horizontal tab', '\009'}, -- U+0009 (HT), 09
{'line feed', '\010'}, -- U+000A (LF), 0A
{'carriage return', '\013'}, -- U+000D (CR), 0D
-- {'nowiki stripmarker', '\127UNIQ%-%-nowiki%-[%a%d]+%-QINU\127'}, -- nowiki stripmarker; not an error
{'stripmarker', '\127UNIQ%-%-(%a+)%-[%a%d]+%-QINU\127'}, -- stripmarker; may or may not be an error; capture returns the stripmaker type
{'delete', '\127'}, -- U+007F (DEL), 7F; must be done after stripmarker test
{'C0 control', '[\000-\008\011\012\014-\031]'}, -- U+0000–U+001F (NULL–US), 00–1F (except HT, LF, CR (09, 0A, 0D))
{'C1 control', '[\194\128-\194\159]'}, -- U+0080–U+009F (XXX–APC), C2 80 – C2 9F
-- {'Specials', '[\239\191\185-\239\191\191]'}, -- U+FFF9-U+FFFF, EF BF B9 – EF BF BF
-- {'Private use area', '[\238\128\128-\239\163\191]'}, -- U+E000–U+F8FF, EE 80 80 – EF A3 BF
-- {'Supplementary Private Use Area-A', '[\243\176\128\128-\243\191\191\189]'}, -- U+F0000–U+FFFFD, F3 B0 80 80 – F3 BF BF BD
-- {'Supplementary Private Use Area-B', '[\244\128\128\128-\244\143\191\189]'}, -- U+100000–U+10FFFD, F4 80 80 80 – F4 8F BF BD
}
 
 
--[[--------------------------< M A I N T E N A N C E _ C A T E G O R I E S >----------------------------------
Line 275 ⟶ 375:
['english'] = 'CS1 maint: English language specified',
['etal'] = 'CS1 maint: Explicit use of et al.',
['extra_text'] = 'CS1 maint: Extra text',
['unknown_lang'] = 'CS1 maint: Unrecognized language',
['untitled'] = 'CS1 maint: Untitled periodical',
Line 295 ⟶ 396:
--[[--------------------------< T I T L E _ T Y P E S >--------------------------------------------------------
 
Here we map a template's CitationClass to TitleType (default values for |type= parameter)
 
]]
Line 315 ⟶ 416:
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.
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
Line 325 ⟶ 425:
local error_conditions = {
accessdate_missing_url = {
message = '<code style="'..code_style..'">&#124;accessdateaccess-date=</code> requires <code style="'..code_style..'">&#124;url=</code>',
anchor = 'accessdate_missing_url',
category = 'Pages using citations with accessdate and no URL',
hidden = true },
archive_missing_date = {
message = '<code style="'..code_style..'">&#124;archiveurlarchive-url=</code> requires <code style="'..code_style..'">&#124;archivedatearchive-date=</code>',
anchor = 'archive_missing_date',
category = 'Pages with archiveurl citation errors',
hidden = false },
archive_missing_url = {
message = '<code style="'..code_style..'">&#124;archiveurlarchive-url=</code> requires <code style="'..code_style..'">&#124;url=</code>',
anchor = 'archive_missing_url',
category = 'Pages with archiveurl citation errors',
Line 358 ⟶ 458:
anchor = 'bad_asin',
category ='CS1 errors: ASIN',
hidden = false },
bad_authorlink = {
message = 'Check <code style="'..code_style..'">&#124;authorlink=</code> value',
anchor = 'bad_authorlink',
category = 'CS1 errors: authorlink',
hidden = false },
bad_date = {
Line 373 ⟶ 468:
anchor = 'bad_doi',
category = 'CS1 errors: DOI',
hidden = false },
bad_hdl = {
message = 'Check <code style="'..code_style..'">&#124;hdl=</code> value',
anchor = 'bad_hdl',
category = 'CS1 errors: HDL',
hidden = false },
bad_isbn = {
message = 'Check <code style="'..code_style..'">&#124;isbn=</code> value',
anchor = 'bad_isbn',
category = 'PagesCS1 witherrors: ISBN errors',
hidden = false },
bad_ismn = {
message = 'Check <code style="'..code_style..'">&#124;ismn=</code> value',
anchor = 'bad_ismn',
category = 'CS1 errors: ISMN',
hidden = false },
bad_issn = {
message = 'Check <code style="'..code_style..'">&#124;issn$1issn=</code> value',
anchor = 'bad_issn',
category = 'CS1 errors: ISSN',
Line 398 ⟶ 503:
anchor = 'bad_ol',
category = 'CS1 errors: OL',
hidden = false },
bad_paramlink = { -- for |title-link=, |author/editor/translator-link=, |series-link=, |episode-link=
message = 'Check <code style="'..code_style..'">&#124;$1=</code> value',
anchor = 'bad_paramlink',
category = 'CS1 errors: parameter link',
hidden = false },
bad_pmc = {
Line 408 ⟶ 518:
anchor = 'bad_pmid',
category = 'CS1 errors: PMID',
hidden = false },
bad_oclc = {
message = 'Check <code style="'..code_style..'">&#124;oclc=</code> value',
anchor = 'bad_oclc',
category = 'CS1 errors: OCLC',
hidden = false },
bad_url = {
message = 'Check <code style="'..code_style..'">&#124;url=$1</code> schemevalue',
anchor = 'bad_url',
category = 'Pages with URL errors',
Line 420 ⟶ 535:
hidden = false },
chapter_ignored = {
message = '<code style="'..code_style..'">&#124;chapter$1=</code> ignored',
anchor = 'chapter_ignored',
category = 'CS1 errors: chapter ignored',
hidden = false },
citation_missing_title = {
message = 'Missing or empty <code style="'..code_style..'">&#124;title$1=</code>',
anchor = 'citation_missing_title',
category = 'Pages with citations lacking titles',
Line 438 ⟶ 553:
anchor = 'coauthors_missing_author',
category = 'CS1 errors: coauthors without author',
hidden = false },
contributor_ignored = {
message = '<code style="'..code_style..'">&#124;contributor=</code> ignored</code>',
anchor = 'contributor_ignored',
category = 'CS1 errors: contributor',
hidden = false },
contributor_missing_required_param = {
message = '<code style="'..code_style..'">&#124;contributor=</code> requires <code style="'..code_style..'">&#124;$1=</code>',
anchor = 'contributor_missing_required_param',
category = 'CS1 errors: contributor',
hidden = false },
deprecated_params = {
Line 443 ⟶ 568:
anchor = 'deprecated_params',
category = 'Pages containing cite templates with deprecated parameters',
hidden = truefalse },
empty_citation = {
message = 'Empty citation',
anchor = 'empty_citation',
category = 'Pages with empty citations',
hidden = false },
extra_pages = {
message = 'Extra <code style="'..code_style..'">&#124;pages=</code> or <code style="'..code_style..'">&#124;at=</code>',
anchor = 'extra_pages',
category = 'Pages with citations using conflicting page specifications',
hidden = false },
first_missing_last = {
Line 463 ⟶ 583:
anchor = 'format_missing_url',
category = 'Pages using citations with format and no URL',
hidden = true },
implict_etal_editor = {
message = '<code style="'..code_style..'">&#124;displayeditors=</code> suggested',
anchor = 'displayeditors',
category = 'Pages using citations with old-style implicit et al. in editors',
hidden = true },
invalid_param_val = {
Line 473 ⟶ 588:
anchor = 'invalid_param_val',
category = 'CS1 errors: invalid parameter value',
hidden = false },
invisible_char = {
message = '$1 in $2 at position $3',
anchor = 'invisible_char',
category = 'CS1 errors: invisible characters',
hidden = false },
missing_name = {
Line 478 ⟶ 598:
anchor = 'missing_name',
category = 'CS1 errors: missing author or editor',
hidden = false },
param_has_ext_link = {
message = 'External link in <code style="'..code_style..'">$1</code>',
anchor = 'param_has_ext_link',
category = 'CS1 errors: external links',
hidden = false },
parameter_ignored = {
Line 498 ⟶ 623:
anchor = 'text_ignored',
category = 'Pages with citations using unnamed parameters',
hidden = false },
trans_missing_chapter = {
message = '<code style="'..code_style..'">&#124;trans-chapter=</code> requires <code style="'..code_style..'">&#124;chapter=</code>',
anchor = 'trans_missing_chapter',
category = 'Pages with citations using translated terms without the original',
hidden = false },
trans_missing_title = {
message = '<code style="'..code_style..'">&#124;trans-title$1=</code> requires <code style="'..code_style..'">&#124;title$1=</code>',
anchor = 'trans_missing_title',
category = 'PagesCS1 with citations usingerrors: translated terms without the originaltitle',
hidden = false },
vancouver = {
Line 515 ⟶ 635:
hidden = false },
wikilink_in_url = {
message = 'WikilinkURL–wikilink embeddedconflict', -- inuses URL title',ndash
anchor = 'wikilink_in_url',
category = 'CS1 errors: URL–wikilink conflict', -- uses ndash
category = 'Pages with citations having wikilinks embedded in URL titles',
hidden = false },
}
Line 533 ⟶ 653:
prefix: the first part of a url that will be concatenated with a second part which usually contains the identifier
encode: true if uri should be percent encoded; otherwise false
COinS: identifier link or keyword for use in COinS:
COinS: into rft.id
for identifiers registered at info-uri.info use: info:....
for identifiers that have COinS keywords, use the keyword: rft.isbn, rft.issn, rft.eissn
for others make a url using the value in prefix, use the keyword: pre (not checked; any text other than 'info' or 'rft' works here)
set to nil to leave the identifier out of the COinS
separator: character or text between label and the identifier in the rendered citation
]]
Line 543 ⟶ 667:
label = 'arXiv',
mode = 'manual',
prefix = '//arxiv.org/abs/', -- protocol relative tested 2013-09-04
encode = false,
COinS = 'info:arxiv',
Line 553 ⟶ 677:
label = 'ASIN',
mode = 'manual',
COinSprefix = 'info:asin//www.amazon.',
COinS = nil, -- no COinS for this id (needs thinking on implementation because |asin-tld=)
separator = '&nbsp;',
encode = false;
Line 574 ⟶ 699:
prefix = '//dx.doi.org/',
COinS = 'info:doi',
separator = ':',
encode = true,
},
['EISSN'] = {
parameters = {'eissn', 'EISSN'},
link = 'International_Standard_Serial_Number#Electronic_ISSN',
label = 'eISSN',
mode = 'manual',
prefix = '//www.worldcat.org/issn/',
COinS = 'rft.eissn',
encode = false,
separator = '&nbsp;',
},
['HDL'] = {
parameters = { 'hdl', 'HDL' },
link = 'Handle System',
label = 'hdl',
mode = 'manual',
prefix = '//hdl.handle.net/',
COinS = 'info:hdl',
separator = ':',
encode = true,
Line 584 ⟶ 729:
prefix = 'Special:BookSources/',
COinS = 'rft.isbn',
separator = '&nbsp;',
},
['ISMN'] = {
parameters = {'ismn', 'ISMN'},
link = 'International Standard Music Number',
label = 'ISMN',
mode = 'manual',
prefix = '', -- not currently used;
COinS = 'nil', -- nil because we can't use pre or rft or info:
separator = '&nbsp;',
},
Line 602 ⟶ 756:
mode = 'external',
prefix = '//zbmath.org/?format=complete&q=an:',
COinS = 'rft.jfmpre', -- use prefix value
encode = true,
separator = '&nbsp;',
Line 611 ⟶ 765:
label = 'JSTOR',
mode = 'external',
prefix = '//www.jstor.org/stable/', -- protocol relative tested 2013-09-04
COinS = 'rft.jstorpre', -- use prefix value
encode = false,
separator = '&nbsp;',
Line 621 ⟶ 775:
label = 'LCCN',
mode = 'manual',
prefix = 'http://lccn.loc.gov/', -- protocol relative tested 2015-12-28
COinS = 'rft.info:lccn', -- use prefix value
encode = false,
separator = '&nbsp;',
Line 631 ⟶ 785:
label = 'MR',
mode = 'external',
prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04
COinS = 'rft.mrpre', -- use prefix value
encode = true,
separator = '&nbsp;',
Line 640 ⟶ 794:
link = 'OCLC',
label = 'OCLC',
mode = 'externalmanual',
prefix = '//www.worldcat.org/oclc/',
COinS = 'info:oclcnum',
Line 651 ⟶ 805:
label = 'OL',
mode = 'manual',
COinSprefix = 'info:olnum//openlibrary.org/',
COinS = nil, -- no COinS for this id (needs thinking on implementation because /authors/books/works/OL)
separator = '&nbsp;',
endodeencode = true,
},
['OSTI'] = {
Line 661 ⟶ 816:
mode = 'external',
prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04
COinS = 'info:ostipre', -- use prefix value
encode = true,
separator = '&nbsp;',
Line 669 ⟶ 824:
link = 'PubMed Central',
label = 'PMC',
mode = 'manual',
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:pmcpre', -- use prefix value
encode = true,
separator = '&nbsp;',
Line 680 ⟶ 835:
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',
Line 692 ⟶ 847:
mode = 'external',
prefix = '//tools.ietf.org/html/rfc',
COinS = 'info:rfcpre', -- use prefix value
encode = false,
separator = '&nbsp;',
Line 701 ⟶ 856:
label = 'SSRN',
mode = 'external',
prefix = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04
COinS = 'info:ssrnpre', -- use prefix value
encode = true,
separator = '&nbsp;',
Line 713 ⟶ 868:
prefix = 'news:',
encode = false,
COinS = 'info:usenetpre', -- use prefix value
separator = '&nbsp;',
},
Line 722 ⟶ 877:
mode = 'external',
prefix = '//zbmath.org/?format=complete&q=an:',
COinS = 'info:zblpre', -- use prefix value
encode = true,
separator = '&nbsp;',
Line 733 ⟶ 888:
error_conditions = error_conditions,
id_handlers = id_handlers,
keywords = keywords,
invisible_chars = invisible_chars,
maint_cats = maint_cats,
messages = messages,
Line 740 ⟶ 897:
uncategorized_namespaces = uncategorized_namespaces,
uncategorized_subpages = uncategorized_subpages,
templates_using_volume = templates_using_volume,
templates_using_issue = templates_using_issue,
templates_not_using_page = templates_not_using_page,
}
Anonymous user