ФЭНДОМ


local infohelp = {}
 
function infohelp.gender(frame)
    local total
    local lg = string.lower(frame.args[1])
    if 
        lg == "man" or 
        lg == "m" or 
        lg == "male" or 
        lg == "мужчина" or 
        lg == "муж" or 
        lg == "м" 
    then
        total = "http://vignette1.wikia.nocookie.net/wikies/images/c/c1/Male.svg/revision/latest?cb=20150302060331&path-prefix=ru"
    elseif 
        lg == "woman" or 
        lg == "w" or 
        lg == "f" or 
        lg == "female" or 
        lg == "женщина" or 
        lg == "жен" or 
        lg == "ж" 
    then
        total = "http://vignette1.wikia.nocookie.net/wikies/images/2/23/Female.svg/revision/latest?cb=20150302060307&path-prefix=ru"
    end
    return total
end
 
function check( frm, mode, width )
    local wo = mw.text.split( frm, '%.')
    local pageexists = mw.title.makeTitle('File', frm).fileExists
    local result = "—"
    local size
 
    if mode == 'logo' then
        if width ~= nil then
            size = '|'..width
        else
            size = ']]'
        end
    else
        size = '|150px]]'
    end
 
    if pageexists then
        result = '[[Файл:'..table.concat(wo, '.')..size
    end
 
    return result
end
 
function infohelp.img( frame )
    local e1 = string.find( frame.args[1], "^%[%[" )
    local e2 = string.find( frame.args[1], "^http(s?)://")
    local e3 = string.find( frame.args[1], "^[a-zA-Zа-яА-Я0-9%[]" )
    local result = ""
    local mode
 
    if frame.args[2] then
        mode = frame.args[2]
    else
        mode = 'avatar'
    end
 
    if e2 or not e3 then
        result = frame.args[1]
    elseif e1 then
        -- for logo
        local width = string.find(frame.args[1], "%d%d%dpx")
        if width then
            width = string.sub(frame.args[1], width)
        else
            width = nil
        end
        local filename = mw.text.split(mw.text.trim(frame.args[1]), '[:|%]]')[2]
 
        result = check(filename, mode, width)
    else
        result = check(frame.args[1], mode)
    end
 
    return result
end
 
function infohelp.link(frame)
    return 'w:c:'..frame.args[1]:gsub("https?://", ""):gsub(".wikia.com", "")
end
 
