შინაარსზე გადასვლა

მოდული:TOC

გვერდიდან ვიქსიკონი

შეგიძლიათ შექმნათ დოკუმენტაცია ამ მოდულისათვის: მოდული:TOC/ინფო

local p = {}

function p.toc(frame)
    local args = frame.args
    local letters = args.letters or ""
    local categoryName = args.category
    
    local lettersList = {}
    for letter in string.gmatch(letters, "[^,]+") do
        lettersList[#lettersList + 1] = letter:gsub("^%s*(.-)%s*$", "%1")
    end
    
    if #lettersList == 0 then
        return "შეცდომა: არ არის მითითებული ასოები."
    end
    
    if not categoryName or categoryName == "" then
        local pageTitle = mw.title.getCurrentTitle().text
        categoryName = mw.ustring.match(pageTitle, "კატეგორია:(.+)")
        
        if not categoryName then
            return "შეცდომა: ეს მოდული უნდა გამოიყენოთ კატეგორიის გვერდზე ან მიუთითოთ პარამეტრი „კატეგორია“."
        end
    end
    
    -- ისრების დამალვა
    local result = "<div class=\"letter-toc\" style='margin: auto; border: 1px solid gray; padding: 10px; width:700px'>\n"
    result = result .. "'''სარჩევი:''' "
    
    for i, letter in ipairs(lettersList) do
        
        result = result .. "<span class=\"plainlinks\">[//ka.wiktionary.org/wiki/კატეგორია:" .. 
                           mw.uri.encode(categoryName) .. "?from=" .. 
                           mw.uri.encode(letter) .. " " .. letter .. "]</span>"
        
        if i < #lettersList then
            result = result .. " | "
        end
    end
    
    result = result .. "\n</div>"
    
    return result
end

return p