Module:Citation/CS1/Configuration: Difference between revisions
m 1 revision imported: Importing CS1 |
synch from sandbox; |
||
Line 142: | Line 142: | ||
['warning_msg_e'] = '<span style="color:#d33">One or more <code style="color: inherit; background: inherit; border: none; padding: inherit;">{{$1}}</code> templates have errors</span>; messages may be hidden ([[Help:CS1_errors#Controlling_error_message_display|help]]).'; -- $1 is template link | ['warning_msg_e'] = '<span style="color:#d33">One or more <code style="color: inherit; background: inherit; border: none; padding: inherit;">{{$1}}</code> templates have errors</span>; messages may be hidden ([[Help:CS1_errors#Controlling_error_message_display|help]]).'; -- $1 is template link | ||
['warning_msg_m'] = '<span style="color:# | ['warning_msg_m'] = '<span style="color:#085">One or more <code style="color: inherit; background: inherit; border: none; padding: inherit;">{{$1}}</code> templates have maintenance messages</span>; messages may be hidden ([[Help:CS1_errors#Controlling_error_message_display|help]]).'; -- $1 is template link | ||
} | } | ||
Line 463: | Line 463: | ||
local punct_skip = {}; | local punct_skip = {}; | ||
local url_skip = {}; | local url_skip = {}; | ||
--[[--------------------------< U R L _ A C C E S S _ M A P >-------------------------------------------------- | |||
this table used by the wikipedia library url test, has_twl_url(), which automatically sets a url-access parameter | |||
to 'subscription' when it discovers a wikipedia library url in any of the url-holding paramters used as keys in | |||
this table. | |||
translators: if your wiki uses parameter names for these url-holding parameters and their matching -access parameters, | |||
add your wiki's parameters to this list. Leave the English parameters in place. | |||
TODO: is there a better way to do this? | |||
]] | |||
local url_access_map_t = { | |||
['chapter-url'] = 'chapter-url-access', | |||
['contribution-url'] = 'contribution-url-access', | |||
['entry-url'] = 'entry-url-access', | |||
['article-url'] = 'article-url-access', | |||
['section-url'] = 'section-url-access', | |||
['map-url'] = 'map-url-access', | |||
['mapurl'] = 'map-url-access', | |||
['url'] = 'url-access', | |||
['URL'] = 'url-access' | |||
} | |||
Line 580: | Line 606: | ||
{['en'] = {'super.?user', false}, ['local'] = nil}, | {['en'] = {'super.?user', false}, ['local'] = nil}, | ||
{['en'] = {'%f['..is_Latn..'][Uu]ser%f[^'..is_Latn..']', false}, ['local'] = nil}, | {['en'] = {'%f['..is_Latn..'][Uu]ser%f[^'..is_Latn..']', false}, ['local'] = nil}, | ||
{['en'] = {'updated', true}, ['local'] = nil}, | |||
{['en'] = {'verfasser', true}, ['local'] = nil}, | {['en'] = {'verfasser', true}, ['local'] = nil}, | ||
} | } | ||
Line 1,062: | Line 1,089: | ||
-- list of emoji that use a zwj character (U+200D) to combine with another emoji | -- list of emoji that use a zwj character (U+200D) to combine with another emoji | ||
-- from: https://unicode.org/Public/emoji/ | -- from: https://unicode.org/Public/emoji/17.0/emoji-zwj-sequences.txt; version: 17.0; 2025-01-08 | ||
-- table created by: [[:en:Module:Make emoji zwj table]] | -- table created by: [[:en:Module:Make emoji zwj table]] | ||
local emoji_t = { -- indexes are decimal forms of the hex values in U+xxxx | local emoji_t = { -- indexes are decimal forms of the hex values in U+xxxx | ||
Line 1,089: | Line 1,116: | ||
[127979] = true, -- U+1F3EB 🏫 school | [127979] = true, -- U+1F3EB 🏫 school | ||
[127981] = true, -- U+1F3ED 🏭 factory | [127981] = true, -- U+1F3ED 🏭 factory | ||
[128048] = true, -- U+1F430 🐰 rabbit face | |||
[128102] = true, -- U+1F466 👦 boy | [128102] = true, -- U+1F466 👦 boy | ||
[128103] = true, -- U+1F467 👧 girl | [128103] = true, -- U+1F467 👧 girl | ||
Line 1,118: | Line 1,146: | ||
[129489] = true, -- U+1F9D1 🧑 adult | [129489] = true, -- U+1F9D1 🧑 adult | ||
[129490] = true, -- U+1F9D2 🧒 child | [129490] = true, -- U+1F9D2 🧒 child | ||
[129648] = true, -- U+1FA70 🩰 ballet shoes | |||
[129657] = true, -- U+1FA79 🩹 adhesive bandage | [129657] = true, -- U+1FA79 🩹 adhesive bandage | ||
[129775] = true, -- U+1FAEF fight cloud | |||
[129778] = true, -- U+1FAF2 🫲 leftwards hand | [129778] = true, -- U+1FAF2 🫲 leftwards hand | ||
} | } | ||
Line 1,164: | Line 1,194: | ||
local script_lang_codes = { | local script_lang_codes = { | ||
'ab', 'am', 'ar', 'az', 'be', 'bg', 'bn', 'bo', 'bs', 'ce', 'chr', 'dv', 'dz', | 'ab', 'am', 'ar', 'az', 'be', 'bg', 'bn', 'bo', 'bs', 'ce', 'chr', 'cu', | ||
'dv', 'dz', 'el', 'fa', 'grc', 'gu', 'he', 'hi', 'hy', 'ja', 'ka', 'kk', | |||
'km', 'kn', 'ko', 'ku', 'ky', 'lo', 'mk', 'ml', 'mn', 'mni', 'mr', 'my', | |||
'ne', 'or', 'ota', 'pa', 'ps', 'ru', 'sd', 'si', 'sr', 'syc', 'ta', 'te', | |||
'tg', 'th', 'ti', 'tkr', 'tt', 'ug', 'uk', 'ur', 'uz', 'yi', 'yue', 'zh', | |||
'zgh' | |||
}; | }; | ||
Line 1,250: | Line 1,281: | ||
['tracked-param'] = 'CS1 tracked parameter: $1', -- $1 is base (enumerators removed) parameter name | ['tracked-param'] = 'CS1 tracked parameter: $1', -- $1 is base (enumerators removed) parameter name | ||
['unfit'] = 'CS1: unfit URL', -- |url-status=unfit or |url-status=usurped; used to be a maint cat | ['unfit'] = 'CS1: unfit URL', -- |url-status=unfit or |url-status=usurped; used to be a maint cat | ||
['vanc-accept'] = 'CS1:Vancouver names with accept markup', -- for |vauthors=/|veditors= with accept-as-written markup | |||
['year-range-abbreviated'] = 'CS1: abbreviated year range', -- probably temporary cat to identify scope of |date=, |year= values using YYYY–YY form | ['year-range-abbreviated'] = 'CS1: abbreviated year range', -- probably temporary cat to identify scope of |date=, |year= values using YYYY–YY form | ||
} | } | ||
Line 1,293: | Line 1,325: | ||
'5315', '5316', '5317', '5318', '5319', '5320', '5321', '5334', '5402', '5409', '5410', '5411', '5412', | '5315', '5316', '5317', '5318', '5319', '5320', '5321', '5334', '5402', '5409', '5410', '5411', '5412', | ||
'5492', '5493', '5494', '5495', '5496', '5497', '5498', '5499', '5500', '5501', '5527', '5528', '5662', | '5492', '5493', '5494', '5495', '5496', '5497', '5498', '5499', '5500', '5501', '5527', '5528', '5662', | ||
'6064', '6219', '7167', '7217', '7287', '7482', '7490', '7554', '7717', '7759', '7766', '11131', '11569', '11647', | '6064', '6219', '7167', '7217', '7287', '7482', '7490', '7554', '7717', '7759', '7766', '9778', '11131', '11569', '11647', | ||
'11648', '12688', '12703', '12715', '12942', '12998', '13105', '14256', '14293', '14303', '15215', '15347', '15412', '15560', '16995', | '11648', '12688', '12703', '12715', '12942', '12998', '13105', '14256', '14293', '14303', '15215', '15347', '15412', '15560', '16995', | ||
'17645', '18637', '19080', '19173', '20944', '21037', '21468', '21767', '22261', '22323', '22459', '24105', '24196', '24966', | '17645', '18637', '19080', '19173', '20944', '21037', '21468', '21767', '22261', '22323', '22459', '24105', '24196', '24966', | ||
Line 1,306: | Line 1,338: | ||
local extended_registrants_t = { -- known free registrants identifiable by the doi suffix incipit | local extended_registrants_t = { -- known free registrants identifiable by the doi suffix incipit | ||
['1016'] = {'j.heliyon', 'j.proche'}, | ['1002'] = {'aelm', 'leap'}, -- Advanced Electronic Materials, Learned Publishing | ||
['1016'] = {'j.heliyon', 'j.nlp', 'j.patter', 'j.proche'}, -- Heliyon, Natural Language Processing, Patterns, Procedia Chemistry | |||
['1017'] = {'nlp'}, -- Natural Language Processing Journal | |||
['1046'] = {'j.1365-8711', 'j.1365-246x'}, -- MNRAS, GJI | ['1046'] = {'j.1365-8711', 'j.1365-246x'}, -- MNRAS, GJI | ||
['1093'] = {'mnras', 'mnrasl', 'gji', 'rasti'}, -- MNRAS, MNRAS Letters, GJI, RASTI | ['1093'] = {'mnras', 'mnrasl', 'gji', 'rasti'}, -- MNRAS, MNRAS Letters, GJI, RASTI | ||
Line 1,312: | Line 1,346: | ||
['1111'] = {'j.1365-2966', 'j.1745-3933', 'j.1365-246X'}, -- MNRAS, MNRAS Letters, GJI | ['1111'] = {'j.1365-2966', 'j.1745-3933', 'j.1365-246X'}, -- MNRAS, MNRAS Letters, GJI | ||
['1210'] = {'jendso','jcemcr'}, -- Journal of the Endocrine Society, JCEM Case Reports | ['1210'] = {'jendso','jcemcr'}, -- Journal of the Endocrine Society, JCEM Case Reports | ||
['4171'] = {'dm','mag'}, -- Documenta Mathematica, EMS Magazine | |||
['11158'] = {'saasp'}, -- Systematic and Applied Acarology Special Publications | |||
['11646'] = {'megataxa', 'mesozoic'}, -- Megataxa, Mesozoic | |||
['14231'] = {'ag'}, -- Algebraic Geometry | |||
['22073'] = {'pja'}, -- Persian Journal of Acarology | |||
['35249'] = {'rche'}, -- Revista Chilena de Entomología | |||
['37520'] = {'fi'}, -- Fossil Imprint | |||
['53562'] = {'ajcb'} -- Asian Journal of Conservation Biology | |||
} | } | ||
Line 1,742: | Line 1,784: | ||
category = 'CS1 errors: generic title', | category = 'CS1 errors: generic title', | ||
hidden = false, | hidden = false, | ||
}, | |||
err_invalid_isbn_date = { | |||
message = 'ISBN / Date incompatibility', | |||
anchor = 'invalid_isbn_date', | |||
category = 'CS1 errors: ISBN date', | |||
hidden = true | |||
}, | }, | ||
err_invalid_param_val = { | err_invalid_param_val = { | ||
Line 1,801: | Line 1,849: | ||
anchor = 'param_has_ext_link', | anchor = 'param_has_ext_link', | ||
category = 'CS1 errors: external links', | category = 'CS1 errors: external links', | ||
hidden = false | |||
}, | |||
err_param_has_twl_url = { | |||
message = 'Wikipedia Library link in <code class="cs1-code">$1</code>', -- $1 is parameter name | |||
anchor = 'param_has_twl_url', | |||
category = 'CS1 errors: URL', | |||
hidden = false | hidden = false | ||
}, | }, | ||
Line 1,978: | Line 2,032: | ||
anchor = 'location', | anchor = 'location', | ||
category = 'CS1 maint: location', | category = 'CS1 maint: location', | ||
hidden = true, | |||
}, | |||
maint_missing_class = { | |||
message = nil, | |||
anchor = 'missing_class', | |||
category = 'CS1 maint: missing class', | |||
hidden = true, | hidden = true, | ||
}, | }, | ||
Line 2,014: | Line 2,074: | ||
anchor = 'overridden', | anchor = 'overridden', | ||
category = 'CS1 maint: overridden setting', | category = 'CS1 maint: overridden setting', | ||
hidden = true, | |||
}, | |||
maint_page_art_num = { | |||
message = nil, | |||
anchor = 'page_art_num', | |||
category = 'CS1 maint: article number as page number', | |||
hidden = true, | hidden = true, | ||
}, | }, | ||
Line 2,032: | Line 2,098: | ||
anchor = 'postscript', | anchor = 'postscript', | ||
category = 'CS1 maint: postscript', | category = 'CS1 maint: postscript', | ||
hidden = true, | |||
}, | |||
maint_publisher_location = { | |||
message = nil, | |||
anchor = 'publisher_location', | |||
category = 'CS1 maint: publisher location', | |||
hidden = true, | hidden = true, | ||
}, | }, | ||
Line 2,079: | Line 2,151: | ||
The values from <id_limits_data_t> are used to set handle.id_limit. | The values from <id_limits_data_t> are used to set handle.id_limit. | ||
From 2025-02-21, MediaWiki is broken. Use this link to edit the tablular data file: | |||
https://commons.wikimedia.org/w/index.php?title=Data:CS1/Identifier_limits.tab&action=edit | |||
See Phab:T389105 | |||
]] | ]] | ||
local load_fail_limit = 99999999999; | local id_limits_data_t = {}; | ||
local use_commons_data = true; -- set to false if your wiki does not have access to mediawiki commons; then, | |||
if false == use_commons_data then -- update this table from https://commons.wikimedia.org/wiki/Data:CS1/Identifier_limits.tab; last update: 2025-02-21 | |||
id_limits_data_t = {['OCLC'] = 10450000000, ['OSTI'] = 23010000, ['PMC'] = 11900000, ['PMID'] = 40400000, ['RFC'] = 9300, ['SSRN'] = 5200000, ['S2CID'] = 276000000}; -- this table must be maintained locally | |||
else -- here for wikis that do have access to mediawiki commons | |||
local load_fail_limit = 99999999999; -- very high number to avoid error messages on load failure | |||
id_limits_data_t = {['OCLC'] = load_fail_limit, ['OSTI'] = load_fail_limit, ['PMC'] = load_fail_limit, ['PMID'] = load_fail_limit, ['RFC'] = load_fail_limit, ['SSRN'] = load_fail_limit, ['S2CID'] = load_fail_limit}; | |||
local tab_data_t = mw.ext.data.get ('CS1/Identifier limits.tab') | local id_limits_data_load_fail = false; -- flag; assume that we will be successful when loading json id limit tabular data | ||
if false == tab_data_t then | |||
local tab_data_t = mw.ext.data.get ('CS1/Identifier limits.tab'); -- attempt to load the tabular data from commons into <tab_data_t> | |||
else | if false == tab_data_t then -- undocumented 'feature': mw.ext.data.get() sometimes returns false | ||
id_limits_data_load_fail = true; -- set the flag so that Module:Citation/CS1 can create an unannotated maint category | |||
else | |||
for _, limit_t in ipairs (tab_data_t.data) do -- overwrite default <load_fail_limit> values from the data table in the tabular data | |||
id_limits_data_t[limit_t[1]] = limit_t[2]; -- <limit[1]> is identifier; <limit[2]> is upper limit for that identifier | |||
end | |||
end | end | ||
end | end | ||
Line 2,498: | Line 2,583: | ||
vol_iss_pg_patterns = vol_iss_pg_patterns, | vol_iss_pg_patterns = vol_iss_pg_patterns, | ||
single_letter_2nd_lvl_domains_t = single_letter_2nd_lvl_domains_t, | single_letter_2nd_lvl_domains_t = single_letter_2nd_lvl_domains_t, | ||
url_access_map_t = url_access_map_t, | |||
inter_wiki_map = inter_wiki_map, | inter_wiki_map = inter_wiki_map, |