Moduł:Kategoria
Moduł zawiera zestaw funkcji związanych z kategoryzacją artykułów.
Funkcja | Przeznaczenie | Zapis | Opis parametrów |
---|---|---|---|
klucz | Wyznacza klucz sortowania w kategorii | {{#invoke:Kategoria|klucz|data|tytuł}}
|
|
Funkcje
edytujklucz
edytuj
- Parametry
- data (pozycyjny)
- tytuł (pozycyjny)
- Wartość zwracana
Funkcja generuje klucz sortowania o postaci *####: tytuł
. Fragment oznaczony jako #### jest generowany na podstawie daty, w taki sposób aby późniejsza data owocowała wcześniejszym wystąpieniem artykułu w kategorii. Każda liczba w dacie jest zastępowana na literę według wzorca: 0 → Z, 1 → Y, 2 → X, ..., 9 → Q.
--[[
Ten moduł realizuje funkcje związane z kategoryzacją artykułów.
]]
local p = {}
--[[
Funkcja zwraca klucz sortowania artykułu na podstawie daty napisania i tytułu.
Klucze są dobierane w taki sposób, aby artykuły były sortowane od najnowszych.
Parametry (oba pozycyjne): [1]: data (format YYYY-MM-DD); [2]: tytuł
]]
function p.klucz(frame)
local d = frame.args[1]
local t = frame.args[2]
-- Litery dobrane w taki sposób, aby sortwanie było odwrotne, tj. np. 2 > 8
local replacements = {
["0"] = "Z",
["1"] = "Y",
["2"] = "X",
["3"] = "W",
["4"] = "V",
["5"] = "U",
["6"] = "T",
["7"] = "S",
["8"] = "R",
["9"] = "Q"
}
-- Zamień datę na kod literowy (w efekcie odwraca sortowanie)
d = d:gsub("(%d)", replacements)
return "*"..d..": "..t
end
return p