Изменения

sync from sandbox;
Строка 1: Строка 1: −
  −
--[[--------------------------< P A R A M E T E R S  N O T  S U P P O R T E D >------------------------------
  −
  −
This is a list of parameters that once were but now are no longer supported:
  −
  −
['albumlink'] = nil, -- unique alias of titlelink used by old cite AV media notes
  −
['albumtype'] = nil, -- controled inappropriate functionality in the old cite AV media notes
  −
['artist'] = nil, -- unique alias of others used by old cite AV media notes
  −
['authors#'] = nil, -- no need for multiple lists of author names
  −
['cointerviewers'] = nil, -- unique alias of others used by old cite interview
  −
['day'] = nil, -- deprecated in {{citation/core}} and somehow undeprecated in Module:Citation/CS1 and now finally removed
  −
['director'] = nil, -- unique alias of author used by old cite DVD-notes
  −
['DoiBroken'] = nil, -- not used, non-standard captialization
  −
['editors#'] = nil, -- no need for multiple lists of editor names
  −
['Embargo'] = nil, -- not used, non-standard capitalization
  −
['notestitle'] = nil, -- unique alias of chapter used by old cite AV media notes
  −
['PPPrefix'] = nil, -- not used, non-standard capitalization
  −
['publisherid'] = nil, -- unique alias of id used by old cite AV media notes and old cite DVD-notes
  −
['titleyear'] = nil, -- unique alias of origyear used by old cite DVD-notes
  −
  −
]]
  −
   
--[[--------------------------< 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 >--------------------------------------
   Строка 26: Строка 4:  
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 (when setting a parameter to nil, leave a comment stating the reasons for invalidating the parameter)
+
tracked - these parameters are valid and supported parameters tracked in an eponymous properties category
 +
nil - these parameters are no longer supported. remove entirely
 
 
 
]]
 
]]
   −
