Roovet Articles
Module:Citation/CS1/Identifiers/sandbox
Documentation for this module may be created at Module:Citation/CS1/Identifiers/sandbox/doc
-- Minimal identifiers with set_selected_modules()
local M = {}
local cfg, U
function M.set_selected_modules(cfg_ptr, utilities_ptr)
cfg, U = cfg_ptr, utilities_ptr
end
-- Simple handlers for common IDs
M.doi = {
key='doi', label='doi',
pattern='^10%.%d%d%d%d?%d?/.+',
link=function(id) return 'https://doi.org/' .. id end,
display=function(id) return id end,
}
M.isbn = {
key='isbn', label='ISBN',
pattern='^%d[%d%-%s]*[%dxX]$',
normalize=function(id) return (mw.ustring.upper((id or '')):gsub('[^0-9X]', '')) end,
link=function(id) return 'https://www.worldcat.org/isbn/' .. id end,
display=function(id) return id end,
}
M.issn = {
key='issn', label='ISSN',
pattern='^%d%d%d%d%-%d[%dxX]$',
link=function(id) return 'https://www.worldcat.org/issn/' .. id end,
display=function(id) return id end,
}
return M