Changes

Jump to navigation Jump to search
synch from sandbox;
Line 1: Line 1:     
local citation_config = {};
 
local citation_config = {};
  −
-- override <code>...</code> styling to remove color, border, and padding.  <code> css is specified here:
  −
-- https://git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199
  −
local code_style="color:inherit; border:inherit; padding:inherit;";
      
--[[--------------------------< 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' };
'Help_talk', 'Category_talk', 'Portal_talk', 'Book_talk', 'Draft', '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 44: Line 38:  
['inactive'] = 'inactive',
 
['inactive'] = 'inactive',
 
['inset'] = '$1 inset',
 
['inset'] = '$1 inset',
['interview'] = 'Interview with $1',
+
['interview'] = 'Interviewed by $1',
 
['lay summary'] = 'Lay summary',
 
['lay summary'] = 'Lay summary',
 
['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]:&nbsp;$1',
 
['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]:&nbsp;$1',
Line 76: Line 70:  
['j-sheets'] = ': Sheets&nbsp;$1',
 
['j-sheets'] = ': Sheets&nbsp;$1',
 
 
['subscription'] = '<span style="font-size:90%; color:#555">(Subscription required (<span title="The site requires a paid subscription to access this page." style="border-bottom:1px dotted;cursor:help">help</span>))</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 style="font-size:90%; color:#555">(Registration required (<span title="The site requires registration to access this page." style="border-bottom:1px dotted;cursor:help">help</span>))</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]]',
 
 
Line 101: 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 109: Line 104:     
]]
 
]]
 +
 
local presentation =  
 
local presentation =  
 
