Module:Citation/CS1/Utilities: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
No edit summary |
No edit summary |
||
Line 213: | Line 213: | ||
table.insert( z.maintenance_cats, substitute (cfg.maint_cats [key], arguments)); -- make name then add to table |
table.insert( z.maintenance_cats, substitute (cfg.maint_cats [key], arguments)); -- make name then add to table |
||
end |
end |
||
end |
|||
--[[--------------------------< S A F E _ F O R _ I T A L I C S >---------------------------------------------- |
|||
Protects a string that will be wrapped in wiki italic markup '' ... '' |
|||
Note: We cannot use <i> for italics, as the expected behavior for italics specified by ''...'' in the title is that |
|||
they will be inverted (i.e. unitalicized) in the resulting references. In addition, <i> and '' tend to interact |
|||
poorly under Mediawiki's HTML tidy. |
|||
]] |
|||
local function safe_for_italics( str ) |
|||
if not is_set(str) then |
|||
return str; |
|||
else |
|||
if str:sub(1,1) == "'" then str = "<span />" .. str; end |
|||
if str:sub(-1,-1) == "'" then str = str .. "<span />"; end |
|||
-- Remove newlines as they break italics. |
|||
return str:gsub( '\n', ' ' ); |
|||
end |
|||
end |
|||
--[[--------------------------< W R A P _ S T Y L E >---------------------------------------------------------- |
|||
Applies styling to various parameters. Supplied string is wrapped using a message_list configuration taking one |
|||
argument; protects italic styled parameters. Additional text taken from citation_config.presentation - the reason |
|||
this function is similar to but separate from wrap_msg(). |
|||
]] |
|||
local function wrap_style (key, str) |
|||
if not is_set( str ) then |
|||
return ""; |
|||
elseif in_array( key, { 'italic-title', 'trans-italic-title' } ) then |
|||
str = safe_for_italics( str ); |
|||
end |
|||
return substitute( cfg.presentation[key], {str} ); |
|||
end |
end |
||
Line 224: | Line 266: | ||
select_one = select_one, |
select_one = select_one, |
||
add_maint_cat = add_maint_cat, |
add_maint_cat = add_maint_cat, |
||
wrap_style = wrap_style; |
|||
safe_for_italics = safe_for_italics; |
|||
z = z, |
z = z, |
||
} |
} |