local whitelist = {}
+
local basic_arguments_t = {
 
  −
local basic_arguments = {
   
['accessdate'] = true,
 
['accessdate'] = true,
 
['access-date'] = true,
 
['access-date'] = true,
 
['agency'] = true,
 
['agency'] = true,
['airdate'] = true,
  −
['air-date'] = true,
   
['archivedate'] = true,
 
['archivedate'] = true,
 
['archive-date'] = true,
 
['archive-date'] = true,
Строка 44: Строка 19:  
['archive-url'] = true,
 
['archive-url'] = true,
 
['article'] = true,
 
['article'] = true,
['arxiv'] = true,
+
['article-format'] = true,
['ARXIV'] = true,
+
['article-number'] = true, -- {{cite journal}}, {{cite conference}}; {{citation}} when |journal= has a value
 +
['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,
['ASIN-TLD'] = true,
   
['at'] = true,
 
['at'] = true,
 
['author'] = true,
 
['author'] = true,
['Author'] = false, -- deprecated; non-standard capitalization
   
['author-first'] = true,
 
['author-first'] = true,
['authorformat'] = false, -- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format
+
['author-given'] = true,
['author-format'] = false, -- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format
   
['author-last'] = true,
 
['author-last'] = true,
 +
['author-surname'] = true,
 
['authorlink'] = true,
 
['authorlink'] = true,
 
['author-link'] = true,
 
['author-link'] = true,
['authormask'] = true,
   
['author-mask'] = true,
 
['author-mask'] = true,
['author-name-separator'] = false, -- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format
+
['authors'] = false,
['authors'] = true,
  −
['author-separator'] = false, -- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format
  −
['began'] = false, -- deprecated because module handles date ranges; cite episode and cite series
   
['bibcode'] = true,
 
['bibcode'] = true,
['BIBCODE'] = true,
+
['bibcode-access'] = true,
['booktitle'] = true,
+
['biorxiv'] = true, -- cite biorxiv; here because allowed in cite ... as identifier
['book-title'] = true,
  −
['callsign']=true, -- cite interview
  −
['call-sign']=true, -- cite interview
  −
['cartography'] = true,
   
['chapter'] = true,
 
['chapter'] = true,
 
['chapter-format'] = true,
 
['chapter-format'] = true,
['chapterlink'] = false, -- deprecated
  −
['chapter-link'] = false, -- deprecated
  −
['chapterurl'] = true,
   
['chapter-url'] = true,
 
['chapter-url'] = true,
['city'] = true, -- cite interview, cite episode, cite serial
+
['chapter-url-access'] = true,
['class'] = true, -- cite arxiv and arxiv identifiers
+
['citeseerx'] = true, -- cite citeseerx; here because allowed in cite ... as identifier
['coauthor'] = false, -- deprecated
+
['collaboration'] = true,
['coauthors'] = false, -- deprecated
  −
['conference'] = true,
  −
['conference-format'] = true,
  −
['conferenceurl'] = true,
  −
['conference-url'] = true,
   
['contribution'] = true,
 
['contribution'] = true,
 
['contribution-format'] = true,
 
['contribution-format'] = true,
['contributionurl'] = true,
   
['contribution-url'] = true,
 
['contribution-url'] = true,
['credits'] = true, -- cite episode, cite serial
+
['contribution-url-access'] = true,
 +
['contributor'] = true,
 +
['contributor-first'] = true,
 +
['contributor-given'] = true,
 +
['contributor-last'] = true,
 +
['contributor-surname'] = true,
 +
['contributor-link'] = true,
 +
['contributor-mask'] = true,
 
['date'] = true,
 
['date'] = true,
['deadurl'] = true,
  −
['dead-url'] = true,
  −
['degree'] = true,
   
['department'] = true,
 
['department'] = true,
 +
['df'] = true,
 
['dictionary'] = true,
 
['dictionary'] = true,
['displayauthors'] = true,
   
['display-authors'] = true,
 
['display-authors'] = true,
['displayeditors'] = true,
+
['display-contributors'] = true,
 
['display-editors'] = true,
 
['display-editors'] = true,
['docket'] = true,
+
['display-interviewers'] = true,
 +
['display-subjects'] = true,
 +
['display-translators'] = true,
 
['doi'] = true,
 
['doi'] = true,
 
['DOI'] = true,
 
['DOI'] = true,
['doi-broken'] = true,
+
['doi-access'] = true,
['doi_brokendate'] = true,
   
['doi-broken-date'] = true,
 
['doi-broken-date'] = true,
['doi_inactivedate'] = true,
  −
['doi-inactive-date'] = true,
   
['edition'] = true,
 
['edition'] = true,
 
['editor'] = true,
 
['editor'] = true,
['Editor'] = false, -- deprecated; non-standard capitalization
   
['editor-first'] = true,
 
['editor-first'] = true,
['editorformat'] = false, -- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format
  −
['editor-format'] = false, -- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format
  −
['EditorGiven'] = false, -- deprecated; non-standard capitalization
   
['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,
['editor-name-separator'] = false, -- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format
+
['eissn'] = true,
['editors'] = true,
+
['EISSN'] = true,
['editor-separator'] = false, -- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format
  −
['EditorSurname'] = false, -- deprecated; non-standard capitalization
  −
['editor-surname'] = true,
  −
['embargo'] = true,
   
['encyclopaedia'] = true,
 
['encyclopaedia'] = true,
 
['encyclopedia'] = true,
 
['encyclopedia'] = true,
['ended'] = false, -- deprecated because module handles date ranges; cite episode and cite series
   
['entry'] = true,
 
['entry'] = true,
['episode'] = true, -- cite serial only TODO: make available to cite episode?
+
['entry-format'] = true,
['episodelink'] = true, -- cite episode and cite serial
+
['entry-url'] = true,
['episode-link'] = true, -- cite episode and cite serial
+
['entry-url-access'] = true,
['eprint'] = true, -- cite arxiv and arxiv identifiers
+
['eprint'] = true, -- cite arxiv; here because allowed in cite ... as identifier
['event'] = true,
  −
['event-format'] = true,
  −
['eventurl'] = true,
  −
['event-url'] = true,
   
['first'] = true,
 
['first'] = true,
 
['format'] = true,
 
['format'] = true,
 
['given'] = true,
 
['given'] = true,
['host'] = true,
+
['hdl'] = true,
 +
['HDL'] = true,
 +
['hdl-access'] = true,
 +
['host'] = true, -- unique to certain templates?
 
['id'] = true,
 
['id'] = true,
 
['ID'] = true,
 
['ID'] = true,
['ignoreisbnerror'] = true,
+
['institution'] = true, -- constrain to cite thesis?
['ignore-isbn-error'] = true,
+
['interviewer'] = true,
['in'] = true,
+
['interviewer-first'] = true,
['inset'] = true,
+
['interviewer-given'] = true,
['institution'] = true,
+
['interviewer-last'] = true,
['interviewer'] = true, --cite interview
+
['interviewer-surname'] = true,
['interviewers'] = true, --cite interview
+
['interviewer-link'] = true,
 +
['interviewer-mask'] = true,
 
['isbn'] = true,
 
['isbn'] = true,
 
['ISBN'] = true,
 
['ISBN'] = true,
['isbn13'] = true,
+
['ismn'] = true,
['ISBN13'] = true,
+
['ISMN'] = true,
 
['issn'] = true,
 
['issn'] = true,
 
['ISSN'] = true,
 
['ISSN'] = true,
Строка 165: Строка 117:  
['jstor'] = true,
 
['jstor'] = true,
 
['JSTOR'] = true,
 
['JSTOR'] = true,
 +
['jstor-access'] = true,
 +
['lang'] = true,
 
['language'] = true,
 
['language'] = true,
 
['last'] = true,
 
['last'] = true,
['lastauthoramp'] = true,
  −
['last-author-amp'] = true,
  −
['laydate'] = true,
  −
['lay-date'] = true,
  −
['laysource'] = true,
  −
['lay-source'] = true,
  −
['laysummary'] = true,
  −
['lay-summary'] = true,
  −
['lay-format'] = true,
  −
['layurl'] = true,
  −
['lay-url'] = true,
   
['lccn'] = true,
 
['lccn'] = true,
 
['LCCN'] = true,
 
['LCCN'] = true,
 
['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
   
['medium'] = true,
 
['medium'] = true,
['message-id'] = true, -- cite newsgroup
+
['medrxiv'] = true, -- cite medrxiv; here because allowed in cite ... as identifier
['minutes'] = true,
+
['minutes'] = true, -- constrain to cite AV media and podcast?
 
['mode'] = true,
 
['mode'] = true,
['month'] = false, -- deprecated
   
['mr'] = true,
 
['mr'] = true,
 
['MR'] = true,
 
['MR'] = true,
['name-list-format'] = true,
+
['name-list-style'] = true,
['name-separator'] = false, -- deprecated;  primarily used to support Vancouver format which functionality now part of name-list-format
  −
['network'] = true,
  −
['newsgroup'] = true,
   
['newspaper'] = true,
 
['newspaper'] = true,
['nocat'] = true,
  −
['no-cat'] = true,
  −
['nopp'] = true,
   
['no-pp'] = true,
 
['no-pp'] = true,
['notracking'] = true,
   
['no-tracking'] = true,
 
['no-tracking'] = true,
 
['number'] = true,
 
['number'] = true,
Строка 211: Строка 140:  
['ol'] = true,
 
['ol'] = true,
 
['OL'] = true,
 
['OL'] = true,
 +
['ol-access'] = true,
 +
['orig-date'] = true,
 
['origyear'] = true,
 
['origyear'] = true,
 
['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,
Строка 224: Строка 156:  
['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,
['pp-prefix'] = true,
  −
['PPrefix'] = true,
  −
['p-prefix'] = true,
  −
['program']=true, -- cite interview
  −
['publicationdate'] = true,
   
['publication-date'] = true,
 
['publication-date'] = true,
['publicationplace'] = true,
   
['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,
['Ref'] = true,
  −
['registration'] = true,
   
['rfc'] = true,
 
['rfc'] = true,
 
['RFC'] = true,
 
['RFC'] = true,
 +
['sbn'] = true,
 +
['SBN'] = true,
 
['scale'] = true,
 
['scale'] = true,
 +
['script-article'] = 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,
['season'] = true,
+
['script-website'] = true,
 +
['script-work'] = true,
 
['section'] = true,
 
['section'] = true,
 
['section-format'] = true,
 
['section-format'] = true,
['sections'] = true, -- cite map only
  −
['sectionurl'] = true,
   
['section-url'] = true,
 
['section-url'] = true,
['separator'] = false, -- deprecated; this functionality now provided by |mode=
+
['section-url-access'] = true,
 
['series'] = true,
 
['series'] = true,
['serieslink'] = true,
+
['ssrn'] = true, -- cite ssrn; these three here because allowed in cite ... as identifier
['series-link'] = true,
  −
['seriesno'] = true,
  −
['series-no'] = true,
  −
['seriesnumber'] = true,
  −
['series-number'] = true,
  −
['series-separator'] = true,
  −
['sheet'] = true, -- cite map only
  −
['sheets'] = true, -- cite map only
  −
['ssrn'] = true,
   
['SSRN'] = true,
 
['SSRN'] = true,
['station'] = true,
+
['ssrn-access'] = true,
 
['subject'] = true,
 
['subject'] = true,
['subjectlink'] = true,
+
['subject-first'] = true,
 +
['subject-given'] = true,
 +
['subject-last'] = true,
 
['subject-link'] = true,
 
['subject-link'] = true,
['subscription'] = true,
+
['subject-mask'] = true,
 +
['subject-surname'] = true,
 
['surname'] = true,
 
['surname'] = true,
['template doc demo'] = true,
+
['s2cid'] = true,
 +
['S2CID'] = true,
 +
['s2cid-access'] = true,
 
['template-doc-demo'] = true,
 
['template-doc-demo'] = true,
['time'] = true,
+
['time'] = true, -- constrain to cite av media and podcast?
['timecaption'] = true,
+
['time-caption'] = true, -- constrain to cite av media and podcast?
['time-caption'] = true,
   
['title'] = true,
 
['title'] = true,
['titlelink'] = true,
   
['title-link'] = true,
 
['title-link'] = true,
['trans_chapter'] = true,
+
['title-note'] = true,
 +
['translator'] = true,
 +
['translator-first'] = true,
 +
['translator-given'] = true,
 +
['translator-last'] = true,
 +
['translator-surname'] = true,
 +
['translator-link'] = true,
 +
['translator-mask'] = true,
 +
['trans-article'] = true,
 
['trans-chapter'] = true,
 
['trans-chapter'] = true,
['trans-map'] = true;
+
['trans-contribution'] = true,
['transcript'] = true,
+
['trans-entry'] = true,
['transcript-format'] = true,
+
['trans-journal'] = true,
['transcripturl'] = true,
+
['trans-magazine'] = true,
['transcript-url'] = true,
+
['trans-newspaper'] = true,
['trans_title'] = true,
+
['trans-periodical'] = true,
 +
['trans-quote'] = true,
 +
['trans-section'] = true,
 
['trans-title'] = 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,
 +
['veditors'] = true,
 
['version'] = true,
 
['version'] = true,
 
['via'] = true,
 
['via'] = true,
Строка 299: Строка 247:  
['zbl'] = true,
 
['zbl'] = true,
 
['ZBL'] = true,
 
['ZBL'] = true,
}
+
}
   −
local numbered_arguments = {
+
local numbered_arguments_t = {
 
['author#'] = true,
 
['author#'] = true,
['Author#'] = false, -- deprecated; non-standard capitalization
   
['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#'] = true,
 +
['author#link'] = true,
 
['author-mask#'] = true,
 
['author-mask#'] = true,
['author#mask'] = true,
   
['author#-mask'] = true,
 
['author#-mask'] = true,
['authormask#'] = true,
+
['contributor#'] = true,
 +
['contributor-first#'] = true,
 +
['contributor#-first'] = true,
 +
['contributor-given#'] = true,
 +
['contributor#-given'] = true,
 +
['contributor-last#'] = true,
 +
['contributor#-last'] = true,
 +
['contributor-surname#'] = true,
 +
['contributor#-surname'] = true,
 +
['contributor-link#'] = true,
 +
['contributor#-link'] = true,
 +
['contributor-mask#'] = true,
 +
['contributor#-mask'] = true,
 
['editor#'] = true,
 
['editor#'] = true,
['Editor#'] = false, -- deprecated; non-standard capitalization
   
['editor-first#'] = true,
 
['editor-first#'] = true,
 
['editor#-first'] = true,
 
['editor#-first'] = true,
['EditorGiven#'] = false, -- deprecated; non-standard capitalization
+
['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,
  −
['EditorSurname#'] = false, -- deprecated; non-standard capitalization
  −
['editor#-surname'] = true,
  −
['editor-surname#'] = 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-first#'] = true,
 +
['subject#-first'] = true,
 +
['subject-given#'] = true,
 +
['subject#-given'] = true,
 +
['subject-last#'] = true,
 +
['subject#-last'] = true,
 
['subject-link#'] = true,
 
['subject-link#'] = true,
['subject#link'] = true,
   
['subject#-link'] = true,
 
['subject#-link'] = true,
['subjectlink#'] = true,
+
['subject-mask#'] = true,
 +
['subject#-mask'] = true,
 +
['subject-surname#'] = true,
 +
['subject#-surname'] = true,
 
['surname#'] = true,
 
['surname#'] = true,
}
+
['translator#'] = true,
--};
+
['translator-first#'] = true,
 +
['translator#-first'] = true,
 +
['translator-given#'] = true,
 +
['translator#-given'] = true,
 +
['translator-last#'] = true,
 +
['translator#-last'] = true,
 +
['translator-surname#'] = true,
 +
['translator#-surname'] = true,
 +
['translator-link#'] = true,
 +
['translator#-link'] = true,
 +
['translator-mask#'] = true,
 +
['translator#-mask'] = true,
 +
}
 +
 
 +
 
 +
--[[--------------------------< 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, cite medrxiv, 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/tracked/nil as above.
 +
 
 +
]]
 +
 
 +
local preprint_arguments_t = {
 +
arxiv = {
 +
['arxiv'] = true, -- cite arxiv and arxiv identifiers
 +
['class'] = true,
 +
['eprint'] = true, -- cite arxiv and arxiv identifiers
 +
},
 +
biorxiv = {
 +
['biorxiv'] = true,
 +
},
 +
citeseerx = {
 +
['citeseerx'] = true,
 +
},
 +
medrxiv = {
 +
['medrxiv'] = true,
 +
},
 +
ssrn = {
 +
['ssrn'] = true,
 +
['SSRN'] = true,
 +
['ssrn-access'] = 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, cite medrxiv, 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.
 +
 
 +
This list of parameters also used by {{cite document}}
 +
 
 +
Same conventions for true/false/tracked/nil as above.
 +
 +
]]
 +
 
 +
local limited_basic_arguments_t = {
 +
['at'] = true,
 +
['author'] = true,
 +
['author-first'] = true,
 +
['author-given'] = true,
 +
['author-last'] = true,
 +
['author-surname'] = true,
 +
['author-link'] = true,
 +
['authorlink'] = true,
 +
['author-mask'] = true,
 +
['authors'] = false,
 +
['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,
 +
['vauthors'] = true,
 +
['year'] = true,
 +
}
   −
--return whitelist;
+
local limited_numbered_arguments_t = {
return {basic_arguments = basic_arguments, numbered_arguments = 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#'] = true,
 +
['author#link'] = true,
 +
['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/tracked/nil as above.
 +
 
 +
]]
 +
 
 +
local unique_arguments_t = {
 +
['audio-visual'] = {
 +
['transcript'] = true,
 +
['transcript-format'] = true,
 +
['transcript-url'] = true,
 +
},
 +
conference = {
 +
['book-title'] = true,
 +
['conference'] = true,
 +
['conference-format'] = true,
 +
['conference-url'] = true,
 +
['event'] = true,
 +
},
 +
episode = {
 +
['airdate'] = true,
 +
['air-date'] = true,
 +
['credits'] = true,
 +
['episode-link'] = true, -- alias of |title-link=
 +
['network'] = true,
 +
['season'] = true,
 +
['series-link'] = true,
 +
['series-no'] = true,
 +
['series-number'] = true,
 +
['station'] = true,
 +
['transcript'] = true,
 +
['transcript-format'] = true,
 +
['transcript-url'] = true,
 +
},
 +
mailinglist = {
 +
['mailing-list'] = true,
 +
},
 +
map = {
 +
['cartography'] = true,
 +
['inset'] = true,
 +
['map'] = true,
 +
['map-format'] = 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,
 +
},
 +
report = {
 +
['docket'] = true,
 +
},
 +
serial = {
 +
['airdate'] = true,
 +
['air-date'] = true,
 +
['credits'] = true,
 +
['episode'] = true, -- cite serial only TODO: make available to cite episode?
 +
['episode-link'] = true, -- alias of |title-link=
 +
['network'] = true,
 +
['series-link'] = true,
 +
['station'] = true,
 +
},
 +
speech = {
 +
['conference'] = true,
 +
['conference-format'] = true,
 +
['conference-url'] = true,
 +
['event'] = true,
 +
},
 +
thesis = {
 +
['degree'] = true,
 +
['docket'] = true,
 +
},
 +
}
 +
 
 +
 
 +
--[[--------------------------< C I T E _ D O C U M E N T >----------------------------------------------------
 +
 
 +
Special case for cite document.  This template takes the limited basic and limited enumerated parameters plus
 +
others that are apply only to standalone published sources that cannot be cited any other way; no url, book,
 +
periodical, etc parameters; limited support for name lists and named identifiers.
 +
 
 +
when validating parameters in {{cite document}} templates, the basic and
 +
 
 +
]]
 +
 
 +
local document_arguments_t = {
 +
['bibcode'] = true,
 +
['bibcode-access'] = true,
 +
['doi'] = true,
 +
['DOI'] = true,
 +
['doi-access'] = true,
 +
['doi-broken-date'] = true,
 +
['hdl'] = true,
 +
['HDL'] = true,
 +
['hdl-access'] = true,
 +
['id'] = true,
 +
['ID'] = true,
 +
['jfm'] = true,
 +
['JFM'] = true,
 +
['lang'] = true,
 +
['location'] = true,
 +
['mr'] = true,
 +
['MR'] = true,
 +
['no-pp'] = true,
 +
['orig-date'] = true,
 +
['origyear'] = true,
 +
['orig-year'] = true,
 +
['osti'] = true,
 +
['OSTI'] = true,
 +
['osti-access'] = true,
 +
['place'] = true,
 +
['publisher'] = true,
 +
['quote-page'] = true,
 +
['quote-pages'] = true,
 +
['script-quote'] = true,
 +
['script-title'] = true,
 +
['title-link'] = true,
 +
['translator'] = true,
 +
['translator-first'] = true,
 +
['translator-given'] = true,
 +
['translator-last'] = true,
 +
['translator-surname'] = true,
 +
['translator-link'] = true,
 +
['translator-mask'] = true,
 +
['trans-quote'] = true,
 +
['type'] = true,
 +
['zbl'] = true,
 +
['ZBL'] = true,
 +
}
 +
 
 +
local document_numbered_arguments_t = {
 +
['translator#'] = true,
 +
['translator-first#'] = true,
 +
['translator#-first'] = true,
 +
['translator-given#'] = true,
 +
['translator#-given'] = true,
 +
['translator-last#'] = true,
 +
['translator#-last'] = true,
 +
['translator-surname#'] = true,
 +
['translator#-surname'] = true,
 +
['translator-link#'] = true,
 +
['translator#-link'] = true,
 +
['translator-mask#'] = true,
 +
['translator#-mask'] = true,
 +
}
 +
 
 +
 
 +
--[[--------------------------< L I S T _ C O M B I N E >------------------------------------------------------
 +
 
 +
makes one table from a list of tables.  <lists_t> is a sequence of tables to be combined
 +
 
 +
]]
 +
 
 +
local function list_combine (lists_t)
 +
local out_t = {};
 +
 
 +
for _, list_t in ipairs (lists_t) do -- for each list in <lists_t>
 +
for k, v in pairs (list_t) do -- extract each k/v pair
 +
out_t[k] = v; -- add to <out_t>
 +
end
 +
end
 +
return out_t; -- and done
 +
end
 +
 
 +
 
 +
--[[--------------------------< 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_t = {}; -- a table for output
 +
for k, _ in pairs (t) do -- spin through the table and collect the keys
 +
table.insert (out_t, k) -- add each key to the output table
 +
end
 +
return out_t; -- and done
 +
end
 +
 
 +
 
 +
--[[--------------------------< E X P O R T E D  T A B L E S >------------------------------------------------
 +
]]
 +
 
 +
return {
 +
preprint_arguments_t = preprint_arguments_t,
 +
preprint_template_list_t = template_list_get (preprint_arguments_t), -- make a template list from preprint_arguments{} table
 +
unique_arguments_t = unique_arguments_t,
 +
unique_param_template_list_t = template_list_get (unique_arguments_t), -- make a template list from unique_arguments{} table
 +
 +
document_parameters_t = list_combine ({limited_basic_arguments_t, limited_numbered_arguments_t, document_arguments_t, document_numbered_arguments_t});
 +
common_parameters_t = list_combine ({basic_arguments_t, numbered_arguments_t});
 +
limited_parameters_t = list_combine ({limited_basic_arguments_t, limited_numbered_arguments_t});
 +
};
Анонимный участник