5261
редагування
Admin (обговорення | внесок) Немає опису редагування |
Admin (обговорення | внесок) Немає опису редагування Мітка: Скасовано |
||
| Рядок 21: | Рядок 21: | ||
page_cache[page_name] = content | page_cache[page_name] = content | ||
return content | return content | ||
end | |||
-- ================================================ | |||
-- ПІДРАХУНОК НАГОРОД | |||
-- ================================================ | |||
local function count_awards(content, section_start) | |||
-- Знаходимо таблицю після секції "Нагороди" | |||
local table_start = mw.ustring.find(content, "{|", section_start) | |||
if not table_start then return 0 end | |||
local table_end = mw.ustring.find(content, "|}", table_start) | |||
if not table_end then return 0 end | |||
local table_content = mw.ustring.sub(content, table_start, table_end) | |||
-- Рахуємо кількість рядків |- (мінус 1 для заголовка) | |||
local count = 0 | |||
for _ in mw.ustring.gmatch(table_content, "|-") do | |||
count = count + 1 | |||
end | |||
-- Перший |- це заголовок таблиці | |||
return math.max(0, count - 1) | |||
end | end | ||
| Рядок 36: | Рядок 60: | ||
local sections = {} | local sections = {} | ||
local current_pos = 1 | |||
for line in mw.ustring.gmatch(content, "[^\n]+") do | for line in mw.ustring.gmatch(content, "[^\n]+") do | ||
| Рядок 46: | Рядок 71: | ||
local processed = frame:preprocess(section_name) | local processed = frame:preprocess(section_name) | ||
processed = mw.text.trim(processed) | processed = mw.text.trim(processed) | ||
-- Перевіряємо чи це секція "Нагороди" | |||
if mw.ustring.match(section_name, "Нагороди") then | |||
local section_pos = mw.ustring.find(content, line, 1, true) | |||
if section_pos then | |||
local awards_count = count_awards(content, section_pos) | |||
if awards_count > 0 then | |||
processed = processed .. " (" .. awards_count .. ")" | |||
end | |||
end | |||
end | |||
-- Anchor | -- Anchor | ||