Перейти к содержанию

Модуль:Карточка/Вставка

Википедия деп сайттан

Сокращённая версия модуля Transclude для использования в шаблоне {{Карточка}}. Документацию см Модуль:Transclude#npc


local M={}

function M.npc(f)-- Итератор по именованно-нумерованным параметрам.
    local tf, ac, ns = f:getParent(), {}, {};
    for k,v in pairs(tf.args) do
        local b,n = string.match(k,"^(.-)%s*(%d*)$");
        n = tonumber(n);
        if n then
            if f.args[b] then
                if not ac[n] then
                    ac[n] = mw.clone(f.args)
                    table.insert(ns,n)
                end
                ac[n][b] = v
            end--if f.args[b]
        end--if n
    end--for
    table.sort(ns);
    local tmod = #f.args-1
    for n,i in ipairs(ns) do
        ns[n]=tf:expandTemplate{ title=f.args[n % tmod+1]; args=ac[i] }
    end
    return table.concat(ns)
end

return M