Module:Citation/CS1/Configuration: Difference between revisions
Synch from sandbox;
m>Trappist the monk (Synch from sandbox;) |
m>Trappist the monk (Synch from sandbox;) |
||
Line 30: | Line 30: | ||
local messages = { | local messages = { | ||
['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', | |||
['by'] = 'By', -- contributions to authored works: introduction, foreword, afterword | |||
['cartography'] = 'Cartography by $1', | |||
['editor'] = 'ed.', | |||
['editors'] = 'eds.', | |||
['edition'] = '($1 ed.)', | |||
['episode'] = 'Episode $1', | |||
['et al'] = 'et al.', | |||
['in'] = 'In', -- edited works | |||
['inactive'] = 'inactive', | |||
['inset'] = '$1 inset', | |||
['lay summary'] = 'Lay summary', | |||
['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]: $1', | |||
['original'] = 'the original', | |||
['published'] = 'published $1', | |||
['retrieved'] = 'Retrieved $1', | |||
['season'] = 'Season $1', | |||
['section'] = '§ $1', | |||
['sections'] = '§§ $1', | |||
['series'] = 'Series $1', | |||
['type'] = ' ($1)', -- for titletype | |||
['written'] = 'Written at $1', | |||
['vol'] = '$1 Vol. $2', -- $1 is sepc; bold journal style volume is in presentation{} | |||
['vol-no'] = '$1 Vol. $2 no. $3', -- sepc, volume, issue | |||
['issue'] = '$1 No. $2', -- $1 is sepc | |||
['j-vol'] = '$1 $2', -- sepc, volume; bold journal volume is in presentation{} | |||
['j-issue'] = ' ($1)', | |||
['nopp'] = '$1 $2'; -- page(s) without prefix; $1 is sepc | |||
['p-prefix'] = "$1 p. $2", -- $1 is sepc | |||
['pp-prefix'] = "$1 pp. $2", -- $1 is sepc | |||
['j-page(s)'] = ': $1', -- same for page and pages | |||
['sheet'] = '$1 Sheet $2', -- $1 is sepc | |||
['sheets'] = '$1 Sheets $2', -- $1 is sepc | |||
['j-sheet'] = ': Sheet $1', | |||
['j-sheets'] = ': Sheets $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'] = " – 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 115: | Line 136: | ||
['trans-italic-title'] = "[''$1'']", | ['trans-italic-title'] = "[''$1'']", | ||
['trans-quoted-title'] = "[$1]", | ['trans-quoted-title'] = "[$1]", | ||
['vol-bold'] = ' <b>$1</b>', -- for journal cites; for other cites ['vol'] in messages{} | |||
} | } | ||
Line 145: | Line 167: | ||
['ConferenceFormat'] = {'conference-format', 'event-format'}, | ['ConferenceFormat'] = {'conference-format', 'event-format'}, | ||
['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'}, | ['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'}, | ||
['Contribution'] = 'contribution', -- introduction, foreword, afterword, etc; required when |contributor= set | |||
['Date'] = {'date', 'air-date', 'airdate'}, | ['Date'] = {'date', 'air-date', 'airdate'}, | ||
['DeadURL'] = {'dead-url', 'deadurl'}, | ['DeadURL'] = {'dead-url', 'deadurl'}, | ||
Line 180: | Line 203: | ||
['NoTracking'] = {'template-doc-demo', 'template doc demo', 'no-cat', 'nocat', | ['NoTracking'] = {'template-doc-demo', 'template doc demo', 'no-cat', 'nocat', | ||
'no-tracking', 'notracking'}, | 'no-tracking', 'notracking'}, | ||
['Number'] = 'number', -- this case only for cite techreport | |||
['OrigYear'] = {'orig-year', 'origyear'}, | ['OrigYear'] = {'orig-year', 'origyear'}, | ||
['Others'] = {'others', 'interviewer', 'interviewers'}, | ['Others'] = {'others', 'interviewer', 'interviewers'}, | ||
Line 185: | Line 209: | ||
['Pages'] = {'pp', 'pages'}, | ['Pages'] = {'pp', 'pages'}, | ||
['Periodical'] = {'journal', 'newspaper', 'magazine', 'work', | ['Periodical'] = {'journal', 'newspaper', 'magazine', 'work', | ||
'website', 'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary'}, | 'website', 'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary', 'mailinglist'}, | ||
['Place'] = {'place', 'location'}, | ['Place'] = {'place', 'location'}, | ||
['Program'] = 'program', -- cite interview | ['Program'] = 'program', -- cite interview | ||
['PostScript'] = 'postscript', | ['PostScript'] = 'postscript', | ||
Line 195: | Line 217: | ||
['PublisherName'] = {'publisher', 'distributor', 'institution', 'newsgroup'}, | ['PublisherName'] = {'publisher', 'distributor', 'institution', 'newsgroup'}, | ||
['Quote'] = {'quote', 'quotation'}, | ['Quote'] = {'quote', 'quotation'}, | ||
['Ref'] = | ['Ref'] = 'ref', | ||
['RegistrationRequired'] = 'registration', | ['RegistrationRequired'] = 'registration', | ||
['Scale'] = 'scale', | ['Scale'] = 'scale', | ||
Line 235: | Line 257: | ||
['AuthorList-Mask'] = {"author-mask#", "authormask#", "author#mask", "author#-mask"}, | ['AuthorList-Mask'] = {"author-mask#", "authormask#", "author#mask", "author#-mask"}, | ||
['ContributorList-First'] = {'contributor-first#','contributor#-first'}, | |||
['ContributorList-Last'] = {'contributor#', 'contributor-last#', 'contributor#-last'}, | |||
['ContributorList-Link'] = {'contributor-link#', 'contributor#-link'}, | |||
['ContributorList-Mask'] = {'contributor-mask#', 'contributor#-mask'}, | |||
['EditorList-First'] = {"editor-first#", "editor#-first", "editor-given#", "editor#-given"}, | ['EditorList-First'] = {"editor-first#", "editor#-first", "editor-given#", "editor#-given"}, | ||
['EditorList-Last'] = {"editor#", "editor-last#", "editor#-last", "editor-surname#", "editor#-surname"}, | ['EditorList-Last'] = {"editor#", "editor-last#", "editor#-last", "editor-surname#", "editor#-surname"}, | ||
Line 250: | Line 277: | ||
Default parameter values | Default parameter values | ||
TODO: keep this? Only one default? | |||
]] | ]] | ||
local defaults = { | local defaults = { | ||
['DeadURL'] = 'yes', | ['DeadURL'] = 'yes', | ||
} | } | ||
--[[--------------------------< 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'} | |||
Line 270: | Line 310: | ||
['mode'] = {'cs1', 'cs2'}, | ['mode'] = {'cs1', 'cs2'}, | ||
['name-list-format'] = {'vanc'}, | ['name-list-format'] = {'vanc'}, | ||
['contribution'] = {'afterword', 'foreword', 'introduction', 'preface'}, -- generic contribution titles that are rendered unquoted in the 'chapter' position | |||
} | |||
--[[--------------------------< 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. | |||
]] | |||
local invisible_chars = { | |||
{'replacement', '\239\191\189'}, -- U+FFFD, EF BF BD | |||
{'zero width space', '\226\128\139'}, -- U+200B, E2 80 8B | |||
{'soft hyphen', '\194\173'}, -- U+00AD, C2 AD | |||
{'horizontal tab', '\009'}, -- U+0009 (HT), 09 | |||
{'line feed', '\010'}, -- U+0010 (LF), 0A | |||
{'carriage return', '\013'}, -- U+0013 (CR), 0D | |||
{'C0 control', '[\000-\008\011\012\014-\031\127]'}, -- U+0000–U+001F (NULL–US), 00–1F, and U+001F (DEL), 7F (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 | |||
} | } | ||
Line 307: | Line 373: | ||
--[[--------------------------< T I T L E _ T Y P E S >-------------------------------------------------------- | --[[--------------------------< T I T L E _ T Y P E S >-------------------------------------------------------- | ||
Here we map a template's CitationClass to TitleType | Here we map a template's CitationClass to TitleType (default values for |type= parameter) | ||
]] | ]] | ||
Line 327: | Line 393: | ||
Error condition table | Error condition table | ||
The following contains a list of IDs for various error conditions defined in the | 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 | Anchor changes require identical changes to matching anchor in Help:CS1 errors | ||
Line 370: | Line 435: | ||
anchor = 'bad_asin', | anchor = 'bad_asin', | ||
category ='CS1 errors: ASIN', | category ='CS1 errors: ASIN', | ||
hidden = false }, | hidden = false }, | ||
bad_date = { | bad_date = { | ||
Line 415: | Line 475: | ||
anchor = 'bad_ol', | anchor = 'bad_ol', | ||
category = 'CS1 errors: 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..'">|$1=</code> value', | |||
anchor = 'bad_paramlink', | |||
category = 'CS1 errors: parameter link', | |||
hidden = false }, | hidden = false }, | ||
bad_pmc = { | bad_pmc = { | ||
Line 427: | Line 492: | ||
hidden = false }, | hidden = false }, | ||
bad_url = { | bad_url = { | ||
message = 'Check <code style="'..code_style..'"> | message = 'Check <code style="'..code_style..'">$1</code> value', | ||
anchor = 'bad_url', | anchor = 'bad_url', | ||
category = 'Pages with URL errors', | category = 'Pages with URL errors', | ||
Line 437: | Line 502: | ||
hidden = false }, | hidden = false }, | ||
chapter_ignored = { | chapter_ignored = { | ||
message = '<code style="'..code_style..'">|$1=</code> ignored', | message = '<code style="'..code_style..'">|$1=</code> ignored', | ||
anchor = 'chapter_ignored', | anchor = 'chapter_ignored', | ||
Line 456: | Line 520: | ||
anchor = 'coauthors_missing_author', | anchor = 'coauthors_missing_author', | ||
category = 'CS1 errors: coauthors without author', | category = 'CS1 errors: coauthors without author', | ||
hidden = false }, | |||
contributor_ignored = { | |||
message = '<code style="'..code_style..'">|contributor=</code> ignored</code>', | |||
anchor = 'contributor_ignored', | |||
category = 'CS1 errors: contributor', | |||
hidden = false }, | |||
contributor_missing_required_param = { | |||
message = '<code style="'..code_style..'">|contributor=</code> requires <code style="'..code_style..'">|$1=</code>', | |||
anchor = 'contributor_missing_required_param', | |||
category = 'CS1 errors: contributor', | |||
hidden = false }, | hidden = false }, | ||
deprecated_params = { | deprecated_params = { | ||
Line 461: | Line 535: | ||
anchor = 'deprecated_params', | anchor = 'deprecated_params', | ||
category = 'Pages containing cite templates with deprecated parameters', | category = 'Pages containing cite templates with deprecated parameters', | ||
hidden = | hidden = false }, | ||
empty_citation = { | empty_citation = { | ||
message = 'Empty citation', | message = 'Empty citation', | ||
anchor = 'empty_citation', | anchor = 'empty_citation', | ||
category = 'Pages with empty citations', | category = 'Pages with empty citations', | ||
hidden = false }, | hidden = false }, | ||
first_missing_last = { | first_missing_last = { | ||
Line 491: | Line 560: | ||
anchor = 'invalid_param_val', | anchor = 'invalid_param_val', | ||
category = 'CS1 errors: invalid parameter value', | category = 'CS1 errors: invalid parameter value', | ||
hidden = false }, | |||
invisible_char = { | |||
message = '$1 character in $2 at position $3', | |||
anchor = 'invisible_char', | |||
category = 'CS1 errors: invisible characters', | |||
hidden = false }, | hidden = false }, | ||
missing_name = { | missing_name = { | ||
Line 551: | Line 625: | ||
prefix: the first part of a url that will be concatenated with a second part which usually contains the identifier | 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 | encode: true if uri should be percent encoded; otherwise false | ||
COinS: | 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 | separator: character or text between label and the identifier in the rendered citation | ||
]] | ]] | ||
Line 561: | Line 639: | ||
label = 'arXiv', | label = 'arXiv', | ||
mode = 'manual', | mode = 'manual', | ||
prefix = '//arxiv.org/abs/', | prefix = '//arxiv.org/abs/', -- protocol relative tested 2013-09-04 | ||
encode = false, | encode = false, | ||
COinS = 'info:arxiv', | COinS = 'info:arxiv', | ||
Line 572: | Line 650: | ||
mode = 'manual', | mode = 'manual', | ||
prefix = '//www.amazon.', | prefix = '//www.amazon.', | ||
COinS = | COinS = nil, -- no COinS for this id (needs thinking on implementation because |asin-tld=) | ||
separator = ' ', | separator = ' ', | ||
encode = false; | encode = false; | ||
Line 611: | Line 689: | ||
mode = 'manual', | mode = 'manual', | ||
prefix = '', -- not currently used; | prefix = '', -- not currently used; | ||
COinS = 'info: | COinS = 'nil', -- nil because we can't use pre or rft or info: | ||
separator = ' ', | separator = ' ', | ||
}, | }, | ||
Line 630: | Line 708: | ||
mode = 'external', | mode = 'external', | ||
prefix = '//zbmath.org/?format=complete&q=an:', | prefix = '//zbmath.org/?format=complete&q=an:', | ||
COinS = ' | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
Line 639: | Line 717: | ||
label = 'JSTOR', | label = 'JSTOR', | ||
mode = 'external', | mode = 'external', | ||
prefix = '//www.jstor.org/stable/', | prefix = '//www.jstor.org/stable/', -- protocol relative tested 2013-09-04 | ||
COinS = ' | COinS = 'pre', -- use prefix value | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
Line 650: | Line 728: | ||
mode = 'manual', | mode = 'manual', | ||
prefix = 'http://lccn.loc.gov/', | prefix = 'http://lccn.loc.gov/', | ||
COinS = ' | COinS = 'info:lccn', -- use prefix value | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
Line 659: | Line 737: | ||
label = 'MR', | label = 'MR', | ||
mode = 'external', | mode = 'external', | ||
prefix = '//www.ams.org/mathscinet-getitem?mr=', | prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04 | ||
COinS = ' | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
Line 680: | Line 758: | ||
mode = 'manual', | mode = 'manual', | ||
prefix = '//openlibrary.org/', | prefix = '//openlibrary.org/', | ||
COinS = | COinS = nil, -- no COinS for this id (needs thinking on implementation because /authors/books/works/OL) | ||
separator = ' ', | separator = ' ', | ||
endode = true, | endode = true, | ||
Line 690: | Line 768: | ||
mode = 'external', | mode = 'external', | ||
prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04 | prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04 | ||
COinS = ' | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
Line 698: | Line 776: | ||
link = 'PubMed Central', | link = 'PubMed Central', | ||
label = 'PMC', | label = 'PMC', | ||
mode = 'manual', | mode = 'manual', | ||
prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC', | prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC', | ||
suffix = " ", | suffix = " ", | ||
COinS = ' | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
Line 709: | Line 787: | ||
link = 'PubMed Identifier', | link = 'PubMed Identifier', | ||
label = 'PMID', | label = 'PMID', | ||
mode = 'manual', | mode = 'manual', | ||
prefix = '//www.ncbi.nlm.nih.gov/pubmed/', | prefix = '//www.ncbi.nlm.nih.gov/pubmed/', | ||
COinS = 'info:pmid', | COinS = 'info:pmid', | ||
Line 721: | Line 799: | ||
mode = 'external', | mode = 'external', | ||
prefix = '//tools.ietf.org/html/rfc', | prefix = '//tools.ietf.org/html/rfc', | ||
COinS = ' | COinS = 'pre', -- use prefix value | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
Line 730: | Line 808: | ||
label = 'SSRN', | label = 'SSRN', | ||
mode = 'external', | mode = 'external', | ||
prefix = '//ssrn.com/abstract=', | prefix = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04 | ||
COinS = ' | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
Line 742: | Line 820: | ||
prefix = 'news:', | prefix = 'news:', | ||
encode = false, | encode = false, | ||
COinS = ' | COinS = 'pre', -- use prefix value | ||
separator = ' ', | separator = ' ', | ||
}, | }, | ||
Line 751: | Line 829: | ||
mode = 'external', | mode = 'external', | ||
prefix = '//zbmath.org/?format=complete&q=an:', | prefix = '//zbmath.org/?format=complete&q=an:', | ||
COinS = ' | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
Line 763: | Line 841: | ||
id_handlers = id_handlers, | id_handlers = id_handlers, | ||
keywords = keywords, | keywords = keywords, | ||
invisible_chars = invisible_chars, | |||
maint_cats = maint_cats, | maint_cats = maint_cats, | ||
messages = messages, | messages = messages, | ||
Line 770: | Line 849: | ||
uncategorized_namespaces = uncategorized_namespaces, | uncategorized_namespaces = uncategorized_namespaces, | ||
uncategorized_subpages = uncategorized_subpages, | uncategorized_subpages = uncategorized_subpages, | ||
templates_using_volume = templates_using_volume, | |||
templates_using_issue = templates_using_issue, | |||
templates_not_using_page = templates_not_using_page, | |||
} | } |