function infohelp.prof(frame)
    local abilities = mw.text.split(frame.args[1], "[,%s]+")
    local total = mw.html.create("div")
        :css({
            ["text-align"] = "center",
            ["margin"] = "0px auto"
        })
 
    function generateBlock(text, title, image)
        total:node( mw.html.create("span")
            :css({
                ["border"] = "2px solid transparent",
                ["cursor"] = "help"
            })
            :node(
                mw.html.create("div")
                :attr({
                    ["style"] = "display: inline-block",
                    ["class"] = "infobox-image",
                    ["title"] = title
                })
                :wikitext(image)
                :node(
                    mw.html.create("div")
                    :css({
                        ["font-size"] = "9px",
                        ["color"] = "black"
                    })
                    :wikitext(text)
                )
            )
        )
    end
    for i, v in ipairs(abilities) do
        local lv = string.lower(v)
        if
            lv == "communication" or 
            lv == "forum/chat" or 
            lv == "ф" or
            lv == "ч" or 
            lv == "f" or
            lv == "c" or 
            lv == "forum" or 
            lv == "chat" or 
            lv == "общение" or
            lv == "общ" or
            lv == "форум" or 
            lv == "чат" or 
            lv == "форум/чат" or 
            lv == "f/c" or 
            lv == "ф/ч" 
        then
            generateBlock(
                "Общение", 
                "Этот участник активно общается с другими участниками на стенах обсуждения, в форуме и/или чате",
                'http://vignette1.wikia.nocookie.net/wikies/images/8/85/%D0%A4.svg/revision/latest/scale-to-width-down/45?cb=20150524162328&path-prefix=ru'
            )
        elseif 
            lv == "help" or 
            lv == "helper" or 
            lv == "помощник" or 
            lv == "хелп" 
        then
            generateBlock(
                "Помощник", 
                "Этот участник является частью команды помощников Фэндома",
                'http://vignette1.wikia.nocookie.net/wikies/images/4/4f/%D0%A5.svg/revision/latest/scale-to-width-down/45?cb=20150524204905&path-prefix=ru'
            )
        elseif 
            lv == "edit" or 
            lv == "editor" or 
            lv == "редактор" or 
            lv == "с" 
        then
            generateBlock(
                "Редактор", 
                "Этот участник занимается написанием и правкой статей",
                'http://vignette1.wikia.nocookie.net/wikies/images/d/da/%D0%A1.svg/revision/latest/scale-to-width-down/45?cb=20150524162328&path-prefix=ru'
            )
        elseif 
            lv == "design" or 
            lv == "designer" or 
            lv == "дизайн" or 
            lv == "дизайнер" or 
            lv == "д" 
        then
            generateBlock(
                "Дизайнер", 
                "Этот участник занимается визуальным оформлением википроектов",
                'http://vignette3.wikia.nocookie.net/wikies/images/5/52/%D0%94.svg/revision/latest/scale-to-width-down/45?cb=20150524162327&path-prefix=ru'
            )
        elseif 
            lv == "dev" or 
            lv == "code" or 
            lv == "develop" or 
            lv == "script" or 
            lv == "developer" or 
            lv == "п" or 
            lv == "программист" or 
            lv == "разработчик" 
        then
            generateBlock(
                "Разработчик", 
                "Этот участник занимается разработкой и написанием программных компонентов, облегчающих работу с Фэндомом",
                'http://vignette2.wikia.nocookie.net/wikies/images/1/18/%D0%9F.svg/revision/latest/scale-to-width-down/45?cb=20150524162328&path-prefix=ru'
            )
        elseif 
            lv == "admin" or 
            lv == "administrator" or 
            lv == "админ" or 
            lv == "администратор" or 
            lv == "а" 
        then
            generateBlock(
                "Админ", 
                "Этот участник занимается администрированием википроектов",
                'http://vignette2.wikia.nocookie.net/wikies/images/2/28/%D0%90.svg/revision/latest/scale-to-width-down/45?cb=20150524204938&path-prefix=ru'
            )
        elseif 
            lv == "blog" or 
            lv == "blogger" or 
            lv == "блоги" or 
            lv == "блоггер" or 
            lv == "б" 
        then
            generateBlock(
                "Блоги", 
                "Этот участник занимается написанием блогов",
                'http://vignette1.wikia.nocookie.net/wikies/images/2/2b/%D0%91.svg/revision/latest/scale-to-width-down/45?cb=20150524162327&path-prefix=ru'
            )
        elseif 
            lv == "staff" or 
            lv == "стафф" or 
            lv == "сотрудник" 
        then
            generateBlock(
                "Staff", 
                "Этот участник является сотрудником Фэндома",
                'http://vignette1.wikia.nocookie.net/wikies/images/6/6e/%D0%A1%D1%82%D0%B0%D1%84%D1%84.svg/revision/latest/scale-to-width-down/45?cb=20150524204923&path-prefix=ru'
            )
        elseif 
            lv == "tem" or 
            lv == "temp" or
            lv == "template" or
            lv == "ш" or
            lv == "шаблоны"
        then
            total:node(generateBlock(
                "Шаблоны", 
                "Этот участник занимается созданием шаблонов",
                'http://vignette2.wikia.nocookie.net/wikies/images/2/21/%D0%A8.svg/revision/latest/scale-to-width-down/45?cb=20150524162427&path-prefix=ru'
            ))
        elseif 
            lv == "vstf" or 
            lv == "встф" 
        then
            generateBlock(
                "VSTF", 
                "Этот участник является частью команды VSTF",
                'http://vignette3.wikia.nocookie.net/wikies/images/2/27/%D0%92%D1%81%D1%82%D1%84.svg/revision/latest/scale-to-width-down/45?cb=20150524163323&path-prefix=ru'
            )
        end
    end
    return tostring(total)
