Модуль:СтихКолонки
Для документации этого модуля может быть создана страница Модуль:СтихКолонки/doc
local p = {} function p.main(frame) local args = frame.args local parentArgs = frame:getParent().args local allArgs = {} for k, v in pairs(parentArgs) do allArgs[k] = v end for k, v in pairs(args) do allArgs[k] = v end local content = allArgs[1] or '' local max_columns = tonumber(allArgs['колонок']) or 2 -- Разделяем текст на строфы по двойному переносу строки local stanzas = mw.text.split(content, 'nn') -- Формируем стиль для контейнера колонок с явным указанием всех префиксов local column_style = string.format([[ -webkit-column-count: %d; -moz-column-count: %d; column-count: %d; column-gap: 1em; ]], max_columns, max_columns, max_columns) -- Начало контейнера local result = '<div class="column-container" style="' .. column_style .. '">' for i, stanza in ipairs(stanzas) do stanza = mw.text.trim(stanza) -- Обрабатываем вики-разметку для каждой строфы отдельно stanza = frame:preprocess(stanza) result = result .. '<div>' .. stanza .. '</div>' end result = result .. '</div>' return result end return p