Module:Citation/CS1/Configuration: Difference between revisions

synch from sandbox;
m>Trappist the monk
(unsupport |ARXIV= and |BIBCODE=;)
m>Trappist the monk
(synch from sandbox;)
Line 5: Line 5:
-- https://git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199
-- https://git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199
local code_style="color:inherit; border:inherit; padding:inherit;";
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 18: Line 19:


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


--[[--------------------------< M E S S A G E S >--------------------------------------------------------------
--[[--------------------------< M E S S A G E S >--------------------------------------------------------------
Line 101: Line 103:
['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 112:


]]
]]
local presentation =  
local presentation =  
{
{
Line 139: Line 143:
['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 style="padding-left:0.2em;">$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 style="padding-right:0.2em;">$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 style="padding-left:0.2em;">$1</span>', -- when title contains leading single or double quote mark
['kern-wl-right'] = '<span style="padding-right:0.2em;">$1</span>', -- when title contains trailing single or double quote mark
['kern-wl-both'] = '<span style="padding-left:0.2em;padding-right:0.2em;">$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>
Line 177: Line 187:
['ChapterFormat'] = {'chapter-format', 'contribution-format', 'section-format'};
['ChapterFormat'] = {'chapter-format', 'contribution-format', 'section-format'};
['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'},
['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'},
['ChapterUrlAccess'] = 'chapter-url-access',
['Class'] = 'class', -- cite arxiv and arxiv identifiers
['Class'] = 'class', -- cite arxiv and arxiv identifiers
['Collaboration'] = 'collaboration',
['Collaboration'] = 'collaboration',
Line 293: Line 304:
['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 313: Line 325:
['editors'] = "editors",
['editors'] = "editors",
}
}


--[[--------------------------< D E F A U L T S >--------------------------------------------------------------
--[[--------------------------< D E F A U L T S >--------------------------------------------------------------
Line 324: Line 337:
['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};
}
}




Line 337: Line 384:
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 451:
-- {'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
-- 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\234\163\160-\234\163\191]';


--[[--------------------------< L A N G U A G E S >------------------------------------------------------------
--[[--------------------------< L A N G U A G E S >------------------------------------------------------------
Line 415: Line 478:


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 = {'am', 'ar', 'be', 'bg', 'bn', 'bs', 'dv', 'el', -- ISO 639-1 codes only for |script-title= and |script-chapter=
'fa', 'he', 'hy', 'ja', 'ka', 'kn', 'ko', 'ku',
'fa', 'gu', 'he', 'hy', 'ja', 'ka', 'kn', 'ko',
'mk', 'ml', 'mr', 'my', 'ps', 'ru', 'sd', 'sr',
'ku', 'mk', 'ml', 'mr', 'my', 'ps', 'ru', 'sd',
'th', 'uk', 'ug', 'ur', 'yi', 'zh'};
'sr', 'tg', 'th', 'uk', 'ug', 'ur', 'yi', 'zh'};




Line 448: Line 511:
['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 461: Line 525:
['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
}
}




Line 481: Line 544:
['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 578: Line 642:
anchor = 'bad_issn',
anchor = 'bad_issn',
category = 'CS1 errors: ISSN',
category = 'CS1 errors: ISSN',
hidden = false },
bad_jfm = {
message = 'Check <code style="'..code_style..'">&#124;jfm=</code> value',
anchor = 'bad_jfm',
category = 'CS1 errors: JFM',
hidden = false },
hidden = false },
bad_lccn = {
bad_lccn = {
Line 584: Line 653:
category = 'CS1 errors: LCCN',
category = 'CS1 errors: LCCN',
hidden = false },
hidden = false },
bad_message_id = {
bad_usenet_id = {
message = 'Check <code style="'..code_style..'">&#124;message-id=</code> value',
message = 'Check <code style="'..code_style..'">&#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 },
bad_mr = {
message = 'Check <code style="'..code_style..'">&#124;mr=</code> value',
anchor = 'bad_mr',
category = 'CS1 errors: MR',
hidden = false },
hidden = false },
bad_ol = {
bad_ol = {
Line 623: Line 697:
anchor = 'bad_url',
anchor = 'bad_url',
category = 'Pages with URL errors',
category = 'Pages with URL errors',
hidden = false },
bad_zbl = {
message = 'Check <code style="'..code_style..'">&#124;zbl=</code> value',
anchor = 'bad_zbl',
category = 'CS1 errors: ZBL',
hidden = false },
hidden = false },
bare_url_missing_title = {
bare_url_missing_title = {
Line 628: Line 707:
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 },
biorxiv_missing = {
message = '<code style="'..code_style..'">&#124;biorxiv=</code> required',
anchor = 'biorxiv_missing',
category = 'CS1 errors: bioRxiv', -- same as bad bioRxiv
hidden = false },
hidden = false },
chapter_ignored = {
chapter_ignored = {
Line 638: Line 722:
anchor = 'citation_missing_title',
anchor = 'citation_missing_title',
category = 'Pages with citations lacking titles',
category = 'Pages with citations lacking titles',
hidden = false },
citeseerx_missing = {
message = '<code style="'..code_style..'">&#124;citeseerx=</code> required',
anchor = 'citeseerx_missing',
category = 'CS1 errors: citeseerx', -- same as bad citeseerx
hidden = false },
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
Line 734: Line 823:
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 786: Line 876:
link = 'Bibcode',
link = 'Bibcode',
label = 'Bibcode',
label = 'Bibcode',
-- mode = 'external',
mode = 'manual',
mode = 'manual',
prefix = 'http://adsabs.harvard.edu/abs/',
prefix = 'http://adsabs.harvard.edu/abs/',
Line 880: Line 969:
link = 'Jahrbuch über die Fortschritte der Mathematik',
link = 'Jahrbuch über die Fortschritte der Mathematik',
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
Line 911: Line 1,000:
link = 'Mathematical Reviews',
link = 'Mathematical Reviews',
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
Line 1,007: Line 1,096:
link = 'Zentralblatt MATH',
link = 'Zentralblatt MATH',
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
Line 1,013: Line 1,102:
separator = '&nbsp;',
separator = '&nbsp;',
},
},
}
}
 


return {
return {
Line 1,019: Line 1,109:
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,115:
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,
Anonymous user