Moduł:Wybrane sekcje
Wygląd
Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Wybrane sekcje/opis
local p = {}
function getTitle(page_name)
page_content = page_name:getContent()
local work_title = string.match(page_content, '{{center|(.*)}}')
if work_title == nil then
page_name = mw.title.new('Szablon:' .. string.match(page_content, '{{(.*)}}'))
return getTitle(page_name)
else
return work_title
end
end
function p.show_titles(frame)
local title_list = {}
local no_of_templates = 53
local link_base = 'Szablon:Główna/' .. frame.args[1] .. '/'
local last_added_work = ''
local current_week = tonumber(os.date('%V'))
table.insert(title_list, '==Obecny tydzień==')
table.insert(title_list, 'Obecny tydzień: ' .. current_week)
table.insert(title_list, '----')
page_name = mw.title.new(link_base .. current_week)
page_content = frame:expandTemplate{title = (link_base .. current_week)}
table.insert(title_list, page_content .. '<br clear="all" />')
if(frame.args[1] == "dzieło") then
table.insert(title_list, '==Wybrane dzieła==')
end
if(frame.args[1] == "osoba") then
table.insert(title_list, '==Wybrane osoby==')
end
if(frame.args[1] == "temat") then
table.insert(title_list, '==Wybrane tematy==')
end
for week_number = 1, no_of_templates, 1 do
table.insert(title_list, 'Numer tygodnia: ' .. week_number .. '<br />')
link = link_base .. week_number
page_name = mw.title.new(link)
table.insert(title_list, frame.args[1] .. ': [[' .. link .. '|' .. getTitle(page_name) .. ']]<br /><br />')
end
return table.concat(title_list, '\n')
end
function turn_into_link(text, link_target)
return '[[' .. link_target .. '|' .. text .. ']]'
end
function p.generate_titles_table(frame)
local no_of_templates = 53
local titles_table = {}
local link_base = 'Szablon:Główna/'
table.insert(titles_table, '{|class="wikitable"')
table.insert(titles_table, '!Tydzień!!Dzieło!!Osoba!!Temat')
table.insert(titles_table, '|-')
for week_number = 1, no_of_templates, 1 do
local work_title_link = link_base .. 'dzieło/' .. week_number
local person_title_link = link_base .. 'osoba/' .. week_number
local topic_title_link = link_base .. 'temat/' .. week_number
local work_title = getTitle(mw.title.new(work_title_link))
local person_title = getTitle(mw.title.new(person_title_link))
local topic_title = getTitle(mw.title.new(topic_title_link))
table.insert(titles_table, '|-')
table.insert(titles_table, '|style = "text-align: center"|' .. week_number)
table.insert(titles_table, '|style = "text-align: center"|' .. turn_into_link(work_title, work_title_link))
table.insert(titles_table, '|style = "text-align: center"|' .. turn_into_link(person_title, person_title_link))
table.insert(titles_table, '|style = "text-align: center"|' .. turn_into_link(topic_title, topic_title_link))
end
table.insert(titles_table, '|}')
return table.concat(titles_table, '\n')
end
return p