Модуль:RefTools — различия между версиями
StasR (обсуждение | вклад) |
StasR (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
local name, content | local name, content | ||
for _, ref in pairs( refs ) do | for _, ref in pairs( refs ) do | ||
− | name, content = mw.ustring.match ( ref, '^/([^/]+)/(.*)$' ) | + | if ref ~= '' then |
− | + | name, content = mw.ustring.match ( ref, '^/([^/]+)/(.*)$' ) | |
− | content = ref | + | if not name then |
+ | content = ref | ||
+ | end | ||
+ | |||
+ | if isSource then | ||
+ | content = 'Источник: <cite>' .. content .. '</cite>' | ||
+ | else | ||
+ | content = tools.phrase( content ) | ||
+ | end | ||
+ | result = result .. mw.getCurrentFrame():extensionTag( 'ref', content, name ) | ||
end | end | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
end | end | ||
return result | return result |
Версия 10:32, 5 февраля 2017
Для документации этого модуля может быть создана страница Модуль:RefTools/doc
local refTools = {}
local tools = require( 'Module:Tools' )
function refTools.makeRef( para, isSource )
local refs = mw.text.split( para or '', '¶' )
local result = ''
local name, content
for _, ref in pairs( refs ) do
if ref ~= '' then
name, content = mw.ustring.match ( ref, '^/([^/]+)/(.*)$' )
if not name then
content = ref
end
if isSource then
content = 'Источник: <cite>' .. content .. '</cite>'
else
content = tools.phrase( content )
end
result = result .. mw.getCurrentFrame():extensionTag( 'ref', content, name )
end
end
return result
end
return refTools