Open main menu

Changes

Module:Citation/CS1/Whitelist

1,914 bytes added, 13:23, 10 October 2020
sync from sandbox;
]]
 
local whitelist = {}
local basic_arguments = {
['access-date'] = true,
['agency'] = true,
['airdate'] = true,
['air-date'] = true,
['archivedate'] = true,
['archive-date'] = true,
['article-url'] = true,
['article-url-access'] = true,
['arxiv'] = true, -- cite arxiv; here because allowed in cite ... as identifier
['asin'] = true,
['ASIN'] = true,
['author'] = true,
['author-first'] = true,
['author-given'] = true,
['author-last'] = true,
['author-surname'] = true,
['authorlink'] = true,
['author-link'] = true,
['authormask'] = truefalse, -- deprecated
['author-mask'] = true,
['authors'] = true,
['bibcode'] = true,
['bibcode-access'] = true,
['biorxiv'] = true, -- cite biorxiv; here because allowed in cite ... as identifier
['booktitle'] = true,
['book-title'] = true,
['chapter-url'] = true,
['chapter-url-access'] = true,
['citeseerx'] = true, -- cite citeseerx; here because allowed in cite ... as identifier
['collaboration'] = true,
['conference'] = true,
['contributor'] = true,
['contributor-first'] = true,
['contributor-given'] = true,
['contributor-last'] = true,
['contributor-given'] = true,
['contributor-surname'] = true,
['contributor-link'] = true,
['contributor-mask'] = true,
['credits'] = true, -- cite episode, cite serial
['date'] = true,
['degree'] = true,
['df'] = true,
['dictionary'] = true,
['displayauthors'] = truefalse, -- deprecated
['display-authors'] = true,
['display-contributors'] = true,
['displayeditors'] = true,
['display-editors'] = true,
['display-interviewers'] = true,
['display-subjects'] = true,
['display-translators'] = true,
['docket'] = true,
['DOI'] = true,
['doi-access'] = true,
['doi-broken'] = true,
['doi-broken-date'] = true,
['doi-inactive-date'] = true,
['edition'] = true,
['editor'] = true,
['editor-given'] = true,
['editor-last'] = true,
['editor-surname'] = true, ['editorlink'] = truefalse, -- deprecated
['editor-link'] = true,
['editormask'] = true,
['editor-mask'] = true,
['editors'] = truefalse, ['editor -surname'] = true,- deprecated
['eissn'] = true,
['EISSN'] = true,
['embargo'] = true,
['encyclopaedia'] = true,
['encyclopedia'] = true,
['entry-url'] = 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 and arxiv identifiers; here because allowed in cite ... as identifier
['event'] = true,
['event-format'] = true,
['id'] = true,
['ID'] = true,
['ignoreisbnerror'] = true, ['ignore-isbn-error'] = true, ['inset'] = truefalse, -- deprecated
['institution'] = true,
['interviewer'] = true,
['interviewer-first'] = true,
['interviewer-given'] = true,
['interviewer-last'] = true,
['interviewerlinkinterviewer-surname'] = true,
['interviewer-link'] = true,
['interviewermask'] = true,
['interviewer-mask'] = true,
['isbn'] = true,
['language'] = true,
['last'] = true,
['lastauthoramp'] = truefalse, -- deprecated ['last-author-amp'] = truefalse, -- deprecated
['laydate'] = true,
['lay-date'] = true,
['location'] = 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,
['message-id'] = true, -- cite newsgroup
['minutes'] = true,
['mode'] = true,
['MR'] = true,
['name-list-format'] = true,
['network'] = true, ['newsgroupname-list-style'] = true,
['newspaper'] = true,
['nocat'] = true,
['no-cat'] = true,
['nopp'] = true,
['no-pp'] = true,
['notracking'] = true,
['no-tracking'] = true,
['number'] = true,
['OL'] = true,
['ol-access'] = true,
['orig-date'] = true,
['origyear'] = true,
['orig-year'] = true,
['pmc'] = true,
['PMC'] = true,
['pmc-embargo-date'] = true,
['pmid'] = true,
['PMID'] = true,
['quotation'] = true,
['quote'] = true,
['quote-page'] = true,
['quote-pages'] = true,
['ref'] = true,
['rfc'] = true,
['RFC'] = true,
['sbn'] = true,
['SBN'] = true,
['scale'] = true,
['script-article'] = true,
['script-journal'] = true,
['script-magazine'] = true,
['script-map'] = true,
['script-newspaper'] = true,
['script-periodical'] = true,
['script-quote'] = true,
['script-section'] = true,
['script-title'] = true,
['section'] = true,
['section-format'] = true,
['sections'] = true, -- cite map only
['sectionurl'] = true,
['section-url'] = true,
['seriesnumber'] = true,
['series-number'] = true,
['series-separator'] = true, ['sheetssrn'] = true, -- cite map only ['sheets'] = true, -- ssrn; these two here because allowed in cite map only ['ssrn'] = true,... as identifier
['SSRN'] = true,
['station'] = true,
['subject'] = true,
['subjectlink'] = truefalse, -- deprecated
['subject-link'] = true,
['subject-mask'] = true,
['surname'] = true,
['s2cid'] = true,
['S2CID'] = true,
['s2cid-access'] = true,
['template-doc-demo'] = true,
['time'] = true,
['titlelink'] = true,
['title-link'] = true,
['trans-map'] = true,
['transcript'] = true,
['transcript-format'] = true,
['transcripturl'] = true,
['transcript-url'] = true,
['translator'] = true,
['translator-first'] = true,
['translator-last'] = true,
['translator-given'] = true,
['translator-last'] = true,
['translator-surname'] = true,
['translator-link'] = true,
['trans-newspaper'] = true,
['trans-periodical'] = true,
['trans-quote'] = true,
['trans-section'] = true,
['trans-title'] = 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,
['author#-link'] = true,
['authorlink#'] = true,
['author#link'] = true,
['author-mask#'] = true,
['author#mask'] = true,
['author#-mask'] = true,
['authormask#'] = truefalse, -- deprecated ['author#mask'] = false, -- deprecated
['contributor#'] = true,
['contributor-first#'] = true,
['contributor#-first'] = true,
['contributor-given#'] = true,
['contributor#-given'] = true,
['contributor-last#'] = true,
['contributor#-last'] = true,
['contributor-given#'] = true,
['contributor#-given'] = true,
['contributor-surname#'] = true,
['contributor#-surname'] = true,
['editor-first#'] = true,
['editor#-first'] = true,
['editor-given#'] = true,
['editor#-given'] = true,
['editor-given#'] = true,
['editor-last#'] = true,
['editor#-last'] = true,
['editor-surname#'] = true,
['editor#-surname'] = true,
['editor-link#'] = true,
['editor#link'] = true,
['editor#-link'] = true,
['editorlink#'] = truefalse, -- deprecated ['editor#link'] = false, -- deprecated
['editor-mask#'] = true,
['editor#mask'] = true,
['editor#-mask'] = true,
['editormask#'] = true,
['editor#-surname'] = true,
['editor-surname#'] = true,
['first#'] = true,
['given#'] = 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,
['subject#'] = true,
['subject-link#'] = true,
['subject#link'] = true,
['subject#-link'] = true,
['subjectlink#'] = false, -- deprecated ['subject#link'] = false, -- deprecated ['subject-mask#'] = true, ['subject#-mask'] = true,
['surname#'] = true,
['translator#'] = true,
['translator-first#'] = true,
['translator#-first'] = true,
['translator-given#'] = true,
['translator#-given'] = true,
['translator-last#'] = true,
['translator#-last'] = true,
['translator-given#'] = true,
['translator#-given'] = true,
['translator-surname#'] = true,
['translator#-surname'] = true,
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
proeprint preprint templates. Some of these parameters may also be available to the general cs1|2 templates.
Same conventions for true/false/nil as above.
]]
--[[--------------------------< C I T E A R X I V >---------------------------------------------------------- ]] local arxiv_basic_arguments preprint_arguments = { arxiv = { ['arxiv'] = true, -- cite arxiv and arxiv identifiers ['class'] = true, -- cite arxiv only ['eprint'] = true, -- cite arxiv and arxiv identifiers },  --[[--------------------------< C I T E B I O R X I V >------------------------------------------------------ ]] local biorxiv_basic_arguments biorxiv = { ['biorxiv'] = true, },  --[[--------------------------< C I T E C I T E S E E R X >-------------------------------------------------- ]] local citeseerx_basic_arguments citeseerx = { ['citeseerx'] = true, },  --[[--------------------------< C I T E S S R N >------------------------------------------------------------ ]] local ssrn_basic_arguments ssrn = { ['ssrn'] = true, ['SSRN'] = true, }, }
['author'] = true,
['author-first'] = true,
['author-given'] = true,
['author-last'] = true,
['author-surname'] = true,
['author-link'] = true,
['authorlink'] = true,
['author-link'] = true,
['authormask'] = true,
['author-mask'] = true,
['authormask'] = false, -- deprecated
['authors'] = true,
['collaboration'] = true,
['date'] = true,
['df'] = true,
['displayauthors'] = true,
['display-authors'] = true,
['displayauthors'] = false, -- deprecated
['first'] = true,
['given'] = true,
['language'] = true,
['last'] = true,
['lastauthoramplast-author-amp'] = truefalse, -- deprecated ['last-author-amplastauthoramp'] = truefalse, -- deprecated
['mode'] = true,
['name-list-format'] = true,
['name-list-style'] = true,
['nocat'] = true,
['no-cat'] = true,
['notracking'] = true,
['no-tracking'] = true,
['p'] = true,
['template-doc-demo'] = true,
['title'] = true,
['trans-title'] = true,
['url'] = true,
['URL'] = 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,
['author#-link'] = true,
['authorlink#'] = true,
['author#link'] = true,
['author-mask#'] = true,
['author#mask'] = true,
['author#-mask'] = true,
['authormask#'] = truefalse, -- deprecated ['author#mask'] = false, -- deprecated
['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 thistable are the template's CitationClass parameter value Same conventions for true/false/nil as above. ]] local unique_arguments = { ['audio-visual'] = { ['transcript'] = true, ['transcript-format'] = true, ['transcripturl'] = true, ['transcript-url'] = true, }, episode = { ['airdate'] = true, ['air-date'] = true, ['credits'] = true, ['episodelink'] = true, -- alias of |title-link= ['episode-link'] = true, -- alias of |title-link= ['network'] = true, ['station'] = true, ['transcript'] = true, ['transcript-format'] = true, ['transcripturl'] = true, ['transcript-url'] = true, }, mailinglist = { ['mailinglist'] = true, ['mailing-list'] = true, }, map = { ['inset'] = true, ['map'] = true, ['map-format'] = true, ['mapurl'] = true, ['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'] = true, ['air-date'] = true, ['credits'] = true, ['episode'] = true, -- cite serial only TODO: make available to cite episode? ['episodelink'] = true, -- aliases of |title-link= ['episode-link'] = true, ['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 doneend
limited_basic_arguments = limited_basic_arguments,
limited_numbered_arguments = limited_numbered_arguments,
  arxiv_basic_arguments preprint_arguments = arxiv_basic_argumentspreprint_arguments, biorxiv_basic_arguments preprint_template_list = biorxiv_basic_argumentstemplate_list_get (preprint_arguments), -- make a template list from preprint_arguments{} table citeseerx_basic_arguments unique_arguments = citeseerx_basic_argumentsunique_arguments, ssrn_basic_arguments unique_param_template_list = ssrn_basic_argumentstemplate_list_get (unique_arguments), -- make a template list from unique_arguments{} table
};