Module:Citation/CS1/Configuration: Difference between revisions

m
1 revision imported: Modules
(Synch from sandbox;)
m (1 revision imported: Modules)
Line 30:
 
local messages = {
['archived-deadpublished'] = 'Archived frompublished $1 on $2',
['lay summary'] = 'Lay summary',
['archived-not-dead'] = '$1 from the original on $2',
['archived-missingretrieved'] = 'ArchivedRetrieved from the original$1 on $2',
['archivedinactive'] = 'Archivedinactive',
['archived-dead'] = 'Archived from $1 on $2',
['by'] = 'By', -- contributions to authored works: introduction, foreword, afterword
['cartographyarchived-not-dead'] = 'Cartography$1 byfrom the original on $12',
['archived-missing'] = 'Archived from the original$1 on $2',
['editor'] = 'ed.',
['editorsarchived'] = 'eds.Archived',
['editionoriginal'] = '($1the ed.)original',
['episodeeditor'] = 'Episode $1ed.',
['et aleditors'] = 'et aleds.',
['edition'] = '($1 ed.)',
['in'] = 'In', -- edited works
['inactiveepisode'] = 'inactiveEpisode $1',
['insetseason'] = 'Season $1 inset',
['lay summaryseries'] = 'LaySeries summary$1',
['cartography'] = 'Cartography by $1',
['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]: $1',
['originalsection'] = 'the§ original$1',
['publishedsections'] = 'published§§ $1',
['retrievedinset'] = 'Retrieved $1 inset',
['seasonwritten'] = 'SeasonWritten at $1',
['sectionin'] = '§ $1In',
['sectionset al'] = '§§et $1al.',
['series'] = 'Series $1',
['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>' ..
['type'] = ' ($1)', -- for titletype
'[[Category:Pages containing links to subscription-only content]]',
['written'] = 'Written at $1',
 
['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'] = '$1 Vol.&nbsp;$2', -- $1 is sepc; bold journal style volume is in presentation{}
'[[Category:Pages with login required references or sources]]',
['vol-no'] = '$1 Vol.&nbsp;$2 no.&nbsp;$3', -- sepc, volume, issue
['issue'] = '$1 No.&nbsp;$2', -- $1 is sepc
['language'] = '(in $1)',
['via'] = " &ndash; via $1",
['event'] = 'Event occurs at',
['minutes'] = 'minutes in',
 
['parameter-separator'] = ', ',
['j-vol'] = '$1 $2', -- sepc, volume; bold journal volume is in presentation{}
['jparameter-issuefinal-separator'] = ', and ($1)',
['parameter-pair-separator'] = ' and ',
 
-- Determines the location of the help page
['nopp'] = '$1 $2'; -- page(s) without prefix; $1 is sepc
['help page link'] = 'Help:CS1 errors',
 
['help page label'] = 'help',
['p-prefix'] = "$1 p.&nbsp;$2", -- $1 is sepc
['pp-prefix'] = "$1 pp.&nbsp;$2", -- $1 is sepc
-- Internal errors (should only occur if configuration is bad)
['j-page(s)'] = ': $1', -- same for page and pages
['undefined_error'] = 'Called with an undefined error condition',
 
['unknown_manual_ID'] = 'Unrecognized manual ID mode',
['sheet'] = '$1 Sheet&nbsp;$2', -- $1 is sepc
['unknown_ID_mode'] = 'Unrecognized ID mode',
['sheets'] = '$1 Sheets&nbsp;$2', -- $1 is sepc
['unknown_argument_map'] = 'Argument map not defined for this variable',
['j-sheet'] = ': Sheet&nbsp;$1',
['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty',
['j-sheets'] = ': Sheets&nbsp;$1',
['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 118 ⟶ 97:
 
['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 131 ⟶ 107:
['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 141 ⟶ 115:
['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 161 ⟶ 133:
['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 166 ⟶ 142:
['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 185 ⟶ 159:
['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 206 ⟶ 184:
['Minutes'] = 'minutes',
['Mode'] = 'mode',
['Month'] = 'month', -- deprecated; remove after 1 January 2015?
['NameListFormat'] = 'name-list-format',
['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 217 ⟶ 196:
['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 225 ⟶ 206:
['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 254 ⟶ 235:
['TransTitle'] = {'trans-title', 'trans_title'},
['URL'] = {'url', 'URL'},
['Vauthors'] = 'vauthors',
['Veditors'] = 'veditors',
['Via'] = 'via',
['Volume'] = 'volume',
['Year'] = 'year',
 
['AuthorList-First'] = {"firstauthor#-first", "givenauthor-first#", "author-first#", "authorgiven#-first"},
['AuthorList-Last'] = {"lastauthor#-last", "author-last#", "last#", "surname#", "author-lastAuthor#", "author#-last", "subject#"},
['AuthorList-Link'] = {"authorlinkauthor#-link", "author-link#", "author#-link", "subjectlinkauthorlink#", "author#subject-link#", "subject-#link#", "subject#-link", "subjectsubjectlink#link"},
['AuthorList-Mask'] = {"author#-mask#", "authormaskauthor-mask#", "author#mask", "authorauthormask#-mask"},
['ContributorListEditorList-First'] = {'contributor"editor#-first", "editor-first#'",'contributor "editor#-first'given", "editor-given#", "EditorGiven#"},
['EditorList-Last'] = {"editor#-last", "editor-last#", "editor#-surname", "editor-surname#", "EditorSurname#", "Editor#", "editor#", "editors#"},
['ContributorList-Last'] = {'contributor#', 'contributor-last#', 'contributor#-last'},
['ContributorListEditorList-Link'] = {'contributor"editor#-link", "editor-link#'", 'contributor"editor#-link'", "editorlink#"},
['ContributorListEditorList-Mask'] = {'contributor"editor#-mask", "editor-mask#'", 'contributor"editor#-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 375 ⟶ 275:
['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 396 ⟶ 295:
--[[--------------------------< 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 416 ⟶ 315:
Error condition table
 
The following contains a list of IDs for various error conditions defined in the code. For each ID, we specify a
code. For each ID, we specify a text message to display, an error category to
text message to display, an error category to include, and whether the error message should be wrapped as a hidden comment.
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 425 ⟶ 325:
local error_conditions = {
accessdate_missing_url = {
message = '<code style="'..code_style..'">&#124;access-dateaccessdate=</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;archive-urlarchiveurl=</code> requires <code style="'..code_style..'">&#124;archive-datearchivedate=</code>',
anchor = 'archive_missing_date',
category = 'Pages with archiveurl citation errors',
hidden = false },
archive_missing_url = {
message = '<code style="'..code_style..'">&#124;archive-urlarchiveurl=</code> requires <code style="'..code_style..'">&#124;url=</code>',
anchor = 'archive_missing_url',
category = 'Pages with archiveurl citation errors',
Line 458 ⟶ 358:
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 468 ⟶ 373:
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 = 'CS1Pages errors:with 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;$1issnissn=</code> value',
anchor = 'bad_issn',
category = 'CS1 errors: ISSN',
Line 503 ⟶ 398:
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 518 ⟶ 408:
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..'">$1&#124;url=</code> valuescheme',
anchor = 'bad_url',
category = 'Pages with URL errors',
Line 535 ⟶ 420:
hidden = false },
chapter_ignored = {
message = '<code style="'..code_style..'">&#124;$1chapter=</code> ignored',
anchor = 'chapter_ignored',
category = 'CS1 errors: chapter ignored',
hidden = false },
citation_missing_title = {
message = 'Missing or empty <code style="'..code_style..'">&#124;$1title=</code>',
anchor = 'citation_missing_title',
category = 'Pages with citations lacking titles',
Line 553 ⟶ 438:
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 568 ⟶ 443:
anchor = 'deprecated_params',
category = 'Pages containing cite templates with deprecated parameters',
hidden = falsetrue },
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 583 ⟶ 463:
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 588 ⟶ 473:
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 598 ⟶ 478:
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 623 ⟶ 498:
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-$1title=</code> requires <code style="'..code_style..'">&#124;$1title=</code>',
anchor = 'trans_missing_title',
category = 'CS1Pages errors:with citations using translated titleterms without the original',
hidden = false },
vancouver = {
Line 635 ⟶ 515:
hidden = false },
wikilink_in_url = {
message = 'URL–wikilinkWikilink conflict', --embedded usesin ndashURL title',
anchor = 'wikilink_in_url',
category = 'Pages with citations having wikilinks embedded in URL titles',
category = 'CS1 errors: URL–wikilink conflict', -- uses ndash
hidden = false },
}
Line 653 ⟶ 533:
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: into rft.id
COinS: identifier link or keyword for use in COinS:
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 667 ⟶ 543:
label = 'arXiv',
mode = 'manual',
prefix = '//arxiv.org/abs/', -- protocol relative tested 2013-09-04
encode = false,
COinS = 'info:arxiv',
Line 677 ⟶ 553:
label = 'ASIN',
mode = 'manual',
prefixCOinS = '//www.amazon.info:asin',
COinS = nil, -- no COinS for this id (needs thinking on implementation because |asin-tld=)
separator = '&nbsp;',
encode = false;
Line 699 ⟶ 574:
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 729 ⟶ 584:
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 756 ⟶ 602:
mode = 'external',
prefix = '//zbmath.org/?format=complete&q=an:',
COinS = 'prerft.jfm', -- use prefix value
encode = true,
separator = '&nbsp;',
Line 765 ⟶ 611:
label = 'JSTOR',
mode = 'external',
prefix = '//www.jstor.org/stable/', -- protocol relative tested 2013-09-04
COinS = 'prerft.jstor', -- use prefix value
encode = false,
separator = '&nbsp;',
Line 775 ⟶ 621:
label = 'LCCN',
mode = 'manual',
prefix = 'http://lccn.loc.gov/', -- protocol relative tested 2015-12-28
COinS = 'info:rft.lccn', -- use prefix value
encode = false,
separator = '&nbsp;',
Line 785 ⟶ 631:
label = 'MR',
mode = 'external',
prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04
COinS = 'prerft.mr', -- use prefix value
encode = true,
separator = '&nbsp;',
Line 794 ⟶ 640:
link = 'OCLC',
label = 'OCLC',
mode = 'manualexternal',
prefix = '//www.worldcat.org/oclc/',
COinS = 'info:oclcnum',
Line 805 ⟶ 651:
label = 'OL',
mode = 'manual',
prefixCOinS = '//openlibrary.org/info:olnum',
COinS = nil, -- no COinS for this id (needs thinking on implementation because /authors/books/works/OL)
separator = '&nbsp;',
encodeendode = true,
},
['OSTI'] = {
Line 816 ⟶ 661:
mode = 'external',
prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04
COinS = 'preinfo:osti', -- use prefix value
encode = true,
separator = '&nbsp;',
Line 824 ⟶ 669:
link = 'PubMed Central',
label = 'PMC',
mode = 'manual', -- changed to support unlinking of PMC identifier when article is embargoed
mode = 'manual',
prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC',
suffix = " ",
COinS = 'preinfo:pmc', -- use prefix value
encode = true,
separator = '&nbsp;',
Line 835 ⟶ 680:
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 847 ⟶ 692:
mode = 'external',
prefix = '//tools.ietf.org/html/rfc',
COinS = 'preinfo:rfc', -- use prefix value
encode = false,
separator = '&nbsp;',
Line 856 ⟶ 701:
label = 'SSRN',
mode = 'external',
prefix = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04
COinS = 'preinfo:ssrn', -- use prefix value
encode = true,
separator = '&nbsp;',
Line 868 ⟶ 713:
prefix = 'news:',
encode = false,
COinS = 'preinfo:usenet', -- use prefix value
separator = '&nbsp;',
},
Line 877 ⟶ 722:
mode = 'external',
prefix = '//zbmath.org/?format=complete&q=an:',
COinS = 'preinfo:zbl', -- use prefix value
encode = true,
separator = '&nbsp;',
Line 888 ⟶ 733:
error_conditions = error_conditions,
id_handlers = id_handlers,
keywords = keywords,
invisible_chars = invisible_chars,
maint_cats = maint_cats,
messages = messages,
Line 897 ⟶ 740:
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,
}