Изменения

Перейти к навигации Перейти к поиску
вывести курсив и полужирный за пределы ссылки в режиме подстановки
Строка 79: Строка 79:  
end
 
end
   −
function addMetadata(text, lang, article)
+
local function addMetadata(text, lang, article)
 
return string.format(
 
return string.format(
 
'<span data-interwiki-lang="%s" data-interwiki-article="%s">%s</span>',
 
'<span data-interwiki-lang="%s" data-interwiki-article="%s">%s</span>',
Строка 93: Строка 93:  
return error{text}
 
return error{text}
 
end
 
end
 +
end
 +
 +
function p._subst(mode, title, text, lang, iw_text)
 +
-- Вывести выделение строки за её пределами
 +
local selOffset = mw.ustring.find( text, "''" )
 +
local sel = ''
 +
if selOffset ~= nil and selOffset == 1 then
 +
local oldText = text
 +
text = mw.text.trim( text, "'" )
 +
sel = mw.ustring.rep( "'", ( mw.ustring.len( oldText ) - mw.ustring.len( text ) ) / 2 )
 +
end
 +
local result = sel .. wikilink(title, text) .. sel
 +
 +
-- Вывести содержимое скобок в не переведено 2
 +
if mode == 2 then
 +
local iw_link = '{{lang-' .. lang .. '|' .. iw_text .. '}}'
 +
if is_empty(addition) then
 +
return string.format('%s (%s)', result, iw_link)
 +
else
 +
return string.format('%s (%s; %s)', result, iw_link, addition)
 +
end
 +
end
 +
 +
return result
 
end
 
end
   Строка 180: Строка 204:  
-- если используется с подстановкой, выбросить почти без обработки
 
-- если используется с подстановкой, выбросить почти без обработки
 
if mw.isSubsting() then
 
if mw.isSubsting() then
local ru_link = wikilink(title, text)
+
return p._subst( mode, title, text, lang, iw_text )
if mode == 2 then
  −
local iw_link = '{{lang-' .. lang .. '|' .. iw_text .. '}}'
  −
if is_empty(addition) then
  −
return string.format('%s (%s)', ru_link, iw_link)
  −
else
  −
return string.format('%s (%s; %s)', ru_link, iw_link,  addition)
  −
end
  −
else
  −
return ru_link
  −
end
   
end
 
end
 
 
Анонимный участник

Реклама:

Навигация