Module:Citation/CS1/Configuration: Difference between revisions
Jump to navigation
Jump to search
Module:Citation/CS1/Configuration (edit)
Revision as of 16:56, 29 September 2018
, 29 September 2018synch from sandbox;
(صفحهای تازه حاوی « local citation_config = {}; -- override <code>...</code> styling to remove color, border, and padding. <code> css is specified here: --...» ایجاد کرد) |
(synch from sandbox;) |
||
Line 1: | Line 1: | ||
local citation_config = {}; | local citation_config = {}; | ||
--[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------ | --[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------ | ||
Line 13: | Line 9: | ||
]] | ]] | ||
local uncategorized_namespaces = { 'User', 'Talk', 'User_talk', 'Wikipedia_talk', 'File_talk', 'Template_talk', | local uncategorized_namespaces = { 'User', 'Talk', 'User_talk', 'Wikipedia_talk', 'File_talk', 'Template_talk', 'Help_talk', 'Category_talk', 'Portal_talk', 'Book_talk', 'Draft_talk', 'Education_Program_talk', 'Module_talk', 'MediaWiki_talk' }; | ||
local uncategorized_subpages = {'/[Ss]andbox', '/[Tt]estcases'}; -- list of Lua patterns found in page names of pages we should not categorize | local uncategorized_subpages = {'/[Ss]andbox', '/[Tt]estcases'}; -- list of Lua patterns found in page names of pages we should not categorize | ||
Line 37: | Line 31: | ||
['cartography'] = 'Cartography by $1', | ['cartography'] = 'Cartography by $1', | ||
['editor'] = 'ed.', | ['editor'] = 'ed.', | ||
['editors'] = 'eds.', | ['editors'] = 'eds.', | ||
['edition'] = '($1 ed.)', | ['edition'] = '($1 ed.)', | ||
['episode'] = 'Episode $1', | ['episode'] = 'Episode $1', | ||
['et al'] = 'et al.', | ['et al'] = 'et al.', | ||
['in'] = 'In', -- edited works | ['in'] = 'In', -- edited works | ||
['inactive'] = 'inactive', | ['inactive'] = 'inactive', | ||
['inset'] = '$1 inset', | ['inset'] = '$1 inset', | ||
['interview'] = ' | ['interview'] = 'Interviewed by $1', | ||
['lay summary'] = 'Lay summary', | ['lay summary'] = 'Lay summary', | ||
['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]: $1', | ['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]: $1', | ||
Line 51: | Line 44: | ||
['published'] = ' (published $1)', | ['published'] = ' (published $1)', | ||
['retrieved'] = 'Retrieved $1', | ['retrieved'] = 'Retrieved $1', | ||
['season'] = 'Season $1', | ['season'] = 'Season $1', | ||
['section'] = '§ $1', | ['section'] = '§ $1', | ||
['sections'] = '§§ $1', | ['sections'] = '§§ $1', | ||
Line 77: | Line 70: | ||
['j-sheets'] = ': Sheets $1', | ['j-sheets'] = ': Sheets $1', | ||
['subscription'] = '<span | ['subscription'] = '<span class="cs1-subscription">(Subscription required (<span title="The site requires a paid subscription to access this page.">help</span>))</span>' .. | ||
'[[Category:Pages containing links to subscription-only content]]', | '[[Category:Pages containing links to subscription-only content]]', | ||
['registration']='<span | ['registration']='<span class="cs1-registration">(Registration required (<span title="The site requires registration to access this page.">help</span>))</span>' .. | ||
'[[Category:Pages with login required references or sources]]', | '[[Category:Pages with login required references or sources]]', | ||
['language'] = '(in $1)', | ['language'] = '(in $1)', | ||
['via'] = " – via $1", | ['via'] = " – via $1", | ||
['event'] = 'Event occurs at', | ['event'] = 'Event occurs at', | ||
['minutes'] = 'minutes in', | ['minutes'] = 'minutes in', | ||
['parameter-separator'] = ', ', | ['parameter-separator'] = ', ', | ||
Line 102: | Line 95: | ||
['unknown_argument_map'] = 'Argument map not defined for this variable', | ['unknown_argument_map'] = 'Argument map not defined for this variable', | ||
['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty', | ['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty', | ||
} | } | ||
--[[--------------------------< P R E S E N T A T I O N >------------------------------------------------------ | --[[--------------------------< P R E S E N T A T I O N >------------------------------------------------------ | ||
Line 110: | Line 104: | ||
]] | ]] | ||
local presentation = | local presentation = | ||
{ | { | ||
Line 115: | Line 110: | ||
-- .error class is specified at https://git.wikimedia.org/blob/mediawiki%2Fcore.git/9553bd02a5595da05c184f7521721fb1b79b3935/skins%2Fcommon%2Fshared.css#L538 | -- .error class is specified at https://git.wikimedia.org/blob/mediawiki%2Fcore.git/9553bd02a5595da05c184f7521721fb1b79b3935/skins%2Fcommon%2Fshared.css#L538 | ||
-- .citation-comment class is specified at Help:CS1_errors#Controlling_error_message_display | -- .citation-comment class is specified at Help:CS1_errors#Controlling_error_message_display | ||
['hidden-error'] = '<span | ['hidden-error'] = '<span class="cs1-hidden-error error citation-comment">$1</span>', | ||
['visible-error'] = '<span | ['visible-error'] = '<span class="cs1-visible-error error citation-comment">$1</span>', | ||
['accessdate'] = '<span class="reference-accessdate">$1$2</span>', -- to allow editors to hide accessdate using personal css | ['accessdate'] = '<span class="reference-accessdate">$1$2</span>', -- to allow editors to hide accessdate using personal css | ||
Line 125: | Line 120: | ||
['cite-id'] = '<cite id="$1" class="$2">$3</cite>'; -- for use when |ref= is set | ['cite-id'] = '<cite id="$1" class="$2">$3</cite>'; -- for use when |ref= is set | ||
['format'] = ' <span | ['format'] = ' <span class="cs1-format">($1)</span>', -- for |format=, |chapter-format=, etc | ||
-- various access levels, for |access=, |doi-access=, |arxiv=, ... | |||
-- narrow no-break space   may work better than nowrap css. Or not? browser support? | |||
['ext-link-access-signal'] = '<span class="$1" title="$2">$3</span>', -- external link with appropriate lock icon | |||
['free'] = {class='cs1-lock-free', title='Freely accessible'}, -- classes defined in Module:Citation/CS1/styles.css | |||
['registration'] = {class='cs1-lock-registration', title='Free registration required'}, | |||
['limited'] = {class='cs1-lock-limited', title='Free access subject to limited trial, subscription normally required'}, | |||
['subscription'] = {class='cs1-lock-subscription', title='Paid subscription required'}, | |||
['italic-title'] = "''$1''", | ['italic-title'] = "''$1''", | ||
['kern-left'] = '<span | ['kern-left'] = '<span class="cs1-kern-left">$1</span>$2', -- spacing to use when title contains leading single or double quote mark | ||
['kern-right'] = '$1<span | ['kern-right'] = '$1<span class="cs1-kern-right">$2</span>', -- spacing to use when title contains trailing single or double quote mark | ||
-- these for simple wikilinked titles [["text]], [[text"]] and [["text"]] | |||
-- span wraps entire wikilink | |||
['kern-wl-left'] = '<span class="cs1-kern-wl-left">$1</span>', -- when title contains leading single or double quote mark | |||
['kern-wl-right'] = '<span class="cs1-kern-wl-left">$1</span>', -- when title contains trailing single or double quote mark | |||
['kern-wl-both'] = '<span class="cs1-kern-wl-left cs1-kern-wl-right">$1</span>', -- when title contains leading and trailing single or double quote marks | |||
['nowrap1'] = '<span class="nowrap">$1</span>', -- for nowrapping an item: <span ...>yyyy-mm-dd</span> | ['nowrap1'] = '<span class="nowrap">$1</span>', -- for nowrapping an item: <span ...>yyyy-mm-dd</span> | ||
['nowrap2'] = '<span class="nowrap">$1</span> $2', -- for nowrapping portions of an item: <span ...>dd mmmm</span> yyyy (note white space) | ['nowrap2'] = '<span class="nowrap">$1</span> $2', -- for nowrapping portions of an item: <span ...>dd mmmm</span> yyyy (note white space) | ||
['ocins'] = '<span title="$1" class="Z3988" | ['ocins'] = '<span title="$1" class="Z3988"></span>', | ||
['parameter'] = '<code | ['parameter'] = '<code class="cs1-code">|$1=</code>', | ||
['ps_cs1'] = '.'; -- cs1 style postscript (terminal) character | |||
['ps_cs2'] = ''; -- cs2 style postscript (terminal) character (empty string) | |||
['quoted-text'] = '<q>$1</q>', -- for wrapping |quote= content | ['quoted-text'] = '<q>$1</q>', -- for wrapping |quote= content | ||
['quoted-title'] = '"$1"', | ['quoted-title'] = '"$1"', | ||
['sep_cs1'] = '.', -- cs1 element separator | |||
['sep_cs2'] = ',', -- cs2 separator | |||
['sep_nl'] = ';', -- cs1|2 style name-list separator between authors is a semicolon | |||
['sep_name'] = ', ', -- cs1|2 style last/first separator is <comma><space> | |||
['sep_nl_vanc'] = ',', -- Vancouver style name-list separator between authors is a comma | |||
['sep_name_vanc'] = ' ', -- Vancouver style last/first separator is a space | |||
['trans-italic-title'] = "[''$1'']", | ['trans-italic-title'] = "[''$1'']", | ||
Line 167: | Line 185: | ||
['Authors'] = {'authors', 'people', 'host', 'credits'}, | ['Authors'] = {'authors', 'people', 'host', 'credits'}, | ||
['BookTitle'] = {'book-title', 'booktitle'}, | ['BookTitle'] = {'book-title', 'booktitle'}, | ||
['Cartography'] = 'cartography', | ['Cartography'] = 'cartography', | ||
['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'}, | ['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'}, | ||
['ChapterFormat'] = {'chapter-format', 'contribution-format', 'section-format'}; | ['ChapterFormat'] = {'chapter-format', 'contribution-format', 'entry-format', 'article-format', 'section-format'}; | ||
['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'}, | ['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'entry-url', 'article-url', 'section-url', 'sectionurl'}, | ||
[' | ['ChapterUrlAccess'] = {'chapter-url-access', 'contribution-url-access', 'entry-url-access', 'article-url-access', 'section-url-access'}, | ||
['Class'] = 'class', -- cite arxiv and arxiv identifiers | ['Class'] = 'class', -- cite arxiv and arxiv identifiers | ||
['Collaboration'] = 'collaboration', | ['Collaboration'] = 'collaboration', | ||
['Conference'] = {'conference', 'event'}, | ['Conference'] = {'conference', 'event'}, | ||
Line 180: | Line 196: | ||
['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'}, | ['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'}, | ||
['Contribution'] = 'contribution', -- introduction, foreword, afterword, etc; required when |contributor= set | ['Contribution'] = 'contribution', -- introduction, foreword, afterword, etc; required when |contributor= set | ||
['Date'] = | ['Date'] = 'date', | ||
['DeadURL'] = {'dead-url', 'deadurl'}, | ['DeadURL'] = {'dead-url', 'deadurl'}, | ||
['Degree'] = 'degree', | ['Degree'] = 'degree', | ||
Line 187: | Line 203: | ||
['DisplayEditors'] = {'display-editors', 'displayeditors'}, | ['DisplayEditors'] = {'display-editors', 'displayeditors'}, | ||
['Docket'] = 'docket', | ['Docket'] = 'docket', | ||
['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date | ['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date'}, | ||
['Edition'] = 'edition', | ['Edition'] = 'edition', | ||
['Editors'] = 'editors', | ['Editors'] = 'editors', | ||
Line 198: | Line 214: | ||
['Inset'] = 'inset', | ['Inset'] = 'inset', | ||
['Issue'] = {'issue', 'number'}, | ['Issue'] = {'issue', 'number'}, | ||
['Language'] = {'language', ' | ['Interviewers'] = 'interviewers', | ||
['Language'] = {'language', 'lang'}, | |||
['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'}, | ['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'}, | ||
['LayDate'] = {'lay-date', 'laydate'}, | ['LayDate'] = {'lay-date', 'laydate'}, | ||
Line 214: | Line 231: | ||
['Network'] = 'network', | ['Network'] = 'network', | ||
['NoPP'] = {'no-pp', 'nopp'}, | ['NoPP'] = {'no-pp', 'nopp'}, | ||
['NoTracking'] = {'template-doc- | ['NoTracking'] = {'template-doc-demo', 'no-cat', 'nocat', | ||
'no-tracking', 'notracking'}, | 'no-tracking', 'notracking'}, | ||
['Number'] = 'number', -- this case only for cite techreport | ['Number'] = 'number', -- this case only for cite techreport | ||
['OrigYear'] = {'orig-year', 'origyear'}, | ['OrigYear'] = {'orig-year', 'origyear'}, | ||
['Others'] = | ['Others'] = 'others', | ||
['Page'] = {'p', 'page'}, | ['Page'] = {'p', 'page'}, | ||
['Pages'] = {'pp', 'pages'}, | ['Pages'] = {'pp', 'pages'}, | ||
Line 224: | Line 241: | ||
'website', 'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary', 'mailinglist'}, | 'website', 'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary', 'mailinglist'}, | ||
['Place'] = {'place', 'location'}, | ['Place'] = {'place', 'location'}, | ||
['PostScript'] = 'postscript', | ['PostScript'] = 'postscript', | ||
['PublicationDate'] = {'publicationdate', 'publication-date'}, | ['PublicationDate'] = {'publicationdate', 'publication-date'}, | ||
Line 252: | Line 268: | ||
['TitleNote'] = 'department', | ['TitleNote'] = 'department', | ||
['TitleType'] = {'type', 'medium'}, | ['TitleType'] = {'type', 'medium'}, | ||
['TransChapter'] = | ['TransChapter'] = 'trans-chapter', | ||
['TransMap'] = 'trans-map', -- cite map only | ['TransMap'] = 'trans-map', -- cite map only | ||
['Transcript'] = 'transcript', | ['Transcript'] = 'transcript', | ||
['TranscriptFormat'] = 'transcript-format', | ['TranscriptFormat'] = 'transcript-format', | ||
['TranscriptURL'] = {'transcript-url', 'transcripturl'}, | ['TranscriptURL'] = {'transcript-url', 'transcripturl'}, | ||
['TransTitle'] = | ['TransTitle'] = 'trans-title', | ||
['URL'] = {'url', 'URL'}, | ['URL'] = {'url', 'URL'}, | ||
['UrlAccess'] = {'url-access'}, | |||
['Vauthors'] = 'vauthors', | ['Vauthors'] = 'vauthors', | ||
['Veditors'] = 'veditors', | ['Veditors'] = 'veditors', | ||
Line 280: | Line 297: | ||
['EditorList-Mask'] = {"editor-mask#", "editor#-mask", "editormask#", "editor#mask"}, | ['EditorList-Mask'] = {"editor-mask#", "editor#-mask", "editormask#", "editor#mask"}, | ||
['InterviewerList-First'] = {'interviewer-first#', 'interviewer#-first'}, | |||
['InterviewerList-Last'] = {'interviewer#', 'interviewer-last#', 'interviewer#-last'}, | |||
['InterviewerList-Link'] = {'interviewer-link#', 'interviewer#-link'}, | |||
['InterviewerList-Mask'] = {'interviewer-mask#', 'interviewer#-mask'}, | |||
['TranslatorList-First'] = {'translator-first#', 'translator#-first', 'translator-given#', 'translator#-given'}, | ['TranslatorList-First'] = {'translator-first#', 'translator#-first', 'translator-given#', 'translator#-given'}, | ||
['TranslatorList-Last'] = {'translator#', 'translator-last#', 'translator#-last', 'translator-surname#', 'translator#-surname'}, | ['TranslatorList-Last'] = {'translator#', 'translator-last#', 'translator#-last', 'translator-surname#', 'translator#-surname'}, | ||
['TranslatorList-Link'] = {'translator-link#', 'translator#-link'}, | ['TranslatorList-Link'] = {'translator-link#', 'translator#-link'}, | ||
['TranslatorList-Mask'] = {'translator-mask#', 'translator#-mask'}, | ['TranslatorList-Mask'] = {'translator-mask#', 'translator#-mask'}, | ||
} | } | ||
--[[--------------------------< S P E C I A L C A S E T R A N S L A T I O N S >---------------------------- | |||
This table is primarily here to support internationalization. Translations in this table are used, for example, | |||
when an error message, category name, etc is extracted from the English alias key. There may be other cases where | |||
this translation table may be useful. | |||
]] | |||
local special_case_translation = { | |||
['AuthorList'] = "authors list", -- these for multiple names maint categories | |||
['ContributorList'] = "contributors list", | |||
['EditorList'] = "editors list", | |||
['InterviewerList'] = "interviewers list", | |||
['TranslatorList'] = "translators list", | |||
['authors'] = "authors", -- used in get_display_authors_editors() | |||
['editors'] = "editors", | |||
['archived_copy'] = '^archived?%s+copy$', -- lua pattern to match pseudo title used by Internet Archive bot and others as place holder for unknown |title= value | |||
-- used with CS1 maint: Archived copy as title | |||
} | |||
--[[--------------------------< D E F A U L T S >-------------------------------------------------------------- | --[[--------------------------< D E F A U L T S >-------------------------------------------------------------- | ||
Line 296: | Line 342: | ||
['DeadURL'] = 'yes', | ['DeadURL'] = 'yes', | ||
} | } | ||
--[[--------------------------< D A T E _ N A M E S >---------------------------------------------------------- | |||
This table of tables lists local language date names and fallback English date names. The code in Date_validation | |||
will look first in the local table for valid date names. If date names are not found in the local table, the code | |||
will look in the English table. | |||
Because citations can be copied to the local wiki from en.wiki, the English is required when the date-name translation | |||
function date_name_xlate() is used. | |||
In these tables, season numbering is defined by ISO DIS 8601:2016 part 2 §4.7 'Divisions of a year'. The standard | |||
defines various divisions using numbers 21-41. cs1|2 only supports generic seasons. ISO DIS 8601:2016 does support | |||
the distinction between north and south hemispere seasons but cs1|2 has no way to make that distinction. | |||
The standard does not address 'named' dates so, for the purposes of cs1|2, Christmas is defined here as 99, which | |||
should be out of the ISO DIS 8601:2016 range of uses for a while. | |||
]] | |||
local date_names = { | |||
['en'] = { -- English | |||
['long'] = {['January']=1, ['February']=2, ['March']=3, ['April']=4, ['May']=5, ['June']=6, ['July']=7, ['August']=8, ['September']=9, ['October']=10, ['November']=11, ['December']=12}; | |||
['short'] = {['Jan']=1, ['Feb']=2, ['Mar']=3, ['Apr']=4, ['May']=5, ['Jun']=6, ['Jul']=7, ['Aug']=8, ['Sep']=9, ['Oct']=10, ['Nov']=11, ['Dec']=12}; | |||
['season'] = {['Winter']=24, ['Spring']=21, ['Summer']=22, ['Fall']=23, ['Autumn']=23}; | |||
['named'] = {['Christmas']=99}; | |||
}, | |||
['local'] = { -- replace these English date names with the local language equivalents | |||
['long'] = {['January']=1, ['February']=2, ['March']=3, ['April']=4, ['May']=5, ['June']=6, ['July']=7, ['August']=8, ['September']=9, ['October']=10, ['November']=11, ['December']=12}; | |||
['short'] = {['Jan']=1, ['Feb']=2, ['Mar']=3, ['Apr']=4, ['May']=5, ['Jun']=6, ['Jul']=7, ['Aug']=8, ['Sep']=9, ['Oct']=10, ['Nov']=11, ['Dec']=12}; | |||
['season'] = {['Winter']=24, ['Spring']=21, ['Summer']=22, ['Fall']=23, ['Autumn']=23}; | |||
['named'] = {['Christmas']=99}; | |||
}, | |||
['local_digits'] = {['0'] = '0', ['1'] = '1', ['2'] = '2', ['3'] = '3', ['4'] = '4', ['5'] = '5', ['6'] = '6', ['7'] = '7', ['8'] = '8', ['9'] = '9'}; -- used to convert local language digits to Western 0-9 | |||
['xlate_digits'] = {}; | |||
} | |||
for ld, ed in pairs (date_names.local_digits) do -- make a digit translation table for simple date translation from en to local language using local_digits table | |||
date_names.xlate_digits [ed] = ld; -- en digit becomes index with local digit as the value | |||
end | |||
Line 306: | Line 392: | ||
]] | ]] | ||
local templates_using_volume = {'citation', 'audio-visual', 'book', 'conference', 'encyclopaedia', 'interview', 'journal', 'magazine', 'map', 'news', 'report', 'techreport'} | local templates_using_volume = {'citation', 'audio-visual', 'book', 'conference', 'encyclopaedia', 'interview', 'journal', 'magazine', 'map', 'news', 'report', 'techreport', 'thesis'} | ||
local templates_using_issue = {'citation', 'conference', 'episode', 'interview', 'journal', 'magazine', 'map', 'news'} | local templates_using_issue = {'citation', 'conference', 'episode', 'interview', 'journal', 'magazine', 'map', 'news'} | ||
local templates_not_using_page = {'audio-visual', 'episode', 'mailinglist', 'newsgroup', 'podcast', 'serial', 'sign', 'speech'} | local templates_not_using_page = {'audio-visual', 'episode', 'mailinglist', 'newsgroup', 'podcast', 'serial', 'sign', 'speech'} | ||
Line 321: | Line 406: | ||
['yes_true_y'] = {'yes', 'true', 'y'}, -- ignore-isbn-error, last-author-amp, no-tracking, nopp, registration, subscription | ['yes_true_y'] = {'yes', 'true', 'y'}, -- ignore-isbn-error, last-author-amp, no-tracking, nopp, registration, subscription | ||
-- ['deadurl'] = {'yes', 'true', 'y', 'no', 'unfit', 'usurped', 'unfit no archive', 'usurped no archive'}, -- hidden 2016-04-10; see Help_talk:Citation_Style_1#Recycled_urls | -- ['deadurl'] = {'yes', 'true', 'y', 'no', 'unfit', 'usurped', 'unfit no archive', 'usurped no archive'}, -- hidden 2016-04-10; see Help_talk:Citation_Style_1#Recycled_urls | ||
['deadurl'] = {'yes', 'true', 'y', 'no', 'unfit', 'usurped', 'bot: unknown'}, | ['deadurl'] = {'yes', 'true', 'y', 'no', 'unfit', 'usurped', 'bot: unknown'}, | ||
['mode'] = {'cs1', 'cs2'}, | ['mode'] = {'cs1', 'cs2', 'mla'}, | ||
['name-list-format'] = {'vanc'}, | ['name-list-format'] = {'vanc'}, | ||
['contribution'] = {'afterword', 'foreword', 'introduction', 'preface'}, -- generic contribution titles that are rendered unquoted in the 'chapter' position | ['contribution'] = {'afterword', 'foreword', 'introduction', 'preface'}, -- generic contribution titles that are rendered unquoted in the 'chapter' position | ||
['date-format'] = {'dmy', 'dmy-all', 'mdy', 'mdy-all', 'ymd', 'ymd-all'} | ['date-format'] = {'dmy', 'dmy-all', 'mdy', 'mdy-all', 'ymd', 'ymd-all'}, | ||
['url-access'] = {'subscription', 'limited', 'registration'}, -- access level of a URL (subscription required, limited access, free registration required), free to read by default | |||
['id-access'] = {'free'}, -- access level of an identifier (free to read), subscription required (or no full text) by default | |||
} | } | ||
Line 375: | Line 462: | ||
-- {'Supplementary Private Use Area-A', '[\243\176\128\128-\243\191\191\189]'}, -- U+F0000–U+FFFFD, F3 B0 80 80 – F3 BF BF BD | -- {'Supplementary Private Use Area-A', '[\243\176\128\128-\243\191\191\189]'}, -- U+F0000–U+FFFFD, F3 B0 80 80 – F3 BF BF BD | ||
-- {'Supplementary Private Use Area-B', '[\244\128\128\128-\244\143\191\189]'}, -- U+100000–U+10FFFD, F4 80 80 80 – F4 8F BF BD | -- {'Supplementary Private Use Area-B', '[\244\128\128\128-\244\143\191\189]'}, -- U+100000–U+10FFFD, F4 80 80 80 – F4 8F BF BD | ||
} | } | ||
--[[ | |||
Indic script makes use of zero width joiner as a character modifier so zwj characters must be left in. This | |||
pattern covers all of the unicode characters for these languages: | |||
Devanagari 0900–097F – https://unicode.org/charts/PDF/U0900.pdf | |||
Devanagari extended A8E0–A8FF – https://unicode.org/charts/PDF/UA8E0.pdf | |||
Bengali 0980–09FF – https://unicode.org/charts/PDF/U0980.pdf | |||
Gurmukhi 0A00–0A7F – https://unicode.org/charts/PDF/U0A00.pdf | |||
Gujarati 0A80–0AFF – https://unicode.org/charts/PDF/U0A80.pdf | |||
Oriya 0B00–0B7F – https://unicode.org/charts/PDF/U0B00.pdf | |||
Tamil 0B80–0BFF – https://unicode.org/charts/PDF/U0B80.pdf | |||
Telugu 0C00–0C7F – https://unicode.org/charts/PDF/U0C00.pdf | |||
Kannada 0C80–0CFF – https://unicode.org/charts/PDF/U0C80.pdf | |||
Malayalam 0D00–0D7F – https://unicode.org/charts/PDF/U0D00.pdf | |||
plus the not-necessarily Indic scripts for Sinhala and Burmese: | |||
Sinhala 0D80-0DFF - https://unicode.org/charts/PDF/U0D80.pdf | |||
Myanmar 1000-109F - https://unicode.org/charts/PDF/U1000.pdf | |||
Myanmar extended A AA60-AA7F - https://unicode.org/charts/PDF/UAA60.pdf | |||
Myanmar extended B A9E0-A9FF - https://unicode.org/charts/PDF/UA9E0.pdf | |||
the pattern is used by has_invisible_chars() and coins_cleanup() | |||
TODO: find a better place for this? | |||
]] | |||
local indic_script = '[\224\164\128-\224\181\191\224\163\160-\224\183\191\225\128\128-\225\130\159\234\167\160-\234\167\191\234\169\160-\234\169\191]'; | |||
Line 384: | Line 495: | ||
]] | ]] | ||
local script_lang_codes = {'am', 'ar', 'be', 'bg', 'bn', 'bs', 'dv', 'el', | local script_lang_codes = { | ||
' | 'am', 'ar', 'be', 'bg', 'bn', 'bs', 'dv', 'el', 'fa', -- ISO 639-1 codes only for |script-title= and |script-chapter= | ||
'mk', 'ml', 'mr', 'ps', 'ru', 'sd', 'sr', 'th', | 'gu', 'he', 'hy', 'ja', 'ka', 'kn', 'ko', 'ku', | ||
'mk', 'ml', 'mn', 'mr', 'my', 'ps', 'ru', 'sd', | |||
'sr', 'tg', 'th', 'uk', 'ug', 'ur', 'yi', 'zh' | |||
}; | |||
--[[--------------------------< L A N G U A G E R E M A P P I N G >------------------------------------------ | |||
These tables hold language information that is different (correct) from MediaWiki's definitions | |||
]] | |||
local lang_code_remap = { -- used for |language= and |script-title= / |script-chapter= | |||
['bh'] = 'Bihari', -- MediaWiki uses 'bh' as a subdomain name for Bhojpuri wWikipedia: bh.wikipedia.org | |||
['bn'] = 'Bengali', -- MediaWiki returns Bangla | |||
['cnr'] = 'Montenegrin', -- 'new' 639 code that MediaWiki does not yet understand | |||
} | |||
local lang_name_remap = { -- used for |language= | |||
['bangla'] = {'Bengali', 'bn'}, -- MediaWiki returns Bangla (the endonym) but we want Bengali (the exonym); here we remap | |||
['bengali'] = {'Bengali', 'bn'}, -- MediaWiki doesn't use exonym so here we provide correct language name and 639-1 code | |||
['bihari'] = {'Bihari', 'bh'}, -- MediaWiki replaces 'Bihari' with 'Bhojpuri' so 'Bihari' cannot be found | |||
['bhojpuri'] = {'Bhojpuri', 'bho'}, -- MediaWiki uses 'bh' as a subdomain name for Bhojpuri wWikipedia: bh.wikipedia.org | |||
['montenegrin'] = {'Montenegrin', 'cnr'}, -- 'new' 639 code that MediaWiki does not yet understand | |||
} | |||
--[[--------------------------< M A I N T E N A N C E _ C A T E G O R I E S >---------------------------------- | --[[--------------------------< M A I N T E N A N C E _ C A T E G O R I E S >---------------------------------- | ||
Line 398: | Line 531: | ||
local maint_cats = { | local maint_cats = { | ||
['ASIN'] = 'CS1 maint: ASIN uses ISBN', | ['ASIN'] = 'CS1 maint: ASIN uses ISBN', | ||
['archived_copy'] = 'CS1 maint: Archived copy as title', | |||
['authors'] = 'CS1 maint: Uses authors parameter', | ['authors'] = 'CS1 maint: Uses authors parameter', | ||
['bot:_unknown'] = 'CS1 maint: BOT: original-url status unknown', | ['bot:_unknown'] = 'CS1 maint: BOT: original-url status unknown', | ||
['date_format'] = 'CS1 maint: Date format', | ['date_format'] = 'CS1 maint: Date format', | ||
['date_year'] = 'CS1 maint: Date and year', | ['date_year'] = 'CS1 maint: Date and year', | ||
['disp_auth_ed'] = 'CS1 maint: display-$1', -- $1 is authors or editors | ['disp_auth_ed'] = 'CS1 maint: display-$1', -- $1 is authors or editors; gets value from special_case_translation table | ||
['editors'] = 'CS1 maint: Uses editors parameter', | ['editors'] = 'CS1 maint: Uses editors parameter', | ||
['embargo'] = 'CS1 maint: PMC embargo expired', | ['embargo'] = 'CS1 maint: PMC embargo expired', | ||
Line 408: | Line 542: | ||
['etal'] = 'CS1 maint: Explicit use of et al.', | ['etal'] = 'CS1 maint: Explicit use of et al.', | ||
['extra_text'] = 'CS1 maint: Extra text', | ['extra_text'] = 'CS1 maint: Extra text', | ||
['extra_text_names'] = 'CS1 maint: Extra text: $1', -- $1 is <name>s list; gets value from special_case_translation table | |||
['ignore_isbn_err'] = 'CS1 maint: Ignored ISBN errors', | ['ignore_isbn_err'] = 'CS1 maint: Ignored ISBN errors', | ||
['interviewers'] = 'CS1 maint: Uses interviewers parameter', | |||
['missing_pipe'] = 'CS1 maint: Missing pipe', | ['missing_pipe'] = 'CS1 maint: Missing pipe', | ||
['mult_names'] = 'CS1 maint: Multiple names: $1', -- $1 is | ['mult_names'] = 'CS1 maint: Multiple names: $1', -- $1 is <name>s list; gets value from special_case_translation table | ||
['pmc_format'] = 'CS1 maint: PMC format', | |||
['unfit'] = 'CS1 maint: Unfit url', | ['unfit'] = 'CS1 maint: Unfit url', | ||
['unknown_lang'] = 'CS1 maint: Unrecognized language', | ['unknown_lang'] = 'CS1 maint: Unrecognized language', | ||
['untitled'] = 'CS1 maint: Untitled periodical', | ['untitled'] = 'CS1 maint: Untitled periodical', | ||
} | } | ||
--[[--------------------------< P R O P E R T I E S _ C A T E G O R I E S >------------------------------------ | --[[--------------------------< P R O P E R T I E S _ C A T E G O R I E S >------------------------------------ | ||
Line 427: | Line 565: | ||
['script'] = 'CS1 uses foreign language script', -- when language specified by |script-title=xx: doesn't have its own category | ['script'] = 'CS1 uses foreign language script', -- when language specified by |script-title=xx: doesn't have its own category | ||
['script_with_name'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is ISO639-1 code | ['script_with_name'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is ISO639-1 code | ||
['jul_greg_uncertainty'] = 'CS1: Julian–Gregorian uncertainty', -- probably temporary cat to identify scope of template with dates 1 October 1582 – 1 January 1926 | |||
} | } | ||
Line 439: | Line 577: | ||
local title_types = { | local title_types = { | ||
['AV-media-notes'] = 'Media notes', | ['AV-media-notes'] = 'Media notes', | ||
['interview'] = 'Interview', | |||
['interview'] = ' | |||
['mailinglist'] = 'Mailing list', | ['mailinglist'] = 'Mailing list', | ||
['map'] = 'Map', | ['map'] = 'Map', | ||
Line 449: | Line 586: | ||
['thesis'] = 'Thesis', | ['thesis'] = 'Thesis', | ||
} | } | ||
--[[--------------------------< E R R O R _ C O N D I T I O N S >---------------------------------------------- | --[[--------------------------< E R R O R _ C O N D I T I O N S >---------------------------------------------- | ||
Line 463: | Line 601: | ||
local error_conditions = { | local error_conditions = { | ||
accessdate_missing_url = { | accessdate_missing_url = { | ||
message = '<code | message = '<code class="cs1-code">|access-date=</code> requires <code class="cs1-code">|url=</code>', | ||
anchor = 'accessdate_missing_url', | anchor = 'accessdate_missing_url', | ||
category = 'Pages using citations with accessdate and no URL', | category = 'Pages using citations with accessdate and no URL', | ||
hidden = | hidden = false | ||
}, | |||
archive_missing_date = { | archive_missing_date = { | ||
message = '<code | message = '<code class="cs1-code">|archive-url=</code> requires <code class="cs1-code">|archive-date=</code>', | ||
anchor = 'archive_missing_date', | anchor = 'archive_missing_date', | ||
category = 'Pages with archiveurl citation errors', | category = 'Pages with archiveurl citation errors', | ||
hidden = false }, | hidden = false | ||
}, | |||
archive_missing_url = { | archive_missing_url = { | ||
message = '<code | message = '<code class="cs1-code">|archive-url=</code> requires <code class="cs1-code">|url=</code>', | ||
anchor = 'archive_missing_url', | anchor = 'archive_missing_url', | ||
category = 'Pages with archiveurl citation errors', | category = 'Pages with archiveurl citation errors', | ||
hidden = false }, | hidden = false | ||
}, | |||
archive_url = { | archive_url = { | ||
message = '<code | message = '<code class="cs1-code">|archive-url=</code> is malformed: $1', | ||
anchor = 'archive_url', | anchor = 'archive_url', | ||
category = 'Pages with archiveurl citation errors', | category = 'Pages with archiveurl citation errors', | ||
hidden = false }, | hidden = false | ||
}, | |||
arxiv_missing = { | arxiv_missing = { | ||
message = '<code | message = '<code class="cs1-code">|arxiv=</code> required', | ||
anchor = 'arxiv_missing', | anchor = 'arxiv_missing', | ||
category = 'CS1 errors: arXiv', -- same as bad arxiv | category = 'CS1 errors: arXiv', -- same as bad arxiv | ||
hidden = false }, | hidden = false | ||
}, | |||
arxiv_params_not_supported = { | arxiv_params_not_supported = { | ||
message = 'Unsupported parameter(s) in cite arXiv', | message = 'Unsupported parameter(s) in cite arXiv', | ||
anchor = 'arxiv_params_not_supported', | anchor = 'arxiv_params_not_supported', | ||
category = 'CS1 errors: arXiv', -- same as bad arxiv | category = 'CS1 errors: arXiv', -- same as bad arxiv | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_arxiv = { | bad_arxiv = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|arxiv=</code> value', | ||
anchor = 'bad_arxiv', | anchor = 'bad_arxiv', | ||
category = 'CS1 errors: arXiv', | category = 'CS1 errors: arXiv', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_asin = { | bad_asin = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|asin=</code> value', | ||
anchor = 'bad_asin', | anchor = 'bad_asin', | ||
category ='CS1 errors: ASIN', | category ='CS1 errors: ASIN', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_bibcode = { | bad_bibcode = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|bibcode=</code> $1', | ||
anchor = 'bad_bibcode', | anchor = 'bad_bibcode', | ||
category = 'CS1 errors: bibcode', | category = 'CS1 errors: bibcode', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_biorxiv = { | |||
message = 'Check <code class="cs1-code">|biorxiv=</code> value', | |||
anchor = 'bad_biorxiv', | |||
category = 'CS1 errors: bioRxiv', | |||
hidden = false | |||
}, | |||
bad_citeseerx = { | |||
message = 'Check <code class="cs1-code">|citeseerx=</code> value', | |||
anchor = 'bad_citeseerx', | |||
category = 'CS1 errors: citeseerx', | |||
hidden = false | |||
}, | |||
bad_date = { | bad_date = { | ||
message = 'Check date values in: <code | message = 'Check date values in: <code class="cs1-code">$1</code>', | ||
anchor = 'bad_date', | anchor = 'bad_date', | ||
category = 'CS1 errors: dates', | category = 'CS1 errors: dates', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_doi = { | bad_doi = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|doi=</code> value', | ||
anchor = 'bad_doi', | anchor = 'bad_doi', | ||
category = 'CS1 errors: DOI', | category = 'CS1 errors: DOI', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_hdl = { | bad_hdl = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|hdl=</code> value', | ||
anchor = 'bad_hdl', | anchor = 'bad_hdl', | ||
category = 'CS1 errors: HDL', | category = 'CS1 errors: HDL', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_isbn = { | bad_isbn = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|isbn=</code> value: $1', | ||
anchor = 'bad_isbn', | anchor = 'bad_isbn', | ||
category = 'CS1 errors: ISBN', | category = 'CS1 errors: ISBN', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_ismn = { | bad_ismn = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|ismn=</code> value', | ||
anchor = 'bad_ismn', | anchor = 'bad_ismn', | ||
category = 'CS1 errors: ISMN', | category = 'CS1 errors: ISMN', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_issn = { | bad_issn = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|$1issn=</code> value', | ||
anchor = 'bad_issn', | anchor = 'bad_issn', | ||
category = 'CS1 errors: ISSN', | category = 'CS1 errors: ISSN', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_jfm = { | |||
message = 'Check <code class="cs1-code">|jfm=</code> value', | |||
anchor = 'bad_jfm', | |||
category = 'CS1 errors: JFM', | |||
hidden = false | |||
}, | |||
bad_lccn = { | bad_lccn = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|lccn=</code> value', | ||
anchor = 'bad_lccn', | anchor = 'bad_lccn', | ||
category = 'CS1 errors: LCCN', | category = 'CS1 errors: LCCN', | ||
hidden = false }, | hidden = false | ||
}, | |||
message = 'Check <code | bad_usenet_id = { | ||
message = 'Check <code class="cs1-code">|message-id=</code> value', | |||
anchor = 'bad_message_id', | anchor = 'bad_message_id', | ||
category = 'CS1 errors: message-id', | category = 'CS1 errors: message-id', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_mr = { | |||
message = 'Check <code class="cs1-code">|mr=</code> value', | |||
anchor = 'bad_mr', | |||
category = 'CS1 errors: MR', | |||
hidden = false | |||
}, | |||
bad_ol = { | bad_ol = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|ol=</code> value', | ||
anchor = 'bad_ol', | anchor = 'bad_ol', | ||
category = 'CS1 errors: OL', | category = 'CS1 errors: OL', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_paramlink = { -- for |title-link=, |author/editor/translator-link=, |series-link=, |episode-link= | bad_paramlink = { -- for |title-link=, |author/editor/translator-link=, |series-link=, |episode-link= | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|$1=</code> value', | ||
anchor = 'bad_paramlink', | anchor = 'bad_paramlink', | ||
category = 'CS1 errors: parameter link', | category = 'CS1 errors: parameter link', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_pmc = { | bad_pmc = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|pmc=</code> value', | ||
anchor = 'bad_pmc', | anchor = 'bad_pmc', | ||
category = 'CS1 errors: PMC', | category = 'CS1 errors: PMC', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_pmid = { | bad_pmid = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|pmid=</code> value', | ||
anchor = 'bad_pmid', | anchor = 'bad_pmid', | ||
category = 'CS1 errors: PMID', | category = 'CS1 errors: PMID', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_oclc = { | bad_oclc = { | ||
message = 'Check <code | message = 'Check <code class="cs1-code">|oclc=</code> value', | ||
anchor = 'bad_oclc', | anchor = 'bad_oclc', | ||
category = 'CS1 errors: OCLC', | category = 'CS1 errors: OCLC', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_ssrn = { | |||
message = 'Check <code class="cs1-code">|ssrn=</code> value', | |||
anchor = 'bad_ssrn', | |||
category = 'CS1 errors: SSRN', | |||
hidden = false | |||
}, | |||
bad_url = { | bad_url = { | ||
message = 'Check $1 value', | message = 'Check $1 value', | ||
anchor = 'bad_url', | anchor = 'bad_url', | ||
category = 'Pages with URL errors', | category = 'Pages with URL errors', | ||
hidden = false }, | hidden = false | ||
}, | |||
bad_zbl = { | |||
message = 'Check <code class="cs1-code">|zbl=</code> value', | |||
anchor = 'bad_zbl', | |||
category = 'CS1 errors: ZBL', | |||
hidden = false | |||
}, | |||
bare_url_missing_title = { | bare_url_missing_title = { | ||
message = '$1 missing title', | message = '$1 missing title', | ||
anchor = 'bare_url_missing_title', | anchor = 'bare_url_missing_title', | ||
category = 'Pages with citations having bare URLs', | category = 'Pages with citations having bare URLs', | ||
hidden = false }, | hidden = false | ||
}, | |||
biorxiv_missing = { | |||
message = '<code class="cs1-code">|biorxiv=</code> required', | |||
anchor = 'biorxiv_missing', | |||
category = 'CS1 errors: bioRxiv', -- same as bad bioRxiv | |||
hidden = false | |||
}, | |||
chapter_ignored = { | chapter_ignored = { | ||
message = '<code | message = '<code class="cs1-code">|$1=</code> ignored', | ||
anchor = 'chapter_ignored', | anchor = 'chapter_ignored', | ||
category = 'CS1 errors: chapter ignored', | category = 'CS1 errors: chapter ignored', | ||
hidden = false }, | hidden = false | ||
}, | |||
citation_missing_title = { | citation_missing_title = { | ||
message = 'Missing or empty <code | message = 'Missing or empty <code class="cs1-code">|$1=</code>', | ||
anchor = 'citation_missing_title', | anchor = 'citation_missing_title', | ||
category = 'Pages with citations lacking titles', | category = 'Pages with citations lacking titles', | ||
hidden = false }, | hidden = false | ||
}, | |||
citeseerx_missing = { | |||
message = '<code class="cs1-code">|citeseerx=</code> required', | |||
anchor = 'citeseerx_missing', | |||
category = 'CS1 errors: citeseerx', -- same as bad citeseerx | |||
hidden = false | |||
}, | |||
cite_web_url = { -- this error applies to cite web and to cite podcast | cite_web_url = { -- this error applies to cite web and to cite podcast | ||
message = 'Missing or empty <code | message = 'Missing or empty <code class="cs1-code">|url=</code>', | ||
anchor = 'cite_web_url', | anchor = 'cite_web_url', | ||
category = 'Pages using web citations with no URL', | category = 'Pages using web citations with no URL', | ||
hidden = | hidden = false | ||
}, | |||
message = '<code | class_ignored = { | ||
anchor = ' | message = '<code class="cs1-code">|class=</code> ignored', | ||
category = 'CS1 errors: | anchor = 'class_ignored', | ||
hidden = false }, | category = 'CS1 errors: class', | ||
hidden = false | |||
}, | |||
contributor_ignored = { | contributor_ignored = { | ||
message = '<code | message = '<code class="cs1-code">|contributor=</code> ignored', | ||
anchor = 'contributor_ignored', | anchor = 'contributor_ignored', | ||
category = 'CS1 errors: contributor', | category = 'CS1 errors: contributor', | ||
hidden = false }, | hidden = false | ||
}, | |||
contributor_missing_required_param = { | contributor_missing_required_param = { | ||
message = '<code | message = '<code class="cs1-code">|contributor=</code> requires <code class="cs1-code">|$1=</code>', | ||
anchor = 'contributor_missing_required_param', | anchor = 'contributor_missing_required_param', | ||
category = 'CS1 errors: contributor', | category = 'CS1 errors: contributor', | ||
hidden = false }, | hidden = false | ||
}, | |||
deprecated_params = { | deprecated_params = { | ||
message = 'Cite uses deprecated parameter <code | message = 'Cite uses deprecated parameter <code class="cs1-code">|$1=</code>', | ||
anchor = 'deprecated_params', | anchor = 'deprecated_params', | ||
category = ' | category = 'CS1 errors: deprecated parameters', | ||
hidden = false }, | hidden = false | ||
}, | |||
empty_citation = { | empty_citation = { | ||
message = 'Empty citation', | message = 'Empty citation', | ||
anchor = 'empty_citation', | anchor = 'empty_citation', | ||
category = 'Pages with empty citations', | category = 'Pages with empty citations', | ||
hidden = false }, | hidden = false | ||
}, | |||
first_missing_last = { | first_missing_last = { | ||
message = '<code | message = '<code class="cs1-code">|first$2=</code> missing <code class="cs1-code">|last$2=</code> in $1', | ||
anchor = 'first_missing_last', | anchor = 'first_missing_last', | ||
category = 'CS1 errors: missing author or editor', | category = 'CS1 errors: missing author or editor', | ||
hidden = false }, | hidden = false | ||
}, | |||
format_missing_url = { | format_missing_url = { | ||
message = '<code | message = '<code class="cs1-code">|$1=</code> requires <code class="cs1-code">|$2=</code>', | ||
anchor = 'format_missing_url', | anchor = 'format_missing_url', | ||
category = 'Pages using citations with format and no URL', | category = 'Pages using citations with format and no URL', | ||
hidden = | hidden = false | ||
}, | |||
invalid_param_val = { | invalid_param_val = { | ||
message = 'Invalid <code | message = 'Invalid <code class="cs1-code">|$1=$2</code>', | ||
anchor = 'invalid_param_val', | anchor = 'invalid_param_val', | ||
category = 'CS1 errors: invalid parameter value', | category = 'CS1 errors: invalid parameter value', | ||
hidden = false }, | hidden = false | ||
}, | |||
invisible_char = { | invisible_char = { | ||
message = '$1 in $2 at position $3', | message = '$1 in $2 at position $3', | ||
anchor = 'invisible_char', | anchor = 'invisible_char', | ||
category = 'CS1 errors: invisible characters', | category = 'CS1 errors: invisible characters', | ||
hidden = false }, | hidden = false | ||
}, | |||
missing_name = { | missing_name = { | ||
message = 'Missing <code | message = 'Missing <code class="cs1-code">|last$2=</code> in $1', | ||
anchor = 'missing_name', | anchor = 'missing_name', | ||
category = 'CS1 errors: missing author or editor', | category = 'CS1 errors: missing author or editor', | ||
hidden = false }, | hidden = false | ||
}, | |||
param_access_requires_param = { | |||
message = '<code class="cs1-code">|$1-access=</code> requires <code class="cs1-code">|$1=</code>', | |||
anchor = 'param_access_requires_param', | |||
category = 'CS1 errors: param-access', | |||
hidden = false | |||
}, | |||
param_has_ext_link = { | param_has_ext_link = { | ||
message = 'External link in <code | message = 'External link in <code class="cs1-code">$1</code>', | ||
anchor = 'param_has_ext_link', | anchor = 'param_has_ext_link', | ||
category = 'CS1 errors: external links', | category = 'CS1 errors: external links', | ||
hidden = false }, | hidden = false | ||
}, | |||
parameter_ignored = { | parameter_ignored = { | ||
message = 'Unknown parameter <code | message = 'Unknown parameter <code class="cs1-code">|$1=</code> ignored', | ||
anchor = 'parameter_ignored', | anchor = 'parameter_ignored', | ||
category = 'Pages with citations using unsupported parameters', | category = 'Pages with citations using unsupported parameters', | ||
hidden = false }, | hidden = false | ||
}, | |||
parameter_ignored_suggest = { | parameter_ignored_suggest = { | ||
message = 'Unknown parameter <code | message = 'Unknown parameter <code class="cs1-code">|$1=</code> ignored (<code class="cs1-code">|$2=</code> suggested)', | ||
anchor = 'parameter_ignored_suggest', | anchor = 'parameter_ignored_suggest', | ||
category = 'Pages with citations using unsupported parameters', | category = 'Pages with citations using unsupported parameters', | ||
hidden = false }, | hidden = false | ||
}, | |||
redundant_parameters = { | redundant_parameters = { | ||
message = 'More than one of $1 specified', | message = 'More than one of $1 specified', | ||
anchor = 'redundant_parameters', | anchor = 'redundant_parameters', | ||
category = 'Pages with citations having redundant parameters', | category = 'Pages with citations having redundant parameters', | ||
hidden = false }, | hidden = false | ||
}, | |||
text_ignored = { | text_ignored = { | ||
message = 'Text "$1" ignored', | message = 'Text "$1" ignored', | ||
anchor = 'text_ignored', | anchor = 'text_ignored', | ||
category = 'Pages with citations using unnamed parameters', | category = 'Pages with citations using unnamed parameters', | ||
hidden = false }, | hidden = false | ||
}, | |||
trans_missing_title = { | trans_missing_title = { | ||
message = '<code | message = '<code class="cs1-code">|trans-$1=</code> requires <code class="cs1-code">|$1=</code>', | ||
anchor = 'trans_missing_title', | anchor = 'trans_missing_title', | ||
category = 'CS1 errors: translated title', | category = 'CS1 errors: translated title', | ||
hidden = false }, | hidden = false | ||
}, | |||
vancouver = { | vancouver = { | ||
message = 'Vancouver style error: $1', | message = 'Vancouver style error: $1', | ||
anchor = 'vancouver', | anchor = 'vancouver', | ||
category = 'CS1 errors: Vancouver style', | category = 'CS1 errors: Vancouver style', | ||
hidden = false }, | hidden = false | ||
}, | |||
wikilink_in_url = { | wikilink_in_url = { | ||
message = 'URL–wikilink conflict', -- uses ndash | message = 'URL–wikilink conflict', -- uses ndash | ||
anchor = 'wikilink_in_url', | anchor = 'wikilink_in_url', | ||
category = 'CS1 errors: URL–wikilink conflict', -- uses ndash | category = 'CS1 errors: URL–wikilink conflict', -- uses ndash | ||
hidden = false }, | hidden = false | ||
} | }, | ||
} | |||
--[[--------------------------< I D _ H A N D L E R S >-------------------------------------------------------- | --[[--------------------------< I D _ H A N D L E R S >-------------------------------------------------------- | ||
Line 696: | Line 934: | ||
parameters: a list of parameter aliases for this identifier | parameters: a list of parameter aliases for this identifier | ||
link: Wikipedia article name | link: Wikipedia article name | ||
q: wikidata q number for the identifier | |||
label: the alternate name to apply to link | label: the alternate name to apply to link | ||
mode: 'manual' when there is a specific function in the code to handle the identifier; | mode: 'manual' when there is a specific function in the code to handle the identifier; | ||
Line 707: | Line 946: | ||
set to nil to leave the identifier out of the COinS | set to nil to leave the identifier out of the COinS | ||
separator: character or text between label and the identifier in the rendered citation | separator: character or text between label and the identifier in the rendered citation | ||
access: use this parameter to set the access level for all instances of this identifier. | |||
the value must be a valid access level for an identifier (see ['id-access'] in this file). | |||
custom_access: to enable custom access level for an identifier, set this parameter | |||
to the parameter that should control it (normally 'id-access') | |||
]] | ]] | ||
local id_handlers = { | local id_handlers = { | ||
['ARXIV'] = { | ['ARXIV'] = { | ||
parameters = {'arxiv | parameters = {'arxiv', 'eprint'}, | ||
link = 'arXiv', | link = 'arXiv', | ||
q = 'Q118398', | |||
label = 'arXiv', | label = 'arXiv', | ||
mode = 'manual', | mode = 'manual', | ||
Line 719: | Line 963: | ||
COinS = 'info:arxiv', | COinS = 'info:arxiv', | ||
separator = ':', | separator = ':', | ||
free | access = 'free', -- free to read | ||
}, | |||
['ASIN'] = { | ['ASIN'] = { | ||
parameters = { 'asin', 'ASIN' }, | parameters = { 'asin', 'ASIN' }, | ||
link = 'Amazon Standard Identification Number', | link = 'Amazon Standard Identification Number', | ||
q = 'Q1753278', | |||
label = 'ASIN', | label = 'ASIN', | ||
mode = 'manual', | mode = 'manual', | ||
Line 730: | Line 975: | ||
separator = ' ', | separator = ' ', | ||
encode = false; | encode = false; | ||
}, | |||
['BIBCODE'] = { | ['BIBCODE'] = { | ||
parameters = {'bibcode | parameters = {'bibcode'}, | ||
link = 'Bibcode', | link = 'Bibcode', | ||
q = 'Q25754', | |||
label = 'Bibcode', | label = 'Bibcode', | ||
mode = 'manual', | mode = 'manual', | ||
prefix = 'http://adsabs.harvard.edu/abs/', | prefix = 'http://adsabs.harvard.edu/abs/', | ||
Line 741: | Line 986: | ||
COinS = 'info:bibcode', | COinS = 'info:bibcode', | ||
separator = ':', | separator = ':', | ||
}, | custom_access = 'bibcode-access', | ||
}, | |||
['BIORXIV'] = { | |||
parameters = {'biorxiv'}, | |||
link = 'bioRxiv', | |||
q = 'Q19835482', | |||
label = 'bioRxiv', | |||
mode = 'manual', | |||
prefix = '//doi.org/10.1101/', | |||
COinS = 'pre', -- use prefix value | |||
access = 'free', -- free to read | |||
encode = true, | |||
separator = ' ', | |||
}, | |||
['CITESEERX'] = { | |||
parameters = {'citeseerx'}, | |||
link = 'CiteSeerX', | |||
q = 'Q2715061', | |||
label = 'CiteSeerX', | |||
mode = 'manual', -- manual for custom validation of the "doi" | |||
prefix = '//citeseerx.ist.psu.edu/viewdoc/summary?doi=', | |||
COinS = 'pre', -- use prefix value | |||
access = 'free', -- free to read | |||
encode = true, | |||
separator = ' ', | |||
}, | |||
['DOI'] = { | ['DOI'] = { | ||
parameters = { 'doi', 'DOI' }, | parameters = { 'doi', 'DOI' }, | ||
link = 'Digital object identifier', | link = 'Digital object identifier', | ||
q = 'Q25670', | |||
label = 'doi', | label = 'doi', | ||
mode = 'manual', | mode = 'manual', | ||
prefix = '// | prefix = '//doi.org/', | ||
COinS = 'info:doi', | COinS = 'info:doi', | ||
separator = ':', | separator = ':', | ||
encode = true, | encode = true, | ||
custom_access = 'doi-access', | |||
}, | |||
['EISSN'] = { | ['EISSN'] = { | ||
parameters = {'eissn', 'EISSN'}, | parameters = {'eissn', 'EISSN'}, | ||
link = 'International_Standard_Serial_Number#Electronic_ISSN', | link = 'International_Standard_Serial_Number#Electronic_ISSN', | ||
q = 'Q46339674', | |||
label = 'eISSN', | label = 'eISSN', | ||
mode = 'manual', | mode = 'manual', | ||
Line 761: | Line 1,034: | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
}, | |||
['HDL'] = { | ['HDL'] = { | ||
parameters = { 'hdl', 'HDL' }, | parameters = { 'hdl', 'HDL' }, | ||
link = 'Handle System', | link = 'Handle System', | ||
q = 'Q3126718', | |||
label = 'hdl', | label = 'hdl', | ||
mode = 'manual', | mode = 'manual', | ||
Line 771: | Line 1,045: | ||
separator = ':', | separator = ':', | ||
encode = true, | encode = true, | ||
custom_access = 'hdl-access', | |||
}, | |||
['ISBN'] = { | ['ISBN'] = { | ||
parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'}, | parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'}, | ||
link = 'International Standard Book Number', | link = 'International Standard Book Number', | ||
q = 'Q33057', | |||
label = 'ISBN', | label = 'ISBN', | ||
mode = 'manual', | mode = 'manual', | ||
Line 780: | Line 1,056: | ||
COinS = 'rft.isbn', | COinS = 'rft.isbn', | ||
separator = ' ', | separator = ' ', | ||
}, | |||
['ISMN'] = { | ['ISMN'] = { | ||
parameters = {'ismn', 'ISMN'}, | parameters = {'ismn', 'ISMN'}, | ||
link = 'International Standard Music Number', | link = 'International Standard Music Number', | ||
q = 'Q1666938', | |||
label = 'ISMN', | label = 'ISMN', | ||
mode = 'manual', | mode = 'manual', | ||
prefix = '', -- not currently used; | prefix = '', -- not currently used; | ||
COinS = 'nil', -- nil because we can't use pre or rft or info: | COinS = 'nil', -- nil because we can't use pre or rft or info: | ||
separator = ' ', | separator = ' ', | ||
}, | |||
['ISSN'] = { | ['ISSN'] = { | ||
parameters = {'issn', 'ISSN'}, | parameters = {'issn', 'ISSN'}, | ||
link = 'International Standard Serial Number', | link = 'International Standard Serial Number', | ||
q = 'Q131276', | |||
label = 'ISSN', | label = 'ISSN', | ||
mode = 'manual', | mode = 'manual', | ||
Line 799: | Line 1,077: | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
}, | |||
['JFM'] = { | ['JFM'] = { | ||
parameters = {'jfm', 'JFM'}, | parameters = {'jfm', 'JFM'}, | ||
link = 'Jahrbuch über die Fortschritte der Mathematik', | link = 'Jahrbuch über die Fortschritte der Mathematik', | ||
q = '', | |||
label = 'JFM', | label = 'JFM', | ||
mode = ' | mode = 'manual', | ||
prefix = '//zbmath.org/?format=complete&q=an:', | prefix = '//zbmath.org/?format=complete&q=an:', | ||
COinS = 'pre', -- use prefix value | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
}, | |||
['JSTOR'] = { | ['JSTOR'] = { | ||
parameters = {'jstor', 'JSTOR'}, | parameters = {'jstor', 'JSTOR'}, | ||
link = 'JSTOR', | link = 'JSTOR', | ||
q = 'Q1420342', | |||
label = 'JSTOR', | label = 'JSTOR', | ||
mode = 'external', | mode = 'external', | ||
Line 819: | Line 1,099: | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
custom_access = 'jstor-access', | |||
}, | |||
['LCCN'] = { | ['LCCN'] = { | ||
parameters = {'LCCN', 'lccn'}, | parameters = {'LCCN', 'lccn'}, | ||
link = 'Library of Congress Control Number', | link = 'Library of Congress Control Number', | ||
q = 'Q620946', | |||
label = 'LCCN', | label = 'LCCN', | ||
mode = 'manual', | mode = 'manual', | ||
Line 829: | Line 1,111: | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
}, | |||
['MR'] = { | ['MR'] = { | ||
parameters = {'MR', 'mr'}, | parameters = {'MR', 'mr'}, | ||
link = 'Mathematical Reviews', | link = 'Mathematical Reviews', | ||
q = 'Q211172', | |||
label = 'MR', | label = 'MR', | ||
mode = ' | mode = 'manual', | ||
prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04 | prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04 | ||
COinS = 'pre', -- use prefix value | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
}, | |||
['OCLC'] = { | ['OCLC'] = { | ||
parameters = {'OCLC', 'oclc'}, | parameters = {'OCLC', 'oclc'}, | ||
link = 'OCLC', | link = 'OCLC', | ||
q = 'Q190593', | |||
label = 'OCLC', | label = 'OCLC', | ||
mode = 'manual', | mode = 'manual', | ||
Line 849: | Line 1,133: | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
}, | |||
['OL'] = { | ['OL'] = { | ||
parameters = { 'ol', 'OL' }, | parameters = { 'ol', 'OL' }, | ||
link = 'Open Library', | link = 'Open Library', | ||
q = 'Q1201876', | |||
label = 'OL', | label = 'OL', | ||
mode = 'manual', | mode = 'manual', | ||
Line 859: | Line 1,144: | ||
separator = ' ', | separator = ' ', | ||
encode = true, | encode = true, | ||
custom_access = 'ol-access', | |||
}, | |||
['OSTI'] = { | ['OSTI'] = { | ||
parameters = {'OSTI', 'osti'}, | parameters = {'OSTI', 'osti'}, | ||
link = 'Office of Scientific and Technical Information', | link = 'Office of Scientific and Technical Information', | ||
q = 'Q2015776', | |||
label = 'OSTI', | label = 'OSTI', | ||
mode = 'external', | mode = 'external', | ||
prefix = '//www.osti.gov/ | prefix = '//www.osti.gov/biblio/', -- protocol relative tested 2018-09-12 | ||
COinS = 'pre', -- use prefix value | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
custom_access = 'osti-access', | |||
}, | |||
['PMC'] = { | ['PMC'] = { | ||
parameters = {'PMC', 'pmc'}, | parameters = {'PMC', 'pmc'}, | ||
link = 'PubMed Central', | link = 'PubMed Central', | ||
q = 'Q229883', | |||
label = 'PMC', | label = 'PMC', | ||
mode = 'manual', | mode = 'manual', | ||
prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC', | prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC', | ||
suffix = " ", | suffix = " ", | ||
COinS = 'pre', -- use prefix value | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
free | access = 'free', -- free to read | ||
}, | |||
['PMID'] = { | ['PMID'] = { | ||
parameters = {'PMID', 'pmid'}, | parameters = {'PMID', 'pmid'}, | ||
link = 'PubMed Identifier', | link = 'PubMed Identifier', | ||
q = '', | |||
label = 'PMID', | label = 'PMID', | ||
mode = 'manual', | mode = 'manual', | ||
Line 891: | Line 1,181: | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
}, | |||
['RFC'] = { | ['RFC'] = { | ||
parameters = {'RFC', 'rfc'}, | parameters = {'RFC', 'rfc'}, | ||
link = 'Request for Comments', | link = 'Request for Comments', | ||
q = 'Q212971', | |||
label = 'RFC', | label = 'RFC', | ||
mode = 'external', | mode = 'external', | ||
Line 901: | Line 1,192: | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
free | access = 'free', -- free to read | ||
}, | |||
['SSRN'] = { | ['SSRN'] = { | ||
parameters = {'SSRN', 'ssrn'}, | parameters = {'SSRN', 'ssrn'}, | ||
link = 'Social Science Research Network', | link = 'Social Science Research Network', | ||
q = 'Q7550801', | |||
label = 'SSRN', | label = 'SSRN', | ||
mode = ' | mode = 'manual', | ||
prefix = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04 | prefix = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04 | ||
COinS = 'pre', -- use prefix value | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
access = 'free', -- always free to read | |||
}, | |||
['USENETID'] = { | ['USENETID'] = { | ||
parameters = {'message-id'}, | parameters = {'message-id'}, | ||
link = 'Usenet', | link = 'Usenet', | ||
q = 'Q193162', | |||
label = 'Usenet:', | label = 'Usenet:', | ||
mode = 'manual', | mode = 'manual', | ||
Line 922: | Line 1,216: | ||
COinS = 'pre', -- use prefix value | COinS = 'pre', -- use prefix value | ||
separator = ' ', | separator = ' ', | ||
}, | |||
['ZBL'] = { | ['ZBL'] = { | ||
parameters = {'ZBL', 'zbl'}, | parameters = {'ZBL', 'zbl'}, | ||
link = 'Zentralblatt MATH', | link = 'Zentralblatt MATH', | ||
q = 'Q190269', | |||
label = 'Zbl', | label = 'Zbl', | ||
mode = ' | mode = 'manual', | ||
prefix = '//zbmath.org/?format=complete&q=an:', | prefix = '//zbmath.org/?format=complete&q=an:', | ||
COinS = 'pre', -- use prefix value | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
}, | |||
} | } | ||
--[[--------------------------< E X P O R T S >---------------------------------------------------------------- | |||
]] | |||
return { | return { | ||
aliases = aliases, | aliases = aliases, | ||
special_case_translation = special_case_translation, | |||
defaults = defaults, | defaults = defaults, | ||
date_names = date_names, | |||
error_conditions = error_conditions, | error_conditions = error_conditions, | ||
id_handlers = id_handlers, | id_handlers = id_handlers, | ||
Line 943: | Line 1,244: | ||
stripmarkers=stripmarkers, | stripmarkers=stripmarkers, | ||
invisible_chars = invisible_chars, | invisible_chars = invisible_chars, | ||
indic_script = indic_script, | |||
maint_cats = maint_cats, | maint_cats = maint_cats, | ||
messages = messages, | messages = messages, | ||
Line 948: | Line 1,250: | ||
prop_cats = prop_cats, | prop_cats = prop_cats, | ||
script_lang_codes = script_lang_codes, | script_lang_codes = script_lang_codes, | ||
lang_code_remap = lang_code_remap, | |||
lang_name_remap = lang_name_remap, | |||
title_types = title_types, | title_types = title_types, | ||
uncategorized_namespaces = uncategorized_namespaces, | uncategorized_namespaces = uncategorized_namespaces, |