Jump to content

Module:Citation/CS1/Whitelist: Difference between revisions

m
(sync from sandbox;)
 
(5 intermediate revisions by one other user not shown)
Line 5: 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
discouraged - pre-deprecation purgatory; may someday be deprecated; or not
nil - these parameters are no longer supported. remove entirely
nil - these parameters are no longer supported. remove entirely
]]
]]
local whitelist = {}


local basic_arguments = {
local basic_arguments = {
['accessdate'] = true,
['accessdate'] = 'discouraged',
['access-date'] = true,
['access-date'] = true,
['agency'] = true,
['agency'] = true,
-- ['airdate'] = true, -- cite episode and cite serial only
['archivedate'] = 'discouraged',
-- ['air-date'] = true, -- cite episode and cite serial only
['archivedate'] = true,
['archive-date'] = true,
['archive-date'] = true,
['archive-format'] = true,
['archive-format'] = true,
['archiveurl'] = true,
['archiveurl'] = 'discouraged',
['archive-url'] = true,
['archive-url'] = true,
['article'] = true,
['article'] = true,
Line 26: Line 23:
['article-url'] = true,
['article-url'] = true,
['article-url-access'] = true,
['article-url-access'] = true,
['arxiv'] = true,
['arxiv'] = true, -- cite arxiv; here because allowed in cite ... as identifier
['asin'] = true,
['asin'] = true,
['ASIN'] = true,
['ASIN'] = true,
Line 33: Line 30:
['author'] = true,
['author'] = true,
['author-first'] = true,
['author-first'] = true,
['author-given'] = true,
['author-last'] = true,
['author-last'] = true,
['authorlink'] = true,
['author-surname'] = true,
['authorlink'] = 'discouraged',
['author-link'] = true,
['author-link'] = true,
['authormask'] = true,
['author-mask'] = true,
['author-mask'] = true,
['authors'] = true,
['authors'] = true,
['bibcode'] = true,
['bibcode'] = true,
['bibcode-access'] = true,
['bibcode-access'] = true,
['biorxiv'] = true,
['biorxiv'] = true, -- cite biorxiv; here because allowed in cite ... as identifier
['booktitle'] = true,
['booktitle'] = false,
['book-title'] = true,
['book-title'] = true,
['cartography'] = true,
['cartography'] = true,
['chapter'] = true,
['chapter'] = true,
['chapter-format'] = true,
['chapter-format'] = true,
['chapterurl'] = true,
['chapterurl'] = false,
['chapter-url'] = true,
['chapter-url'] = true,
['chapter-url-access'] = true,
['chapter-url-access'] = true,
['citeseerx'] = 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,
['conferenceurl'] = true,
['conference-url'] = true,
['conference-url'] = true,
['contribution'] = true,
['contribution'] = true,
['contribution-format'] = true,
['contribution-format'] = true,
['contributionurl'] = true,
['contribution-url'] = true,
['contribution-url'] = true,
['contribution-url-access'] = 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-given'] = true,
['contributor-surname'] = true,
['contributor-surname'] = true,
['contributor-link'] = true,
['contributor-link'] = true,
['contributor-mask'] = true,
['contributor-mask'] = true,
-- ['credits'] = true, -- cite episode, cite serial
['date'] = true,
['date'] = true,
['degree'] = true,
['degree'] = true,
Line 74: Line 69:
['df'] = true,
['df'] = true,
['dictionary'] = true,
['dictionary'] = true,
['displayauthors'] = true,
['display-authors'] = true,
['display-authors'] = true,
['display-contributors'] = true,
['display-contributors'] = true,
['displayeditors'] = true,
['display-editors'] = true,
['display-editors'] = true,
['display-interviewers'] = true,
['display-interviewers'] = true,
['display-subjects'] = true,
['display-translators'] = true,
['display-translators'] = true,
['docket'] = true,
['docket'] = true,
Line 85: Line 79:
['DOI'] = true,
['DOI'] = true,
['doi-access'] = true,
['doi-access'] = true,
['doi-broken'] = true,
['doi-broken-date'] = true,
['doi-broken-date'] = true,
['doi-inactive-date'] = true,
['edition'] = true,
['edition'] = true,
['editor'] = true,
['editor'] = true,
Line 93: Line 85:
['editor-given'] = true,
['editor-given'] = true,
['editor-last'] = true,
['editor-last'] = true,
['editorlink'] = true,
['editor-surname'] = true,
['editor-link'] = true,
['editor-link'] = true,
['editormask'] = true,
['editor-mask'] = true,
['editor-mask'] = true,
['editors'] = true,
['editor-surname'] = true,
['eissn'] = true,
['eissn'] = true,
['EISSN'] = true,
['EISSN'] = true,
['embargo'] = true,
['encyclopaedia'] = true,
['encyclopaedia'] = true,
['encyclopedia'] = true,
['encyclopedia'] = true,
Line 108: Line 96:
['entry-url'] = true,
['entry-url'] = true,
['entry-url-access'] = true,
['entry-url-access'] = true,
-- ['episode'] = true, -- cite serial only TODO: make available to cite episode?
-- ['episodelink'] = true, -- cite episode and cite serial
-- ['episode-link'] = true, -- cite episode and cite serial
['eprint'] = true, -- cite arxiv; here because allowed in cite ... as identifier
['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?
['event-format'] = true,
['eventurl'] = true,
['event-url'] = true,
['first'] = true,
['first'] = true,
['format'] = true,
['format'] = true,
Line 125: Line 107:
['id'] = true,
['id'] = true,
['ID'] = true,
['ID'] = true,
['ignoreisbnerror'] = true,
['ignore-isbn-error'] = true,
['inset'] = true,
['institution'] = true,
['institution'] = true,
['interviewer'] = true,
['interviewer'] = true,
['interviewer-first'] = true,
['interviewer-first'] = true,
['interviewer-given'] = true,
['interviewer-last'] = true,
['interviewer-last'] = true,
['interviewerlink'] = true,
['interviewer-surname'] = true,
['interviewer-link'] = true,
['interviewer-link'] = true,
['interviewermask'] = true,
['interviewer-mask'] = true,
['interviewer-mask'] = true,
['isbn'] = true,
['isbn'] = true,
Line 154: Line 133:
['language'] = true,
['language'] = true,
['last'] = true,
['last'] = true,
['lastauthoramp'] = true,
['last-author-amp'] = true,
['laydate'] = true,
['lay-date'] = true,
['lay-date'] = true,
['laysource'] = true,
['lay-source'] = true,
['lay-source'] = true,
['lay-format'] = true,
['lay-format'] = true,
['layurl'] = true,
['lay-url'] = true,
['lay-url'] = true,
['lccn'] = true,
['lccn'] = true,
Line 167: Line 141:
['location'] = true,
['location'] = true,
['magazine'] = true,
['magazine'] = true,
['mailinglist'] = true, -- cite mailing list only
['mailing-list'] = true, -- cite mailing list only
['map'] = true, -- cite map only
['map-format'] = true, -- cite map only
['mapurl'] = true, -- cite map only
['map-url'] = true, -- cite map only
['map-url-access'] = true, -- cite map only
['medium'] = true,
['medium'] = true,
-- ['message-id'] = true, -- cite newsgroup
['minutes'] = true,
['minutes'] = true,
['mode'] = true,
['mode'] = true,
['mr'] = true,
['mr'] = true,
['MR'] = true,
['MR'] = true,
['name-list-format'] = true,
['name-list-style'] = true,
-- ['network'] = true, -- cite episode and cite serial only
-- ['newsgroup'] = true, -- cite newsgroup
['newspaper'] = true,
['newspaper'] = true,
['nocat'] = true,
['nopp'] = false,
['no-cat'] = true,
['nopp'] = true,
['no-pp'] = true,
['no-pp'] = true,
['notracking'] = true,
['no-tracking'] = true,
['no-tracking'] = true,
['number'] = true,
['number'] = true,
Line 196: Line 157:
['OL'] = true,
['OL'] = true,
['ol-access'] = true,
['ol-access'] = true,
['origyear'] = true,
['orig-date'] = true,
['origyear'] = 'discouraged',
['orig-year'] = true,
['orig-year'] = true,
['osti'] = true,
['osti'] = true,
Line 210: 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'] = true,
['publicationdate'] = false,
['publication-date'] = true,
['publication-date'] = true,
['publicationplace'] = true,
['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,
Line 233: Line 198:
['script-journal'] = true,
['script-journal'] = true,
['script-magazine'] = true,
['script-magazine'] = true,
['script-map'] = true,
['script-newspaper'] = true,
['script-newspaper'] = true,
['script-periodical'] = true,
['script-periodical'] = true,
['script-quote'] = true,
['script-section'] = true,
['script-section'] = true,
['script-title'] = true,
['script-title'] = true,
Line 243: Line 208:
['section'] = true,
['section'] = true,
['section-format'] = true,
['section-format'] = true,
['sections'] = true, -- cite map only
['sectionurl'] = true,
['section-url'] = true,
['section-url'] = true,
['section-url-access'] = true,
['section-url-access'] = true,
['series'] = true,
['series'] = true,
['serieslink'] = true,
['serieslink'] = false,
['series-link'] = true,
['series-link'] = true,
['seriesno'] = true,
['series-no'] = true,
['series-no'] = true,
['seriesnumber'] = true,
['series-number'] = true,
['series-number'] = true,
['series-separator'] = true,
['ssrn'] = true, -- cite ssrn; these two here because allowed in cite ... as identifier
['sheet'] = true, -- cite map only
['sheets'] = true, -- cite map only
['ssrn'] = true,
['SSRN'] = true,
['SSRN'] = true,
-- ['station'] = true, -- cite episode and cite serial only
['subject'] = true,
['subject'] = true,
['subjectlink'] = true,
['subject-link'] = true,
['subject-link'] = true,
['subject-mask'] = true,
['surname'] = true,
['surname'] = true,
['s2cid'] = true,
['s2cid'] = true,
Line 269: Line 226:
['template-doc-demo'] = true,
['template-doc-demo'] = true,
['time'] = true,
['time'] = true,
['timecaption'] = true,
['time-caption'] = true,
['time-caption'] = true,
['title'] = true,
['title'] = true,
['titlelink'] = true,
['title-link'] = true,
['title-link'] = true,
['trans-map'] = true,
['transcript'] = true,
['transcript-format'] = true,
['transcripturl'] = true,
['transcript-url'] = true,
['translator'] = true,
['translator'] = true,
['translator-first'] = true,
['translator-first'] = true,
['translator-last'] = true,
['translator-given'] = true,
['translator-given'] = true,
['translator-last'] = true,
['translator-surname'] = true,
['translator-surname'] = true,
['translator-link'] = true,
['translator-link'] = true,
Line 294: Line 244:
['trans-newspaper'] = true,
['trans-newspaper'] = true,
['trans-periodical'] = true,
['trans-periodical'] = true,
['trans-quote'] = true,
['trans-section'] = true,
['trans-section'] = true,
['trans-title'] = true,
['trans-title'] = true,
Line 319: 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,
['author#-link'] = true,
['authorlink#'] = true,
['authorlink#'] = 'discouraged',
['author#link'] = 'discouraged',
['author-mask#'] = true,
['author-mask#'] = true,
['author#mask'] = true,
['author#-mask'] = true,
['author#-mask'] = true,
['authormask#'] = 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-given#'] = true,
['contributor#-given'] = true,
['contributor-surname#'] = true,
['contributor-surname#'] = true,
['contributor#-surname'] = true,
['contributor#-surname'] = true,
Line 345: Line 298:
['editor-first#'] = true,
['editor-first#'] = true,
['editor#-first'] = true,
['editor#-first'] = true,
['editor-given#'] = 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#-link'] = true,
['editorlink#'] = true,
['editor-mask#'] = true,
['editor-mask#'] = true,
['editor#mask'] = true,
['editor#-mask'] = true,
['editor#-mask'] = true,
['editormask#'] = true,
['editor#-surname'] = true,
['editor-surname#'] = true,
['first#'] = true,
['first#'] = true,
['given#'] = true,
['given#'] = true,
Line 365: Line 314:
['interviewer-first#'] = true,
['interviewer-first#'] = true,
['interviewer#-first'] = true,
['interviewer#-first'] = true,
['interviewer-given#'] = true,
['interviewer#-given'] = true,
['interviewer-last#'] = true,
['interviewer-last#'] = true,
['interviewer#-last'] = true,
['interviewer#-last'] = true,
['interviewer-surname#'] = true,
['interviewer#-surname'] = true,
['interviewer-link#'] = true,
['interviewer-link#'] = true,
['interviewer#-link'] = true,
['interviewer#-link'] = true,
Line 374: Line 327:
['subject#'] = true,
['subject#'] = true,
['subject-link#'] = true,
['subject-link#'] = true,
['subject#link'] = true,
['subject#-link'] = true,
['subject#-link'] = true,
['subjectlink#'] = 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-given#'] = true,
['translator#-given'] = true,
['translator-surname#'] = true,
['translator-surname#'] = true,
['translator#-surname'] = true,
['translator#-surname'] = true,
Line 401: Line 354:
preprint templates.  Some of these parameters may also be available to the general cs1|2 templates.
preprint templates.  Some of these parameters may also be available to the general cs1|2 templates.


Same conventions for true/false/nil as above.
Same conventions for true/false/dicouraged/nil as above.


]]
]]
Line 408: Line 361:
arxiv = {
arxiv = {
['arxiv'] = true, -- cite arxiv and arxiv identifiers
['arxiv'] = true, -- cite arxiv and arxiv identifiers
['class'] = true, -- cite arxiv only
['class'] = true,
['eprint'] = true, -- cite arxiv and arxiv identifiers
['eprint'] = true, -- cite arxiv and arxiv identifiers
},
},
Line 426: Line 379:
--[[--------------------------< 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 >----------------------
--[[--------------------------< 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 >----------------------


This is an experiment that attempts to use validate() and a limited list of valid parameters to validate the
cite arxiv, cite biorxiv, cite citeseerx, and cite ssrn templates are preprint templates so are allowed only a
parameters provided in a cite arxiv, cite biorxiv, or cite citeseerx templates.  These parameters are common to
limited subset of parameters allowed to all other cs1|2 templates.  The limited subset is defined here.
all three templates


Same conventions for true/false/nil as above.
Same conventions for true/false/dicouraged/nil as above.
]]
]]
Line 438: Line 390:
['author'] = true,
['author'] = true,
['author-first'] = true,
['author-first'] = true,
['author-given'] = true,
['author-last'] = true,
['author-last'] = true,
['authorlink'] = true,
['author-surname'] = true,
['author-link'] = true,
['author-link'] = true,
['authormask'] = true,
['authorlink'] = 'discouraged',
['author-mask'] = true,
['author-mask'] = true,
['authors'] = true,
['authors'] = true,
Line 447: Line 400:
['date'] = true,
['date'] = true,
['df'] = true,
['df'] = true,
['displayauthors'] = true,
['display-authors'] = true,
['display-authors'] = true,
['first'] = true,
['first'] = true,
Line 453: Line 405:
['language'] = true,
['language'] = true,
['last'] = true,
['last'] = true,
['lastauthoramp'] = true,
['last-author-amp'] = true,
['mode'] = true,
['mode'] = true,
['name-list-format'] = true,
['name-list-style'] = true,
['nocat'] = true,
['no-cat'] = true,
['notracking'] = true,
['no-tracking'] = true,
['no-tracking'] = true,
['p'] = true,
['p'] = true,
Line 472: Line 419:
['template-doc-demo'] = true,
['template-doc-demo'] = true,
['title'] = true,
['title'] = true,
['trans-title'] = true,
['url'] = true,
['url'] = true,
['URL'] = true,
['URL'] = true,
Line 482: Line 430:
['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,
['author#-link'] = true,
['authorlink#'] = true,
['authorlink#'] = 'discouraged',
['author#link'] = 'discouraged',
['author-mask#'] = true,
['author-mask#'] = true,
['author#mask'] = true,
['author#-mask'] = true,
['author#-mask'] = true,
['authormask#'] = true,
['first#'] = true,
['first#'] = true,
['given#'] = true,
['given#'] = true,
Line 501: Line 451:
--[[--------------------------< U N I Q U E _ A R G U M E N T S >----------------------------------------------
--[[--------------------------< 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
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
table are the template's CitationClass parameter value


Same conventions for true/false/nil as above.
Same conventions for true/false/dicouraged/nil as above.


]]
]]


local unique_arguments = {
local unique_arguments = {
['audio-visual'] = {
['transcript'] = true,
['transcript-format'] = true,
['transcripturl'] = false,
['transcript-url'] = true,
},
episode = {
episode = {
['airdate'] = true,
['airdate'] = 'discouraged',
['air-date'] = true,
['air-date'] = true,
['credits'] = true,
['credits'] = true,
['episodelink'] = true, -- aliases of |title-link=
['episodelink'] = false, -- alias of |title-link=
['episode-link'] = true,
['episode-link'] = true, -- alias of |title-link=
['network'] = true,
['network'] = true,
['station'] = 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 = {
newsgroup = {
Line 523: Line 500:
},
},
serial = {
serial = {
['airdate'] = true,
['airdate'] = 'discouraged',
['air-date'] = true,
['air-date'] = true,
['credits'] = true,
['credits'] = true,
['episode'] = true, -- cite serial only TODO: make available to cite episode?
['episode'] = true, -- cite serial only TODO: make available to cite episode?
['episodelink'] = true, -- aliases of |title-link=
['episodelink'] = false,
['episode-link'] = true,
['episode-link'] = true, -- alias of |title-link=
['network'] = true,
['network'] = true,
['station'] = true,
['station'] = true,
Cookies help us deliver our services. By using our services, you agree to our use of cookies.