Moduuli:Valikoituja artikkeleita
Siirry navigaatioon
Siirry hakuun
Tämän moduulin ohjeistuksen voi tehdä sivulle Moduuli:Valikoituja artikkeleita/ohje
local p = {}
-- lupaavien ja hyvien artikkeleiden lista; vapaasti muokattavissa
-- pituutta listalla saa olla vaikka kuinka paljon, ei väliä
-- esimerkiksi 50 artikkelia on mahdollinen
local t = {[0]="Aninkaistensilta",
[1]="Aristoteleen matematiikka",
[2]="Atarashii naginata",
[3]="Brasilia",
[4]="Cabo de Gatan taistelu",
[5]="Eight Miles High",
[6]="Gediminas",
[7]="George Best",
[8]="Ann Morgan Guilbert",
[9]="Easy Rider – matkalla",
[10]="Juudaksenpuu",
[11]="Kulapiiri",
[12]="Limoneeni",
[13]="Ludwig Mies van der Rohe",
[14]="Matthias Akiander",
[15]="Pakurikääpä",
[16]="Pyörätuoli",
[17]="Seitsikkohikkori",
[18]="Sinitaskurapu",
[19]="Vakoilu Yhdysvaltain sisällissodassa",
[20]="Viiltäjä-Jack"}
function p.valikoi( frame )
local article_table = {}
local number_table = {}
-- satunnaisten lukujen generaattorille täytyy antaa lähtökohta, mieluiten muuttuva
-- numero ykköset fallbackeina, jos tunnuslukua ei saada
local pages = mw.site.stats.pages or 1
local articles = mw.site.stats.articles or 1
local users = mw.site.stats.users or 1
local seed = pages + articles + users
math.randomseed(seed)
local i = 1
while i < 11 do -- tätä täytyy muuttaa, jos halutaan vaikka esim. vain 8 artikkelia etusivulle; nykyinen on 10 artikkelia
local n = math.random(0, table.maxn(t))
if not valueExists(number_table, n) then
table.insert(number_table, n)
i = i + 1
end
end
for item, value in ipairs(number_table) do
local article_n = number_table[item]
local article_name = t[article_n]
local link = "[[" .. article_name .. "]]"
table.insert(article_table, link)
end
-- tähän kohtaan voidaan lisätä tulostettavien artikkelien aakkostus
return table.concat(article_table, ", ")
end
function valueExists(tbl, value)
for k,v in pairs(tbl) do
if value == v then
return true
end
end
return false
end
return p