Module:Citation/CS1/Configuration: Difference between revisions
EnWikiAdmin (talk | contribs) m 1 revision imported |
EnWikiAdmin (talk | contribs) m 1 revision imported |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 509: | Line 509: | ||
{['en'] = {'^wayback%s+machine$', false}, ['local'] = nil}, | {['en'] = {'^wayback%s+machine$', false}, ['local'] = nil}, | ||
{['en'] = {'are you a robot', true}, ['local'] = nil}, | {['en'] = {'are you a robot', true}, ['local'] = nil}, | ||
{['en'] = {'hugedomains | {['en'] = {'hugedomains', true}, ['local'] = nil}, | ||
{['en'] = {'^[%(%[{<]?no +title[>}%]%)]?$', false}, ['local'] = nil}, | {['en'] = {'^[%(%[{<]?no +title[>}%]%)]?$', false}, ['local'] = nil}, | ||
{['en'] = {'page not found', true}, ['local'] = nil}, | {['en'] = {'page not found', true}, ['local'] = nil}, | ||
Line 1,062: | Line 1,062: | ||
-- 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/16.0/emoji-zwj-sequences.txt; version: 16.0; 2024-08-14 | ||
-- 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,164: | Line 1,164: | ||
local script_lang_codes = { | local script_lang_codes = { | ||
'ab', 'am', 'ar', 'be', 'bg', 'bn', 'bo', 'bs', 'ce', 'dv', 'dz', 'el', 'fa', 'grc', | 'ab', 'am', 'ar', 'az', 'be', 'bg', 'bn', 'bo', 'bs', 'ce', 'chr', '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', 'tt', | |||
'ug', 'uk', 'ur', 'uz', 'yi', 'yue', 'zh', 'zgh' | |||
}; | }; | ||
Line 1,246: | Line 1,247: | ||
['location-test'] = 'CS1 location test', | ['location-test'] = 'CS1 location test', | ||
['long-vol'] = 'CS1: long volume value', -- probably temporary cat to identify scope of |volume= values longer than 4 characters | ['long-vol'] = 'CS1: long volume value', -- probably temporary cat to identify scope of |volume= values longer than 4 characters | ||
['script'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is | ['script'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is language tag | ||
['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 | |||
['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,296: | ||
'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', '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', '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', | ||
'26775', '30845', '32545', '35711', '35712', '35713', '35995', '36648', '37126', '37532', '37871', '47128', | '26775', '30845', '32545', '35711', '35712', '35713', '35995', '36648', '37126', '37532', '37871', '47128', | ||
'47622', '47959', '52437', '52975', '53288', '54081', '54947', '55667', '55914', '57009', '58647', '59081', | '47622', '47959', '52437', '52975', '53288', '54081', '54947', '55667', '55914', '57009', '58647', '59081', | ||
Line 1,304: | Line 1,307: | ||
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'}, | ['1002'] = {'aelm', 'leap'}, -- Advanced Electronic Materials, Learned Publishing | ||
['1016'] = {'j.heliyon', 'j.nlp', 'j.proche'}, -- Heliyon, Natural Language Processing, 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,310: | Line 1,315: | ||
['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 | |||
['14231'] = {'ag'}, -- Algebraic Geometry | |||
} | } | ||
Line 1,740: | Line 1,747: | ||
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,799: | Line 1,812: | ||
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,946: | Line 1,965: | ||
anchor = 'extra_punct', | anchor = 'extra_punct', | ||
category = 'CS1 maint: extra punctuation', | category = 'CS1 maint: extra punctuation', | ||
hidden = true, | |||
}, | |||
maint_id_limit_load_fail = { -- applies to all cs1|2 templates on a page; | |||
message = nil, -- maint message (category link) never emitted | |||
anchor = 'id_limit_load_fail', | |||
category = 'CS1 maint: ID limit load fail', | |||
hidden = true, | hidden = true, | ||
}, | }, | ||
Line 2,024: | Line 2,049: | ||
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,032: | Line 2,063: | ||
hidden = true, | hidden = true, | ||
}, | }, | ||
maint_unknown_lang = { | maint_unknown_lang = { | ||
message = nil, | message = nil, | ||
Line 2,077: | Line 2,102: | ||
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 id_limits_data_t = {}; | local id_limits_data_t = {}; | ||
for | |||
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 id_limits_data_load_fail = false; -- flag; assume that we will be successful when loading json id limit tabular data | |||
local tab_data_t = mw.ext.data.get ('CS1/Identifier limits.tab').data; -- attempt to load the json limit data from commons into <tab_data_t> | |||
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) do -- overwrite default <load_fail_limit> values | |||
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 | ||
Line 2,453: | Line 2,499: | ||
url_skip = build_skip_table (url_skip, url_meta_params), | url_skip = build_skip_table (url_skip, url_meta_params), | ||
known_free_doi_registrants_t = build_free_doi_registrants_table(), | known_free_doi_registrants_t = build_free_doi_registrants_table(), | ||
id_limits_data_load_fail = id_limits_data_load_fail, -- true when commons tabular identifier-limit data fails to load | |||
name_space_sort_keys = name_space_sort_keys, | name_space_sort_keys = name_space_sort_keys, |