end
 
function infohelp.skill(frame)
    local total = mw.html.create("div")
        :css({
            ["text-align"] = "center", 
            ["width"] = "100%", 
            ["margin"] = "0px auto"
        })
    function generateBlock(text, title, lineHeight, lvlValue)
        local returnThis = mw.html.create("div")
            :css({
                ["background"] = "white",
                ["color"] = "#6C93B1",
                ["width"] = "44px",
                ["height"] = "44px",
                ["vertical-align"] = "middle",
                ["display"] = "inline-block",
                ["margin"] = "2px",
                ["cursor"] = "help",
                ["border"] = "1px solid #6C93B1",
                ["line-height"] = lineHeight
            })
            :wikitext('<b>'..text..'</b>')
 
        local lvl = {
            ["0"] = {' (на уровне копировать/вставить)', 'Уровень 0'},
            ["1"] = {' (на низком уровне)', 'Уровень 1'},
            ["2"] = {' (на среднем уровне)', 'Уровень 2'},
            ["3"] = {' (на высоком уровне)', 'Уровень 3'},
            ["bot"] = {'', ''}
        }
        local lvlResult
        if lvl[lvlValue] == nil then
            lvlResult = {'', '???'}
        else
            lvlResult = lvl[lvlValue]
        end
 
        title = title..lvlResult[1]
        returnThis
            :node(
                mw.html.create("div")
                :css("font-size", "8px")
                :wikitext("<b>"..lvlResult[2].."</b>")
            )
 
        total:node( returnThis:attr("title", title) )
    end
 
    local abilities = mw.text.split(frame.args[1], "[,%s]+")
    for i, v in ipairs(abilities) do
        abilities[i] = mw.text.split(v, "-")
    end
    for i, uv in ipairs(abilities) do
        local v = string.lower(uv[1])
        local skillLvl = uv[2]
        if 
            v == "html" or 
            v == "h" 
        then
            generateBlock(
                '[[wikipedia:ru:HTML|<span style="color:#6C93B1; font-size: 12px;"><html></span>]]', 
                "Этот участник владеет HTML", 
                "21px", 
                skillLvl
            )
        elseif v == "css" then
            generateBlock(
                '[[CSS|<span style="color:#6C93B1; font-size: 17px;">.CSS</span>]]', 
                "Этот участник владеет CSS", 
                "21px", 
                skillLvl
            )
        elseif 
            v == "js" or 
            v == "javascript" 
        then
            generateBlock(
                '[[JavaScript|<span style="color:#6C93B1; font-size: 17px;">{JS;}</span>]]', 
                "Этот участник владеет JavaScript", 
                "21px", 
                skillLvl
            )
        elseif 
            v == "wikitext" or 
            v == "wt" or 
            v == "викитекст" or 
            v == "разметка" or 
            v == "викиразметка" or 
            v == "w" 
        then
            generateBlock(
                '[[Викиразметка|<span style="color:#6C93B1; font-size: 15px;">'..mw.text.nowiki("[[W]]")..'</span>]]', 
                "Этот участник владеет вики-разметкой", 
                "21px", 
                skillLvl
            )
        elseif 
            v == "bot" or 
            v == "бот" 
        then
            generateBlock(
                '[[Категория:BOT|<span style="color:#6C93B1; font-size: 17px;">БОТ</span>]]', 
                "Этот участник имеет собственного бота", 
                "41px", 
                "bot"
            )
        elseif v == "lua" then
            generateBlock(
                '[[Lua|<span style="color:#6C93B1; font-size: 17px;">Lua</span>]]', 
                "Этот участник владеет Lua", 
                "21px", 
                skillLvl
            )
        end
    end
    return tostring(total)
