İçeriğe atla

Modül:Kanun: Revizyonlar arasındaki fark

Hukukipedia sitesinden
Kanun maddeleri için otomatik liste modülü oluştur
 
Kanun madde listesinin HTML kaçışlama sorununu düzelt
9. satır: 9. satır:
     end
     end


    -- Yanlışlıkla aşırı büyük listeler oluşturulmasını önler.
     if sayi > 2000 then
     if sayi > 2000 then
         sayi = 2000
         sayi = 2000
19. satır: 18. satır:
     end
     end


     local nav = mw.html.create("nav")
     local cikti = {
         :addClass("hk-law-articles")
         '<div class="hk-law-articles" aria-label="Kanun maddeleri">',
        :attr("aria-label", "Kanun maddeleri")
        '<div class="hk-law-articles-title">Kanun maddeleri</div>',
        '<div class="hk-law-articles-list">'
    }


    nav:tag("div")
        :addClass("hk-law-articles-title")
        :wikitext("Kanun maddeleri")
        :done()
    local liste = nav:tag("ol")
     for i = 1, sayi do
     for i = 1, sayi do
         local madde = "Madde " .. i
         local madde = "Madde " .. i
         local hedef = mw.title.new(kok .. "/" .. madde)
         local hedef = mw.title.new(kok .. "/" .. madde)
         local li = liste:tag("li")
         cikti[#cikti + 1] = "[" .. hedef:fullUrl() .. " " .. madde .. "]"
        li:tag("a")
            :attr("href", hedef:fullUrl())
            :wikitext(madde)
            :done()
        li:done()
     end
     end
    liste:done()


     return tostring(nav)
    cikti[#cikti + 1] = "</div>"
    cikti[#cikti + 1] = "</div>"
     return table.concat(cikti, "\n")
end
end


return p
return p

13.52, 31 Ağustos 2026 tarihindeki hâli

Bu modül için bir Modül:Kanun/belge belgelendirmesi oluşturabilirsiniz

local p = {}

function p.maddeListesi(frame)
    local sayi = tonumber(frame.args["sayı"] or frame.args["madde_sayısı"] or "0") or 0
    sayi = math.floor(sayi)

    if sayi < 1 then
        return '<div class="hk-law-empty">Madde sayısı belirtilmemiş.</div>'
    end

    if sayi > 2000 then
        sayi = 2000
    end

    local kok = frame.args["kök"]
    if not kok or kok == "" then
        kok = mw.title.getCurrentTitle().prefixedText
    end

    local cikti = {
        '<div class="hk-law-articles" aria-label="Kanun maddeleri">',
        '<div class="hk-law-articles-title">Kanun maddeleri</div>',
        '<div class="hk-law-articles-list">'
    }

    for i = 1, sayi do
        local madde = "Madde " .. i
        local hedef = mw.title.new(kok .. "/" .. madde)
        cikti[#cikti + 1] = "[" .. hedef:fullUrl() .. " " .. madde .. "]"
    end

    cikti[#cikti + 1] = "</div>"
    cikti[#cikti + 1] = "</div>"
    return table.concat(cikti, "\n")
end

return p