386
edits
m>Trappist the monk m (Synch from sandbox;) |
m (10 revisions imported from wikipedia:Module:Citation/CS1/Whitelist: see Topic:Vtixlm0q28eo6jtf) |
||
(22 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
--[[--------------------------< S U P P O R T E D P A R A M E T E R S >-------------------------------------- | --[[--------------------------< S U P P O R T E D P A R A M E T E R S >-------------------------------------- | ||
Line 54: | Line 5: | ||
true - these parameters are valid and supported parameters | true - these parameters are valid and supported parameters | ||
false - these parameters are deprecated but still supported | false - these parameters are deprecated but still supported | ||
nil - these parameters are no longer supported | discouraged - pre-deprecation purgatory; may someday be deprecated; or not | ||
nil - these parameters are no longer supported. remove entirely | |||
]] | ]] | ||
local basic_arguments = { | local basic_arguments = { | ||
['accessdate'] = | ['accessdate'] = 'discouraged', | ||
['access-date'] = true, | ['access-date'] = true, | ||
['agency'] = true, | ['agency'] = true, | ||
[' | ['archivedate'] = 'discouraged', | ||
['archive-date'] = true, | ['archive-date'] = true, | ||
['archive-format'] = true, | ['archive-format'] = true, | ||
['archiveurl'] = | ['archiveurl'] = 'discouraged', | ||
['archive-url'] = true, | ['archive-url'] = true, | ||
['article'] = true, | ['article'] = true, | ||
[' | ['article-format'] = true, | ||
[' | ['article-url'] = true, | ||
['article-url-access'] = true, | |||
['arxiv'] = true, -- cite arxiv; here because allowed in cite ... as identifier | |||
['asin'] = true, | ['asin'] = true, | ||
['ASIN'] = true, | ['ASIN'] = true, | ||
['asin-tld'] = true, | ['asin-tld'] = true, | ||
['at'] = true, | ['at'] = true, | ||
['author'] = true, | ['author'] = true, | ||
['author-first'] = true, | ['author-first'] = true, | ||
['author-given'] = true, | |||
['author-last'] = true, | ['author-last'] = true, | ||
['authorlink'] = | ['author-surname'] = true, | ||
['authorlink'] = 'discouraged', | |||
['author-link'] = true, | ['author-link'] = true, | ||
['author-mask'] = true, | ['author-mask'] = true, | ||
['authors'] = true, | ['authors'] = true, | ||
['bibcode'] = true, | ['bibcode'] = true, | ||
[' | ['bibcode-access'] = true, | ||
['booktitle'] = | ['biorxiv'] = true, -- cite biorxiv; here because allowed in cite ... as identifier | ||
['booktitle'] = false, | |||
['book-title'] = true, | ['book-title'] = true, | ||
['cartography'] = true, | ['cartography'] = true, | ||
['chapter'] = true, | ['chapter'] = true, | ||
['chapter-format'] = true, | ['chapter-format'] = true, | ||
['chapterurl'] = | ['chapterurl'] = false, | ||
['chapter-url'] = true, | ['chapter-url'] = true, | ||
[' | ['chapter-url-access'] = true, | ||
[' | ['citeseerx'] = true, -- cite citeseerx; here because allowed in cite ... as identifier | ||
['collaboration'] = true, | ['collaboration'] = true, | ||
['conference'] = true, | ['conference'] = true, | ||
['conference-format'] = true, | ['conference-format'] = true, | ||
['conference-url'] = true, | ['conference-url'] = true, | ||
['contribution'] = true, | ['contribution'] = true, | ||
['contribution-format'] = true, | ['contribution-format'] = true, | ||
['contribution-url'] = true, | ['contribution-url'] = true, | ||
['contribution-url-access'] = true, | |||
['contributor'] = true, | ['contributor'] = true, | ||
['contributor-first'] = true, | ['contributor-first'] = true, | ||
['contributor-given'] = true, | |||
['contributor-last'] = true, | ['contributor-last'] = true, | ||
['contributor-surname'] = true, | |||
['contributor-link'] = true, | ['contributor-link'] = true, | ||
['contributor-mask'] = true, | ['contributor-mask'] = true, | ||
['date'] = true, | ['date'] = true, | ||
['degree'] = true, | ['degree'] = true, | ||
['department'] = true, | ['department'] = true, | ||
['df'] = true, | ['df'] = true, | ||
['dictionary'] = true, | ['dictionary'] = true, | ||
['display-authors'] = true, | ['display-authors'] = true, | ||
[' | ['display-contributors'] = true, | ||
['display-editors'] = true, | ['display-editors'] = true, | ||
['display-interviewers'] = true, | |||
['display-subjects'] = true, | |||
['display-translators'] = true, | |||
['docket'] = true, | ['docket'] = true, | ||
['doi'] = true, | ['doi'] = true, | ||
['DOI'] = true, | ['DOI'] = true, | ||
['doi- | ['doi-access'] = true, | ||
['doi-broken-date'] = true, | ['doi-broken-date'] = true, | ||
['edition'] = true, | ['edition'] = true, | ||
['editor'] = true, | ['editor'] = true, | ||
Line 141: | Line 85: | ||
['editor-given'] = true, | ['editor-given'] = true, | ||
['editor-last'] = true, | ['editor-last'] = true, | ||
[' | ['editor-surname'] = true, | ||
['editor-link'] = true, | ['editor-link'] = true, | ||
['editor-mask'] = true, | ['editor-mask'] = true, | ||
['eissn'] = true, | ['eissn'] = true, | ||
['EISSN'] = true, | ['EISSN'] = true, | ||
['encyclopaedia'] = true, | ['encyclopaedia'] = true, | ||
['encyclopedia'] = true, | ['encyclopedia'] = true, | ||
['entry'] = true, | ['entry'] = true, | ||
[' | ['entry-format'] = true, | ||
[' | ['entry-url'] = true, | ||
[' | ['entry-url-access'] = true, | ||
['eprint'] = true, -- cite arxiv | ['eprint'] = true, -- cite arxiv; here because allowed in cite ... as identifier | ||
['event'] = true, | ['event'] = true, -- synonym of conference in /Config, but used in Cite speech? | ||
['first'] = true, | ['first'] = true, | ||
['format'] = true, | ['format'] = true, | ||
Line 166: | Line 103: | ||
['hdl'] = true, | ['hdl'] = true, | ||
['HDL'] = true, | ['HDL'] = true, | ||
['hdl-access'] = true, | |||
['host'] = true, | ['host'] = true, | ||
['id'] = true, | ['id'] = true, | ||
['ID'] = true, | ['ID'] = true, | ||
['institution'] = true, | ['institution'] = true, | ||
['interviewer'] = true, | ['interviewer'] = true, | ||
[' | ['interviewer-first'] = true, | ||
['interviewer-given'] = true, | |||
['interviewer-last'] = true, | |||
['interviewer-surname'] = true, | |||
['interviewer-link'] = true, | |||
['interviewer-mask'] = true, | |||
['isbn'] = true, | ['isbn'] = true, | ||
['ISBN'] = true, | ['ISBN'] = true, | ||
Line 190: | Line 129: | ||
['jstor'] = true, | ['jstor'] = true, | ||
['JSTOR'] = true, | ['JSTOR'] = true, | ||
['jstor-access'] = true, | |||
['lang'] = true, | |||
['language'] = true, | ['language'] = true, | ||
['last'] = true, | ['last'] = true, | ||
['lay-date'] = true, | ['lay-date'] = true, | ||
['lay-source'] = true, | ['lay-source'] = true, | ||
['lay-format'] = true, | ['lay-format'] = true, | ||
['lay-url'] = true, | ['lay-url'] = true, | ||
['lccn'] = true, | ['lccn'] = true, | ||
Line 207: | Line 141: | ||
['location'] = true, | ['location'] = true, | ||
['magazine'] = true, | ['magazine'] = true, | ||
['medium'] = true, | ['medium'] = true, | ||
['minutes'] = true, | ['minutes'] = true, | ||
['mode'] = true, | ['mode'] = true, | ||
['mr'] = true, | ['mr'] = true, | ||
['MR'] = true, | ['MR'] = true, | ||
['name-list- | ['name-list-style'] = true, | ||
['newspaper'] = true, | ['newspaper'] = true, | ||
['nopp'] = false, | |||
['nopp'] = | |||
['no-pp'] = true, | ['no-pp'] = true, | ||
['no-tracking'] = true, | ['no-tracking'] = true, | ||
['number'] = true, | ['number'] = true, | ||
Line 234: | Line 156: | ||
['ol'] = true, | ['ol'] = true, | ||
['OL'] = true, | ['OL'] = true, | ||
['origyear'] = | ['ol-access'] = true, | ||
['orig-date'] = true, | |||
['origyear'] = 'discouraged', | |||
['orig-year'] = true, | ['orig-year'] = true, | ||
['osti'] = true, | ['osti'] = true, | ||
['OSTI'] = true, | ['OSTI'] = true, | ||
['osti-access'] = true, | |||
['others'] = true, | ['others'] = true, | ||
['p'] = true, | ['p'] = true, | ||
Line 247: | Line 172: | ||
['pmc'] = true, | ['pmc'] = true, | ||
['PMC'] = true, | ['PMC'] = true, | ||
['pmc-embargo-date'] = true, | |||
['pmid'] = true, | ['pmid'] = true, | ||
['PMID'] = true, | ['PMID'] = true, | ||
['postscript'] = true, | ['postscript'] = true, | ||
['pp'] = true, | ['pp'] = true, | ||
['publicationdate'] = false, | |||
['publicationdate'] = | |||
['publication-date'] = true, | ['publication-date'] = true, | ||
['publicationplace'] = | ['publicationplace'] = false, | ||
['publication-place'] = true, | ['publication-place'] = true, | ||
['publisher'] = true, | ['publisher'] = true, | ||
['quotation'] = true, | ['quotation'] = true, | ||
['quote'] = true, | ['quote'] = true, | ||
['quote-page'] = true, | |||
['quote-pages'] = true, | |||
['ref'] = true, | ['ref'] = true, | ||
['rfc'] = true, | ['rfc'] = true, | ||
['RFC'] = true, | ['RFC'] = true, | ||
['sbn'] = true, | |||
['SBN'] = true, | |||
['scale'] = true, | ['scale'] = true, | ||
['script-article'] = true, | |||
['script-chapter'] = true, | ['script-chapter'] = true, | ||
['script-contribution'] = true, | |||
['script-entry'] = true, | |||
['script-journal'] = true, | |||
['script-magazine'] = true, | |||
['script-newspaper'] = true, | |||
['script-periodical'] = true, | |||
['script-quote'] = true, | |||
['script-section'] = true, | |||
['script-title'] = true, | ['script-title'] = true, | ||
['script-website'] = true, | |||
['script-work'] = true, | |||
['season'] = true, | ['season'] = true, | ||
['section'] = true, | ['section'] = true, | ||
['section-format'] = true, | ['section-format'] = true, | ||
['section-url'] = true, | ['section-url'] = true, | ||
['section-url-access'] = true, | |||
['series'] = true, | ['series'] = true, | ||
['serieslink'] = | ['serieslink'] = false, | ||
['series-link'] = true, | ['series-link'] = true, | ||
['series-no'] = true, | ['series-no'] = true, | ||
['series-number'] = true, | ['series-number'] = true, | ||
[' | ['ssrn'] = true, -- cite ssrn; these two here because allowed in cite ... as identifier | ||
['SSRN'] = true, | ['SSRN'] = true, | ||
['subject'] = true, | ['subject'] = true, | ||
['subject-link'] = true, | ['subject-link'] = true, | ||
[' | ['subject-mask'] = true, | ||
['surname'] = true, | ['surname'] = true, | ||
[' | ['s2cid'] = true, | ||
['S2CID'] = true, | |||
['s2cid-access'] = true, | |||
['template-doc-demo'] = true, | ['template-doc-demo'] = true, | ||
['time'] = true, | ['time'] = true, | ||
['time-caption'] = true, | ['time-caption'] = true, | ||
['title'] = true, | ['title'] = true, | ||
['title-link'] = true, | ['title-link'] = true, | ||
['translator'] = true, | ['translator'] = true, | ||
['translator-first'] = true, | ['translator-first'] = true, | ||
['translator-last'] = true, | ['translator-given'] = true, | ||
['translator-last'] = true, | |||
['translator-surname'] = true, | |||
['translator-link'] = true, | ['translator-link'] = true, | ||
['translator-mask'] = true, | ['translator-mask'] = true, | ||
['trans-article'] = true, | |||
['trans-chapter'] = true, | |||
['trans-contribution'] = true, | |||
['trans-entry'] = true, | |||
['trans-journal'] = true, | |||
['trans-magazine'] = true, | |||
['trans-newspaper'] = true, | |||
['trans-periodical'] = true, | |||
['trans-quote'] = true, | |||
['trans-section'] = true, | |||
['trans-title'] = true, | |||
['trans-website'] = true, | |||
['trans-work'] = true, | |||
['type'] = true, | ['type'] = true, | ||
['url'] = true, | ['url'] = true, | ||
['URL'] = true, | ['URL'] = true, | ||
['url-access'] = true, | |||
['url-status'] = true, | |||
['vauthors'] = true, | ['vauthors'] = true, | ||
['veditors'] = true, | ['veditors'] = true, | ||
Line 331: | Line 270: | ||
['author-first#'] = true, | ['author-first#'] = true, | ||
['author#-first'] = true, | ['author#-first'] = true, | ||
['author-given#'] = true, | |||
['author#-given'] = true, | |||
['author-last#'] = true, | ['author-last#'] = true, | ||
['author#-last'] = true, | ['author#-last'] = true, | ||
['author-surname#'] = true, | |||
['author#-surname'] = true, | |||
['author-link#'] = true, | ['author-link#'] = true, | ||
['author#-link'] = true, | ['author#-link'] = true, | ||
['authorlink#'] = | ['authorlink#'] = 'discouraged', | ||
['author#link'] = 'discouraged', | |||
['author-mask#'] = true, | ['author-mask#'] = true, | ||
['author#-mask'] = true, | ['author#-mask'] = true, | ||
['contributor#'] = true, | ['contributor#'] = true, | ||
['contributor-first#'] = true, | ['contributor-first#'] = true, | ||
['contributor#-first'] = true, | ['contributor#-first'] = true, | ||
['contributor-given#'] = true, | |||
['contributor#-given'] = true, | |||
['contributor-last#'] = true, | ['contributor-last#'] = true, | ||
['contributor#-last'] = true, | ['contributor#-last'] = true, | ||
['contributor-surname#'] = true, | |||
['contributor#-surname'] = true, | |||
['contributor-link#'] = true, | ['contributor-link#'] = true, | ||
['contributor#-link'] = true, | ['contributor#-link'] = true, | ||
Line 353: | Line 298: | ||
['editor-first#'] = true, | ['editor-first#'] = true, | ||
['editor#-first'] = true, | ['editor#-first'] = true, | ||
['editor-given#'] = true, | |||
['editor#-given'] = true, | ['editor#-given'] = true, | ||
['editor-last#'] = true, | ['editor-last#'] = true, | ||
['editor#-last'] = true, | ['editor#-last'] = true, | ||
['editor-surname#'] = true, | |||
['editor#-surname'] = true, | |||
['editor-link#'] = true, | ['editor-link#'] = true, | ||
['editor#-link'] = true, | ['editor#-link'] = true, | ||
['editor-mask#'] = true, | ['editor-mask#'] = true, | ||
['editor#-mask'] = true, | ['editor#-mask'] = true, | ||
['first#'] = true, | ['first#'] = true, | ||
['given#'] = true, | ['given#'] = true, | ||
['host#'] = true, | |||
['interviewer#'] = true, | |||
['interviewer-first#'] = true, | |||
['interviewer#-first'] = true, | |||
['interviewer-given#'] = true, | |||
['interviewer#-given'] = true, | |||
['interviewer-last#'] = true, | |||
['interviewer#-last'] = true, | |||
['interviewer-surname#'] = true, | |||
['interviewer#-surname'] = true, | |||
['interviewer-link#'] = true, | |||
['interviewer#-link'] = true, | |||
['interviewer-mask#'] = true, | |||
['interviewer#-mask'] = true, | |||
['last#'] = true, | ['last#'] = true, | ||
['subject#'] = true, | ['subject#'] = true, | ||
['subject-link#'] = true, | ['subject-link#'] = true, | ||
['subject#-link'] = true, | ['subject#-link'] = true, | ||
[' | ['subject-mask#'] = true, | ||
['subject#-mask'] = true, | |||
['surname#'] = true, | ['surname#'] = true, | ||
['translator#'] = true, | ['translator#'] = true, | ||
['translator-first#'] = true, | ['translator-first#'] = true, | ||
['translator#-first'] = true, | ['translator#-first'] = true, | ||
['translator-given#'] = true, | |||
['translator#-given'] = true, | |||
['translator-last#'] = true, | ['translator-last#'] = true, | ||
['translator#-last'] = true, | ['translator#-last'] = true, | ||
['translator-surname#'] = true, | |||
['translator#-surname'] = true, | |||
['translator-link#'] = true, | ['translator-link#'] = true, | ||
['translator#-link'] = true, | ['translator#-link'] = true, | ||
Line 387: | Line 346: | ||
} | } | ||
return {basic_arguments = basic_arguments, numbered_arguments = numbered_arguments}; | |||
--[[--------------------------< P R E P R I N T S U P P O R T E D P A R A M E T E R S >-------------------- | |||
Cite arXiv, cite biorxiv, cite citeseerx, and cite ssrn are preprint templates that use the limited set of parameters | |||
defined in the limited_basic_arguments and limited_numbered_arguments tables. Those lists are supplemented with a | |||
template-specific list of parameters that are required by the particular template and may be exclusive to one of the | |||
preprint templates. Some of these parameters may also be available to the general cs1|2 templates. | |||
Same conventions for true/false/dicouraged/nil as above. | |||
]] | |||
local preprint_arguments = { | |||
arxiv = { | |||
['arxiv'] = true, -- cite arxiv and arxiv identifiers | |||
['class'] = true, | |||
['eprint'] = true, -- cite arxiv and arxiv identifiers | |||
}, | |||
biorxiv = { | |||
['biorxiv'] = true, | |||
}, | |||
citeseerx = { | |||
['citeseerx'] = true, | |||
}, | |||
ssrn = { | |||
['ssrn'] = true, | |||
['SSRN'] = true, | |||
}, | |||
} | |||
--[[--------------------------< L I M I T E D S U P P O R T E D P A R A M E T E R S >---------------------- | |||
cite arxiv, cite biorxiv, cite citeseerx, and cite ssrn templates are preprint templates so are allowed only a | |||
limited subset of parameters allowed to all other cs1|2 templates. The limited subset is defined here. | |||
Same conventions for true/false/dicouraged/nil as above. | |||
]] | |||
local limited_basic_arguments = { | |||
['at'] = true, | |||
['author'] = true, | |||
['author-first'] = true, | |||
['author-given'] = true, | |||
['author-last'] = true, | |||
['author-surname'] = true, | |||
['author-link'] = true, | |||
['authorlink'] = 'discouraged', | |||
['author-mask'] = true, | |||
['authors'] = true, | |||
['collaboration'] = true, | |||
['date'] = true, | |||
['df'] = true, | |||
['display-authors'] = true, | |||
['first'] = true, | |||
['given'] = true, | |||
['language'] = true, | |||
['last'] = true, | |||
['mode'] = true, | |||
['name-list-style'] = true, | |||
['no-tracking'] = true, | |||
['p'] = true, | |||
['page'] = true, | |||
['pages'] = true, | |||
['postscript'] = true, | |||
['pp'] = true, | |||
['quotation'] = true, | |||
['quote'] = true, | |||
['ref'] = true, | |||
['surname'] = true, | |||
['template-doc-demo'] = true, | |||
['title'] = true, | |||
['trans-title'] = true, | |||
['url'] = true, | |||
['URL'] = true, | |||
['vauthors'] = true, | |||
['year'] = true, | |||
} | |||
local limited_numbered_arguments = { | |||
['author#'] = true, | |||
['author-first#'] = true, | |||
['author#-first'] = true, | |||
['author-given#'] = true, | |||
['author#-given'] = true, | |||
['author-last#'] = true, | |||
['author#-last'] = true, | |||
['author-surname#'] = true, | |||
['author#-surname'] = true, | |||
['author-link#'] = true, | |||
['author#-link'] = true, | |||
['authorlink#'] = 'discouraged', | |||
['author#link'] = 'discouraged', | |||
['author-mask#'] = true, | |||
['author#-mask'] = true, | |||
['first#'] = true, | |||
['given#'] = true, | |||
['last#'] = true, | |||
['surname#'] = true, | |||
} | |||
--[[--------------------------< U N I Q U E _ A R G U M E N T S >---------------------------------------------- | |||
Some templates have unique parameters. Those templates and their unique parameters are listed here. Keys in this | |||
table are the template's CitationClass parameter value | |||
Same conventions for true/false/dicouraged/nil as above. | |||
]] | |||
local unique_arguments = { | |||
['audio-visual'] = { | |||
['transcript'] = true, | |||
['transcript-format'] = true, | |||
['transcripturl'] = false, | |||
['transcript-url'] = true, | |||
}, | |||
episode = { | |||
['airdate'] = 'discouraged', | |||
['air-date'] = true, | |||
['credits'] = true, | |||
['episodelink'] = false, -- alias of |title-link= | |||
['episode-link'] = true, -- alias of |title-link= | |||
['network'] = true, | |||
['station'] = true, | |||
['transcript'] = true, | |||
['transcript-format'] = true, | |||
['transcripturl'] = false, | |||
['transcript-url'] = true, | |||
}, | |||
mailinglist = { | |||
['mailinglist'] = false, | |||
['mailing-list'] = true, | |||
}, | |||
map = { | |||
['inset'] = true, | |||
['map'] = true, | |||
['map-format'] = true, | |||
['mapurl'] = false, | |||
['map-url'] = true, | |||
['map-url-access'] = true, | |||
['script-map'] = true, | |||
['sections'] = true, | |||
['sheet'] = true, | |||
['sheets'] = true, | |||
['trans-map'] = true, | |||
}, | |||
newsgroup = { | |||
['message-id'] = true, | |||
['newsgroup'] = true, | |||
}, | |||
serial = { | |||
['airdate'] = 'discouraged', | |||
['air-date'] = true, | |||
['credits'] = true, | |||
['episode'] = true, -- cite serial only TODO: make available to cite episode? | |||
['episodelink'] = false, | |||
['episode-link'] = true, -- alias of |title-link= | |||
['network'] = true, | |||
['station'] = true, | |||
}, | |||
} | |||
--[[--------------------------< T E M P L A T E _ L I S T _ G E T >-------------------------------------------- | |||
gets a list of the templates from table t | |||
]] | |||
local function template_list_get (t) | |||
local out = {}; -- a table for output | |||
for k, _ in pairs (t) do -- spin through the table and collect the keys | |||
table.insert (out, k) -- add each key to the output table | |||
end | |||
return out; -- and done | |||
end | |||
--[[--------------------------< E X P O R T E D T A B L E S >------------------------------------------------ | |||
]] | |||
return { | |||
basic_arguments = basic_arguments, | |||
numbered_arguments = numbered_arguments, | |||
limited_basic_arguments = limited_basic_arguments, | |||
limited_numbered_arguments = limited_numbered_arguments, | |||
preprint_arguments = preprint_arguments, | |||
preprint_template_list = template_list_get (preprint_arguments), -- make a template list from preprint_arguments{} table | |||
unique_arguments = unique_arguments, | |||
unique_param_template_list = template_list_get (unique_arguments), -- make a template list from unique_arguments{} table | |||
}; |