Створення Lua модуля для анонсів
Матеріал з The Universe of Chaos
Більше дій
local p = {}
function p.extract(frame)
local titleText = frame.args[1] if not titleText then return "" end local title = mw.title.new(titleText) if not title or not title.exists then return "" end local content = title:getContent() if not content then return "" end -- Видаляємо теги та вікі-розмітку для чистого тексту local plainText = mw.text.killMarkers(content) plainText = string.gsub(plainText, "<[^>]+>", "") plainText = string.gsub(plainText, "==+[^=]+==+", "") plainText = string.gsub(plainText, "%[%]+%|([^%+)%]%]", "%1") plainText = string.gsub(plainText, "%[%[([^%]]+)%]%]", "%1") plainText = string.gsub(plainText, "([^']+)", "%1") plainText = string.gsub(plainText, "([^']+)", "%1") -- Обрізаємо до 200 символів if mw.ustring.len(plainText) > 200 then plainText = mw.ustring.sub(plainText, 1, 200) .. "..." end return plainText
end
return p