{
 
{
Line 114: 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 style="display:none;font-size:100%" class="error citation-comment">$1</span>',
+
['hidden-error'] = '<span class="cs1-hidden-error error citation-comment">$1</span>',
['visible-error'] = '<span style="font-size:100%" class="error citation-comment">$1</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 124: 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 style="font-size:85%;">($1)</span>', -- for |format=, |chapter-format=, etc
+
['format'] = ' <span class="cs1-format">($1)</span>', -- for |format=, |chapter-format=, etc
 
 
 
-- various access levels, for |access=, |doi-access=, |arxiv=, ...
 
-- various access levels, for |access=, |doi-access=, |arxiv=, ...
 
-- narrow no-break space &#8239; may work better than nowrap css. Or not? browser support?
 
-- narrow no-break space &#8239; may work better than nowrap css. Or not? browser support?
   −
['access-signal'] = '<span class="plainlinks">$1&#8239;$2</span>', -- external link with appropriate lock icon
+
['ext-link-access-signal'] = '<span class="$1" title="$2">$3</span>', -- external link with appropriate lock icon
['free'] = '[[File:Lock-green.svg|9px|link=|alt=Freely accessible|Freely accessible]]',
+
['free'] = {class='cs1-lock-free', title='Freely accessible'}, -- classes defined in Module:Citation/CS1/styles.css
['registration'] = '[[File:Lock-blue-alt-2.svg|9px|link=|alt=Free registration required|Free registration required]]',
+
['registration'] = {class='cs1-lock-registration', title='Free registration required'},
['limited'] = '[[File:Lock-blue-alt-2.svg|9px|link=|alt=Free access subject to limited trial, subscription normally required|Free access subject to limited trial, subscription normally required]]',
+
['limited'] = {class='cs1-lock-limited', title='Free access subject to limited trial, subscription normally required'},
['subscription'] = '[[File:Lock-red-alt.svg|9px|link=|alt=Paid subscription required|Paid subscription required]]',
+
['subscription'] = {class='cs1-lock-subscription', title='Paid subscription required'},
    
['italic-title'] = "''$1''",
 
['italic-title'] = "''$1''",
   −
['kern-left'] = '<span style="padding-left:0.2em;">$1</span>$2', -- spacing to use when title contains leading single or double quote mark
+
['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 style="padding-right:0.2em;">$2</span>', -- spacing to use when title contains trailing single or double quote mark
+
['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"><span style="display:none;">&nbsp;</span></span>', -- Note: Using display: none on the COinS span breaks some clients
+
['ocins'] = '<span title="$1" class="Z3988"></span>',
 
+
['parameter'] = '<code style="'..code_style..'">&#124;$1=</code>',
+
['parameter'] = '<code class="cs1-code">&#124;$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'] = "&#91;''$1''&#93;",
 
['trans-italic-title'] = "&#91;''$1''&#93;",
Line 175: Line 187:  
['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',
Line 190: Line 203:  
['DisplayEditors'] = {'display-editors', 'displayeditors'},
 
['DisplayEditors'] = {'display-editors', 'displayeditors'},
 
['Docket'] = 'docket',
 
['Docket'] = 'docket',
['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date', 'doi_brokendate', 'doi_inactivedate'},
+
['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date'},
 
['Edition'] = 'edition',
 
['Edition'] = 'edition',
 
['Editors'] = 'editors',
 
['Editors'] = 'editors',
Line 202: Line 215:  
['Issue'] = {'issue', 'number'},
 
['Issue'] = {'issue', 'number'},
 
['Interviewers'] = 'interviewers',
 
['Interviewers'] = 'interviewers',
['Language'] = {'language', 'in'},
+
['Language'] = {'language', 'lang'},
 
['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'},
 
['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'},
 
['LayDate'] = {'lay-date', 'laydate'},
 
['LayDate'] = {'lay-date', 'laydate'},
Line 218: Line 231:  
['Network'] = 'network',
 
['Network'] = 'network',
 
['NoPP'] = {'no-pp', 'nopp'},
 
['NoPP'] = {'no-pp', 'nopp'},
['NoTracking'] = {'template-doc-demo', 'template doc demo', 'no-cat', 'nocat',
+
['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
Line 255: Line 268:  
['TitleNote'] = 'department',
 
['TitleNote'] = 'department',
 
['TitleType'] = {'type', 'medium'},
 
['TitleType'] = {'type', 'medium'},
['TransChapter'] = {'trans-chapter', 'trans_chapter'},
+
['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'] = {'trans-title', 'trans_title'},
+
['TransTitle'] = 'trans-title',
 
['URL'] = {'url', 'URL'},
 
['URL'] = {'url', 'URL'},
 
['UrlAccess'] = {'url-access'},
 
['UrlAccess'] = {'url-access'},
Line 293: Line 306:  
['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 >----------------------------
 
--[[--------------------------< S P E C I A L  C A S E  T R A N S L A T I O N S >----------------------------
Line 312: Line 326:  
['authors'] = "authors", -- used in get_display_authors_editors()
 
['authors'] = "authors", -- used in get_display_authors_editors()
 
['editors'] = "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 324: 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 337: Line 395:  
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 405: 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 414: Line 495:  
]]
 
]]
   −
local script_lang_codes = {'am', 'ar', 'be', 'bg', 'bn', 'bs', 'dv', 'el', -- ISO 639-1 codes only for |script-title= and |script-chapter=
+
local script_lang_codes = {
'fa', 'he', 'hy', 'ja', 'ka', 'kn', 'ko', 'ku',
+
'am', 'ar', 'be', 'bg', 'bn', 'bs', 'dv', 'el', 'fa', -- ISO 639-1 codes only for |script-title= and |script-chapter=
'mk', 'ml', 'mr', 'my', 'ps', 'ru', 'sd', 'sr',
+
'gu', 'he', 'hy', 'ja', 'ka', 'kn', 'ko', 'ku',
'th', 'uk', 'ug', 'ur', 'yi', 'zh'};
+
'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 428: 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',
Line 448: Line 552:  
['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 460: 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 481: 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 495: Line 601:  
local error_conditions = {
 
local error_conditions = {
 
accessdate_missing_url = {
 
accessdate_missing_url = {
message = '<code style="'..code_style..'">&#124;access-date=</code> requires <code style="'..code_style..'">&#124;url=</code>',
+
message = '<code class="cs1-code">&#124;access-date=</code> requires <code class="cs1-code">&#124;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 = true },
+
hidden = false
 +
},
 
archive_missing_date = {
 
archive_missing_date = {
message = '<code style="'..code_style..'">&#124;archive-url=</code> requires <code style="'..code_style..'">&#124;archive-date=</code>',
+
message = '<code class="cs1-code">&#124;archive-url=</code> requires <code class="cs1-code">&#124;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 style="'..code_style..'">&#124;archive-url=</code> requires <code style="'..code_style..'">&#124;url=</code>',
+
message = '<code class="cs1-code">&#124;archive-url=</code> requires <code class="cs1-code">&#124;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 style="'..code_style..'">&#124;archive-url=</code> is malformed: $1',
+
message = '<code class="cs1-code">&#124;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 style="'..code_style..'">&#124;arxiv=</code> required',
+
message = '<code class="cs1-code">&#124;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 style="'..code_style..'">&#124;arxiv=</code> value',
+
message = 'Check <code class="cs1-code">&#124;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 style="'..code_style..'">&#124;asin=</code> value',
+
message = 'Check <code class="cs1-code">&#124;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 style="'..code_style..'">&#124;bibcode=</code> $1',
+
message = 'Check <code class="cs1-code">&#124;bibcode=</code> $1',
 
anchor = 'bad_bibcode',
 
anchor = 'bad_bibcode',
 
category = 'CS1 errors: bibcode',
 
category = 'CS1 errors: bibcode',
hidden = false },
+
hidden = false
 +
},
 
bad_biorxiv = {
 
bad_biorxiv = {
message = 'Check <code style="'..code_style..'">&#124;biorxiv=</code> value',
+
message = 'Check <code class="cs1-code">&#124;biorxiv=</code> value',
 
anchor = 'bad_biorxiv',
 
anchor = 'bad_biorxiv',
 
category = 'CS1 errors: bioRxiv',
 
category = 'CS1 errors: bioRxiv',
hidden = false },
+
hidden = false
 +
},
 
bad_citeseerx = {
 
bad_citeseerx = {
message = 'Check <code style="'..code_style..'">&#124;citeseerx=</code> value',
+
message = 'Check <code class="cs1-code">&#124;citeseerx=</code> value',
 
anchor = 'bad_citeseerx',
 
anchor = 'bad_citeseerx',
 
category = 'CS1 errors: citeseerx',
 
category = 'CS1 errors: citeseerx',
hidden = false },
+
hidden = false
 +
},
 
bad_date = {
 
bad_date = {
message = 'Check date values in: <code style="'..code_style..'">$1</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 style="'..code_style..'">&#124;doi=</code> value',
+
message = 'Check <code class="cs1-code">&#124;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 style="'..code_style..'">&#124;hdl=</code> value',
+
message = 'Check <code class="cs1-code">&#124;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 style="'..code_style..'">&#124;isbn=</code> value: $1',
+
message = 'Check <code class="cs1-code">&#124;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 style="'..code_style..'">&#124;ismn=</code> value',
+
message = 'Check <code class="cs1-code">&#124;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 style="'..code_style..'">&#124;$1issn=</code> value',
+
message = 'Check <code class="cs1-code">&#124;$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">&#124;jfm=</code> value',
 +
anchor = 'bad_jfm',
 +
category = 'CS1 errors: JFM',
 +
hidden = false
 +
},
 
bad_lccn = {
 
bad_lccn = {
message = 'Check <code style="'..code_style..'">&#124;lccn=</code> value',
+
message = 'Check <code class="cs1-code">&#124;lccn=</code> value',
 
anchor = 'bad_lccn',
 
anchor = 'bad_lccn',
 
category = 'CS1 errors: LCCN',
 
category = 'CS1 errors: LCCN',
hidden = false },
+
hidden = false
bad_message_id = {
+
},
message = 'Check <code style="'..code_style..'">&#124;message-id=</code> value',
+
bad_usenet_id = {
 +
message = 'Check <code class="cs1-code">&#124;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">&#124;mr=</code> value',
 +
anchor = 'bad_mr',
 +
category = 'CS1 errors: MR',
 +
hidden = false
 +
},
 
bad_ol = {
 
bad_ol = {
message = 'Check <code style="'..code_style..'">&#124;ol=</code> value',
+
message = 'Check <code class="cs1-code">&#124;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 style="'..code_style..'">&#124;$1=</code> value',
+
message = 'Check <code class="cs1-code">&#124;$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 style="'..code_style..'">&#124;pmc=</code> value',
+
message = 'Check <code class="cs1-code">&#124;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 style="'..code_style..'">&#124;pmid=</code> value',
+
message = 'Check <code class="cs1-code">&#124;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 style="'..code_style..'">&#124;oclc=</code> value',
+
message = 'Check <code class="cs1-code">&#124;oclc=</code> value',
 
anchor = 'bad_oclc',
 
anchor = 'bad_oclc',
 
category = 'CS1 errors: OCLC',
 
category = 'CS1 errors: OCLC',
hidden = false },
+
hidden = false
 +
},
 
bad_ssrn = {
 
bad_ssrn = {
message = 'Check <code style="'..code_style..'">&#124;ssrn=</code> value',
+
message = 'Check <code class="cs1-code">&#124;ssrn=</code> value',
 
anchor = 'bad_ssrn',
 
anchor = 'bad_ssrn',
 
category = 'CS1 errors: SSRN',
 
category = 'CS1 errors: SSRN',
hidden = false },
+
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">&#124;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">&#124;biorxiv=</code> required',
 +
anchor = 'biorxiv_missing',
 +
category = 'CS1 errors: bioRxiv', -- same as bad bioRxiv
 +
hidden = false
 +
},
 
chapter_ignored = {
 
chapter_ignored = {
message = '<code style="'..code_style..'">&#124;$1=</code> ignored',
+
message = '<code class="cs1-code">&#124;$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 style="'..code_style..'">&#124;$1=</code>',
+
message = 'Missing or empty <code class="cs1-code">&#124;$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">&#124;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 style="'..code_style..'">&#124;url=</code>',
+
message = 'Missing or empty <code class="cs1-code">&#124;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 = true },
+
hidden = false
 +
},
 +
class_ignored = {
 +
message = '<code class="cs1-code">&#124;class=</code> ignored',
 +
anchor = 'class_ignored',
 +
category = 'CS1 errors: class',
 +
hidden = false
 +
},
 
contributor_ignored = {
 
contributor_ignored = {
message = '<code style="'..code_style..'">&#124;contributor=</code> ignored</code>',
+
message = '<code class="cs1-code">&#124;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 style="'..code_style..'">&#124;contributor=</code> requires <code style="'..code_style..'">&#124;$1=</code>',
+
message = '<code class="cs1-code">&#124;contributor=</code> requires <code class="cs1-code">&#124;$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 style="'..code_style..'">&#124;$1=</code>',
+
message = 'Cite uses deprecated parameter <code class="cs1-code">&#124;$1=</code>',
 
anchor = 'deprecated_params',
 
anchor = 'deprecated_params',
 
category = 'CS1 errors: deprecated parameters',
 
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 style="'..code_style..'">&#124;first$2=</code> missing <code style="'..code_style..'">&#124;last$2=</code> in $1',
+
message = '<code class="cs1-code">&#124;first$2=</code> missing <code class="cs1-code">&#124;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 style="'..code_style..'">&#124;$1=</code> requires <code style="'..code_style..'">&#124;$2=</code>',
+
message = '<code class="cs1-code">&#124;$1=</code> requires <code class="cs1-code">&#124;$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 = true },
+
hidden = false
 +
},
 
invalid_param_val = {
 
invalid_param_val = {
message = 'Invalid <code style="'..code_style..'">&#124;$1=$2</code>',
+
message = 'Invalid <code class="cs1-code">&#124;$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 style="'..code_style..'">&#124;last$2=</code> in $1',
+
message = 'Missing <code class="cs1-code">&#124;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 = {
 
param_access_requires_param = {
message = '<code style="'..code_style..'">&#124;$1-access=</code> requires <code style="'..code_style..'">&#124;$1=</code>',
+
message = '<code class="cs1-code">&#124;$1-access=</code> requires <code class="cs1-code">&#124;$1=</code>',
 
anchor = 'param_access_requires_param',
 
anchor = 'param_access_requires_param',
 
category = 'CS1 errors: param-access',
 
category = 'CS1 errors: param-access',
hidden = false },
+
hidden = false
 +
},
 
param_has_ext_link = {
 
param_has_ext_link = {
message = 'External link in <code style="'..code_style..'">$1</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 style="'..code_style..'">&#124;$1=</code> ignored',
+
message = 'Unknown parameter <code class="cs1-code">&#124;$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 style="'..code_style..'">&#124;$1=</code> ignored (<code style="'..code_style..'">&#124;$2=</code> suggested)',
+
message = 'Unknown parameter <code class="cs1-code">&#124;$1=</code> ignored (<code class="cs1-code">&#124;$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 style="'..code_style..'">&#124;trans-$1=</code> requires <code style="'..code_style..'">&#124;$1=</code>',
+
message = '<code class="cs1-code">&#124;trans-$1=</code> requires <code class="cs1-code">&#124;$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 743: 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 764: Line 956:  
parameters = {'arxiv', 'eprint'},
 
parameters = {'arxiv', 'eprint'},
 
link = 'arXiv',
 
link = 'arXiv',
 +
q = 'Q118398',
 
label = 'arXiv',
 
label = 'arXiv',
 
mode = 'manual',
 
mode = 'manual',
Line 771: Line 964:  
separator = ':',
 
separator = ':',
 
access = 'free', -- free to read
 
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 781: Line 975:  
separator = '&nbsp;',
 
separator = '&nbsp;',
 
encode = false;
 
encode = false;
},
+
},
 
['BIBCODE'] = {
 
['BIBCODE'] = {
 
parameters = {'bibcode'},
 
parameters = {'bibcode'},
 
link = 'Bibcode',
 
link = 'Bibcode',
 +
q = 'Q25754',
 
label = 'Bibcode',
 
label = 'Bibcode',
-- mode = 'external',
   
mode = 'manual',
 
mode = 'manual',
 
prefix = 'http://adsabs.harvard.edu/abs/',
 
prefix = 'http://adsabs.harvard.edu/abs/',
Line 793: Line 987:  
separator = ':',
 
separator = ':',
 
custom_access = 'bibcode-access',
 
custom_access = 'bibcode-access',
},
+
},
 
['BIORXIV'] = {
 
['BIORXIV'] = {
 
parameters = {'biorxiv'},
 
parameters = {'biorxiv'},
 
link = 'bioRxiv',
 
link = 'bioRxiv',
 +
q = 'Q19835482',
 
label = 'bioRxiv',
 
label = 'bioRxiv',
 
mode = 'manual',
 
mode = 'manual',
Line 804: Line 999:  
encode = true,
 
encode = true,
 
separator = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
 
['CITESEERX'] = {
 
['CITESEERX'] = {
 
parameters = {'citeseerx'},
 
parameters = {'citeseerx'},
 
link = 'CiteSeerX',
 
link = 'CiteSeerX',
 +
q = 'Q2715061',
 
label = 'CiteSeerX',
 
label = 'CiteSeerX',
 
mode = 'manual', -- manual for custom validation of the "doi"
 
mode = 'manual', -- manual for custom validation of the "doi"
Line 815: Line 1,011:  
encode = true,
 
encode = true,
 
separator = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
 
['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',
Line 826: Line 1,023:  
encode = true,
 
encode = true,
 
custom_access = 'doi-access',
 
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 836: Line 1,034:  
encode = false,
 
encode = false,
 
separator = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
 
['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 847: Line 1,046:  
encode = true,
 
encode = true,
 
custom_access = 'hdl-access',
 
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 856: Line 1,056:  
COinS = 'rft.isbn',
 
COinS = 'rft.isbn',
 
separator = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
 
['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',
Line 865: Line 1,066:  
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 = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
 
['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 875: Line 1,077:  
encode = false,
 
encode = false,
 
separator = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
 
['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 = 'external',
+
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 = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
 
['JSTOR'] = {
 
['JSTOR'] = {
 
parameters = {'jstor', 'JSTOR'},
 
parameters = {'jstor', 'JSTOR'},
 
link = 'JSTOR',
 
link = 'JSTOR',
 +
q = 'Q1420342',
 
label = 'JSTOR',
 
label = 'JSTOR',
 
mode = 'external',
 
mode = 'external',
Line 896: Line 1,100:  
separator = '&nbsp;',
 
separator = '&nbsp;',
 
custom_access = 'jstor-access',
 
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 906: Line 1,111:  
encode = false,
 
encode = false,
 
separator = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
 
['MR'] = {
 
['MR'] = {
 
parameters = {'MR', 'mr'},
 
parameters = {'MR', 'mr'},
 
link = 'Mathematical Reviews',
 
link = 'Mathematical Reviews',
 +
q = 'Q211172',
 
label = 'MR',
 
label = 'MR',
mode = 'external',
+
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 = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
 
['OCLC'] = {
 
['OCLC'] = {
 
parameters = {'OCLC', 'oclc'},
 
parameters = {'OCLC', 'oclc'},
 
link = 'OCLC',
 
link = 'OCLC',
 +
q = 'Q190593',
 
label = 'OCLC',
 
label = 'OCLC',
 
mode = 'manual',
 
mode = 'manual',
Line 926: Line 1,133:  
encode = true,
 
encode = true,
 
separator = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
 
['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 937: Line 1,145:  
encode = true,
 
encode = true,
 
custom_access = 'ol-access',
 
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/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04
+
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 = '&nbsp;',
 
separator = '&nbsp;',
 
custom_access = 'osti-access',
 
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',
Line 960: Line 1,170:  
separator = '&nbsp;',
 
separator = '&nbsp;',
 
access = 'free', -- free to read
 
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 970: Line 1,181:  
encode = false,
 
encode = false,
 
separator = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
 
['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 981: Line 1,193:  
separator = '&nbsp;',
 
separator = '&nbsp;',
 
access = 'free', -- free to read
 
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 = 'manual',
 
mode = 'manual',
Line 992: Line 1,205:  
separator = '&nbsp;',
 
separator = '&nbsp;',
 
access = 'free', -- always free to read
 
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 1,002: Line 1,216:  
COinS = 'pre', -- use prefix value
 
COinS = 'pre', -- use prefix value
 
separator = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
 
['ZBL'] = {
 
['ZBL'] = {
 
parameters = {'ZBL', 'zbl'},
 
parameters = {'ZBL', 'zbl'},
 
link = 'Zentralblatt MATH',
 
link = 'Zentralblatt MATH',
 +
q = 'Q190269',
 
label = 'Zbl',
 
label = 'Zbl',
mode = 'external',
+
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 = '&nbsp;',
 
separator = '&nbsp;',
},
+
},
}
+
}
 +
 
 +
 
 +
--[[--------------------------< E X P O R T S >----------------------------------------------------------------
 +
]]
    
return {
 
return {
Line 1,019: Line 1,238:  
special_case_translation = special_case_translation,
 
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 1,024: 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 1,029: 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,

Navigation menu