模組:Citation/CS1/Whitelist
< 模組:Citation|CS1
跳去導覽
跳去搵嘢
![]() | 爾個模組已經被評為通用版,佢已經成熟,可正常用喺唔同地方而唔會出現錯處。已經可以喺幫手版同其他維基百科資源入面提及,以幫新用戶學嘢。為降低伺服器負荷同錯誤輸出,改善爾個模組前應該進行沙盤測試,而唔係重複嘅試錯性更改。 |
概論[編輯]
《CS1|2》係維基百科引用系統嘅骨幹。維基百科嘅主要引模基本上都依賴呢堆 Lua 模組,而呢啲引模係通過 VisualEditor 同維基數據等等工具喺唔同維基百科版本之間流通嘅。《CS1|2》呢個名嘅出現係因為曾經有分 CS1 同 CS2 (Citation Style 1/2),但後來兩批模組合併咗,而家淨係有 CS1。
《CS1|2》系列有八個模組加一張 CSS。更新嘅時候要全組一齊更新:
模組名 | 本地化備註 |
---|---|
Module:Citation/CS1 | 照抄英維 |
Module:Citation/CS1/Configuration | 有本地化,要譯晒啲訊息字串,但係維修分類名就由佢留返英文。 |
Module:Citation/CS1/Whitelist | 照抄英維 |
Module:Citation/CS1/Date validation | 有本地化,同中維一樣加咗額外程式碼去處理漢字日期格式。用「END LOCAL」關鍵字可以搵到。 |
Module:Citation/CS1/Identifiers | 照抄英維 |
Module:Citation/CS1/Utilities | 照抄英維 |
Module:Citation/CS1/COinS | 照抄英維 |
Module:Citation/CS1/Suggestions | 照抄英維 |
Module:Citation/CS1/styles.css | 照抄英維 |
由於以下四個模係直接靠 Module:Citation/CS1 生成嘅,而 VisualEditor 同 InternetArchiveBot 又會靠佢哋嘅 TemplateData 嚟自動處理引用內容,所以每次更新嘅時候要更新埋呢四個模嘅 TemplateData:
而家用開嘅版本係2020年3月引入嘅。源碼基本上抄英文;本地化內容方面,日期部分會緊貼中文版。
上面嘅解係穿透包含咗自模組:Citation/CS1/Whitelist/doc。 (改 | 史) 編者可以響呢個模組嘅沙盤 (開 | 鏡)同埋試例 (開)版度試驗佢。 呢個模組嘅細版。 |
--[[--------------------------< S U P P O R T E D P A R A M E T E R S >--------------------------------------
Because a steady-state signal conveys no useful information, whitelist.basic_arguments[] list items can have three values:
true - these parameters are valid and supported parameters
false - these parameters are deprecated but still supported
nil - these parameters are no longer supported. remove entirely
]]
local whitelist = {}
local basic_arguments = {
['accessdate'] = true,
['access-date'] = true,
['agency'] = true,
['airdate'] = true,
['air-date'] = true,
['archivedate'] = true,
['archive-date'] = true,
['archive-format'] = true,
['archiveurl'] = true,
['archive-url'] = true,
['article'] = true,
['article-format'] = true,
['article-url'] = true,
['article-url-access'] = true,
['arxiv'] = true,
['asin'] = true,
['ASIN'] = true,
['asin-tld'] = true,
['at'] = true,
['author'] = true,
['author-first'] = true,
['author-last'] = true,
['authorlink'] = true,
['author-link'] = true,
['authormask'] = true,
['author-mask'] = true,
['authors'] = true,
['bibcode'] = true,
['bibcode-access'] = true,
['biorxiv'] = true,
['booktitle'] = true,
['book-title'] = true,
['cartography'] = true,
['chapter'] = true,
['chapter-format'] = true,
['chapterurl'] = true,
['chapter-url'] = true,
['chapter-url-access'] = true,
['citeseerx'] = true,
['collaboration'] = true,
['conference'] = true,
['conference-format'] = true,
['conferenceurl'] = true,
['conference-url'] = true,
['contribution'] = true,
['contribution-format'] = true,
['contributionurl'] = true,
['contribution-url'] = true,
['contribution-url-access'] = true,
['contributor'] = true,
['contributor-first'] = 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,
['department'] = true,
['df'] = true,
['dictionary'] = true,
['displayauthors'] = true,
['display-authors'] = true,
['display-contributors'] = true,
['displayeditors'] = true,
['display-editors'] = true,
['display-interviewers'] = true,
['display-translators'] = true,
['docket'] = true,
['doi'] = true,
['DOI'] = true,
['doi-access'] = true,
['doi-broken'] = true,
['doi-broken-date'] = true,
['doi-inactive-date'] = true,
['edition'] = true,
['editor'] = true,
['editor-first'] = true,
['editor-given'] = true,
['editor-last'] = true,
['editorlink'] = true,
['editor-link'] = true,
['editormask'] = true,
['editor-mask'] = true,
['editors'] = true,
['editor-surname'] = true,
['eissn'] = true,
['EISSN'] = true,
['embargo'] = true,
['encyclopaedia'] = true,
['encyclopedia'] = true,
['entry'] = true,
['entry-format'] = 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
['event'] = true,
['event-format'] = true,
['eventurl'] = true,
['event-url'] = true,
['first'] = true,
['format'] = true,
['given'] = true,
['hdl'] = true,
['HDL'] = true,
['hdl-access'] = true,
['host'] = true,
['id'] = true,
['ID'] = true,
['ignoreisbnerror'] = true,
['ignore-isbn-error'] = true,
['inset'] = true,
['institution'] = true,
['interviewer'] = true,
['interviewer-first'] = true,
['interviewer-last'] = true,
['interviewerlink'] = true,
['interviewer-link'] = true,
['interviewermask'] = true,
['interviewer-mask'] = true,
['isbn'] = true,
['ISBN'] = true,
['isbn13'] = true,
['ISBN13'] = true,
['ismn'] = true,
['ISMN'] = true,
['issn'] = true,
['ISSN'] = true,
['issue'] = true,
['jfm'] = true,
['JFM'] = true,
['journal'] = true,
['jstor'] = true,
['JSTOR'] = true,
['jstor-access'] = true,
['lang'] = true,
['language'] = true,
['last'] = true,
['lastauthoramp'] = true,
['last-author-amp'] = true,
['laydate'] = true,
['lay-date'] = true,
['laysource'] = true,
['lay-source'] = true,
['lay-format'] = true,
['layurl'] = true,
['lay-url'] = true,
['lccn'] = true,
['LCCN'] = 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,
['MR'] = true,
['name-list-format'] = true,
['network'] = true,
['newsgroup'] = true,
['newspaper'] = true,
['nocat'] = true,
['no-cat'] = true,
['nopp'] = true,
['no-pp'] = true,
['notracking'] = true,
['no-tracking'] = true,
['number'] = true,
['oclc'] = true,
['OCLC'] = true,
['ol'] = true,
['OL'] = true,
['ol-access'] = true,
['origyear'] = true,
['orig-year'] = true,
['osti'] = true,
['OSTI'] = true,
['osti-access'] = true,
['others'] = true,
['p'] = true,
['page'] = true,
['pages'] = true,
['people'] = true,
['periodical'] = true,
['place'] = true,
['pmc'] = true,
['PMC'] = true,
['pmid'] = true,
['PMID'] = true,
['postscript'] = true,
['pp'] = true,
['publicationdate'] = true,
['publication-date'] = true,
['publicationplace'] = true,
['publication-place'] = true,
['publisher'] = true,
['quotation'] = true,
['quote'] = true,
['ref'] = true,
['rfc'] = true,
['RFC'] = true,
['scale'] = true,
['script-article'] = true,
['script-chapter'] = true,
['script-contribution'] = true,
['script-entry'] = true,
['script-journal'] = true,
['script-magazine'] = true,
['script-map'] = true,
['script-newspaper'] = true,
['script-periodical'] = true,
['script-section'] = true,
['script-title'] = true,
['script-website'] = true,
['script-work'] = true,
['season'] = true,
['section'] = true,
['section-format'] = true,
['sections'] = true, -- cite map only
['sectionurl'] = true,
['section-url'] = true,
['section-url-access'] = true,
['series'] = true,
['serieslink'] = true,
['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,
['station'] = true,
['subject'] = true,
['subjectlink'] = true,
['subject-link'] = true,
['surname'] = true,
['template-doc-demo'] = true,
['time'] = true,
['timecaption'] = true,
['time-caption'] = true,
['title'] = 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-surname'] = true,
['translator-link'] = 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-section'] = true,
['trans-title'] = true,
['trans-website'] = true,
['trans-work'] = true,
['type'] = true,
['url'] = true,
['URL'] = true,
['url-access'] = true,
['url-status'] = true,
['vauthors'] = true,
['veditors'] = true,
['version'] = true,
['via'] = true,
['volume'] = true,
['website'] = true,
['work'] = true,
['year'] = true,
['zbl'] = true,
['ZBL'] = true,
}
local numbered_arguments = {
['author#'] = true,
['author-first#'] = true,
['author#-first'] = true,
['author-last#'] = true,
['author#-last'] = true,
['author-link#'] = true,
['author#link'] = true,
['author#-link'] = true,
['authorlink#'] = true,
['author-mask#'] = true,
['author#mask'] = true,
['author#-mask'] = true,
['authormask#'] = true,
['contributor#'] = true,
['contributor-first#'] = true,
['contributor#-first'] = true,
['contributor-last#'] = true,
['contributor#-last'] = true,
['contributor-given#'] = true,
['contributor#-given'] = true,
['contributor-surname#'] = true,
['contributor#-surname'] = true,
['contributor-link#'] = true,
['contributor#-link'] = true,
['contributor-mask#'] = true,
['contributor#-mask'] = true,
['editor#'] = true,
['editor-first#'] = true,
['editor#-first'] = true,
['editor#-given'] = true,
['editor-given#'] = true,
['editor-last#'] = true,
['editor#-last'] = true,
['editor-link#'] = true,
['editor#link'] = true,
['editor#-link'] = true,
['editorlink#'] = true,
['editor-mask#'] = true,
['editor#mask'] = true,
['editor#-mask'] = true,
['editormask#'] = true,
['editor#-surname'] = true,
['editor-surname#'] = true,
['first#'] = true,
['given#'] = true,
['host#'] = true,
['interviewer#'] = true,
['interviewer-first#'] = true,
['interviewer#-first'] = true,
['interviewer-last#'] = true,
['interviewer#-last'] = true,
['interviewer-link#'] = true,
['interviewer#-link'] = true,
['interviewer-mask#'] = true,
['interviewer#-mask'] = true,
['last#'] = true,
['subject#'] = true,
['subject-link#'] = true,
['subject#link'] = true,
['subject#-link'] = true,
['subjectlink#'] = true,
['surname#'] = true,
['translator#'] = true,
['translator-first#'] = true,
['translator#-first'] = true,
['translator-last#'] = true,
['translator#-last'] = true,
['translator-given#'] = true,
['translator#-given'] = 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, 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
proeprint 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 = {
['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'] = true,
}
--[[--------------------------< C I T E C I T E S E E R X >--------------------------------------------------
]]
local citeseerx_basic_arguments = {
['citeseerx'] = true,
}
--[[--------------------------< C I T E S S R N >------------------------------------------------------------
]]
local ssrn_basic_arguments = {
['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 >----------------------
This is an experiment that attempts to use validate() and a limited list of valid parameters to validate the
parameters provided in a cite arxiv, cite biorxiv, or cite citeseerx templates. These parameters are common to
all three templates
Same conventions for true/false/nil as above.
]]
local limited_basic_arguments = {
['at'] = true,
['author'] = true,
['author-first'] = true,
['author-last'] = true,
['authorlink'] = true,
['author-link'] = true,
['authormask'] = true,
['author-mask'] = true,
['authors'] = true,
['collaboration'] = true,
['date'] = true,
['df'] = true,
['displayauthors'] = true,
['display-authors'] = true,
['first'] = true,
['given'] = true,
['language'] = true,
['last'] = true,
['lastauthoramp'] = true,
['last-author-amp'] = true,
['mode'] = true,
['name-list-format'] = true,
['nocat'] = true,
['no-cat'] = true,
['notracking'] = 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,
['url'] = true,
['URL'] = true,
['vauthors'] = true,
['year'] = true,
}
local limited_numbered_arguments = {
['author#'] = true,
['author-first#'] = true,
['author#-first'] = true,
['author-last#'] = true,
['author#-last'] = true,
['author-link#'] = true,
['author#link'] = true,
['author#-link'] = true,
['authorlink#'] = true,
['author-mask#'] = true,
['author#mask'] = true,
['author#-mask'] = true,
['authormask#'] = true,
['first#'] = true,
['given#'] = true,
['last#'] = true,
['surname#'] = true,
}
--[[--------------------------< 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,
arxiv_basic_arguments = arxiv_basic_arguments,
biorxiv_basic_arguments = biorxiv_basic_arguments,
citeseerx_basic_arguments = citeseerx_basic_arguments,
ssrn_basic_arguments = ssrn_basic_arguments
};