end
 
function infohelp.lang(frame)
    local total = mw.html.create("div")
        :css({
            ["margin"] = "0px auto", 
            ["text-align"] = "center"
        })
    function generateBlock(lang, lvlValue)
        local langText = mw.language.fetchLanguageName(lang)
        local lvlTable = {
            ["n"] = {
                ["color"] = "#4A8533",
                ["text"] = "Родной"
            },
            ["5"] = {
                ["color"] = "#59BC33",
                ["text"] = "Уровень 5"
            },
            ["4"] = {
                ["color"] = "#80C833",
                ["text"] = "Уровень 4"
            },
            ["3"] = {
                ["color"] = "#B6FF39",
                ["text"] = "Уровень 3"
            },
            ["2"] = {
                ["color"] = "#F1F133",
                ["text"] = "Уровень 2"
            },
            ["1"] = {
                ["color"] = "#EF9B0F",
                ["text"] = "Уровень 1"
            },
            ["0"] = {
                ["color"] = "#FF3333",
                ["text"] = "Уровень 0"
            },
            ["?"] = {
                ["color"] = "#959595",
                ["text"] = "???"
            }
        }
 
        lvlTable["N"] = lvlTable["n"]
 
        if lang == 'nan' then
            langText = mw.language.fetchLanguageName('zh-min-nan')
        elseif lang == 'bua' then
            langText = 'Буряад хэлэн'
        elseif mw.text.trim(langText) == '' then
            langText = 'Вавилон не удалось распознать. Пожалуйста, проверьте Викии Вики:Вавилон на правильность написания и наличие языка. Если язык существует, вавилона на странице нет, а он написан правильно — обратитесь к администратору на стену.'
        end
 
        local length
        if #lang == 2 then
            length = '18px'
        elseif #lang == 3 then
            length = '15px'
        elseif #lang == 4 then
            length = '13px'
        elseif #lang == 5 then
            length = '11px'
        elseif #lang == 6 or #lang == 7 then
            length = '8px'
        elseif #lang >= 8 then
            length = '7px'
        end
 
        if lvlTable[lvlValue] ~= nil then
            total:node( mw.html.create("div")
                :attr('title', langText)
                :css({
                    ["background"] = lvlTable[lvlValue].color,
                    ["color"] = "black",
                    ["width"] = "40px",
                    ["height"] = "40px",
                    ["display"] = "inline-block",
                    ["vertical-align"] = "middle",
                    ["margin"] = "2px",
                    ["line-height"] = "21px",
                    ["font-size"] = length,
                    ["cursor"] = "help"
                })
                :wikitext( string.upper(lang) )
                :node(
                    mw.html.create("div")
                    :css('font-size', '8px')
                    :wikitext(lvlTable[lvlValue].text)
                )
            )
        end
    end
    local langs = mw.text.split(frame.args[1], "[,%s]+")
    for i, v in ipairs(langs) do
        langs[i] = mw.text.split(v, "-")
    end
    for i, v in ipairs(langs) do
        -- for babel that contains "-"
        if #v == 3 then
            v[1] = v[1]..'-'..v[2]
            v[2] = v[#v]
            v[3] = nil
        end
        if v[2] ~= nil then
            generateBlock(v[1], v[2])
        end
    end
 
    return tostring(total)
end
 
function infohelp.bot(frame)
    local inputFrame = mw.text.split(frame.args[1], '/')
    local bots = mw.text.split(inputFrame[1], ';')
    local soft = inputFrame[2] or 'неизвестно'
 
    for i, v in ipairs(bots) do
        v = mw.text.split(v, ':')
        local user = v[1]
        local wiki = v[2] ~= nil and 'w:c:'..v[2]..':' or ''
 
        bots[i] = '['..'['..user..']] (['..'['..wiki..'User:'..user..'|профайл]])' 
    end
 
    return table.concat(bots, '<br/>')..'<br/>ПО: '..soft
end
 
return infohelp

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики