Перейти к содержанию
Главное меню
Главное меню
переместить в боковую панель
скрыть
Навигация
Заглавная страница
Указатели
Свежие правки
Случайная страница
Справка по MediaWiki
Народные Сказки
Поиск
Найти
Создать учётную запись
Войти
Персональные инструменты
Создать учётную запись
Войти
Страницы для неавторизованных редакторов
узнать больше
Вклад
Обсуждение
Редактирование:
Модуль:MetaCatDoc
Модуль
Обсуждение
English
Читать
Править код
История
Инструменты
Инструменты
переместить в боковую панель
скрыть
Действия
Читать
Править код
История
Общие
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
---*- mode: lua; coding: utf-8; -*- local p = {} local title = mw.title.getCurrentTitle().text local getArgs = require('Module:Arguments').getArgs local toroman = require('Module:Roman').convert local ft = string.format function p.main(frame) local args = getArgs(frame) title = args['title'] or title local templ = string.gsub(title, '/doc$', '') -- rm /doc local text = mw.title.new(templ,10):getContent() text = string.gsub(text, '<noinclude>.-</noinclude>', '') text = string.gsub(text, '<!--.--->', '') if string.find(text, 'YearMetaCat2') then mn = 'YearMetaCat2' elseif string.find(text, 'DecadeMetaCat') then mn = 'DecadeMetaCat' elseif string.find(text, 'CenturyMetaCat') then mn = 'CenturyMetaCat' else error('не найден модуль (YearMetaCat2/DecadeMetaCat/CenturyMetaCat)') end local ret = ';Добавляет категории:\n' local cats = string.gsub(text, '.-{{#invoke:'..mn..'|main(.-)}}.*', '%1') for _, c in ipairs(mw.text.split(cats, '|', true)) do if c ~= '' and not string.find(c, '=') then local cc = mw.text.split(c, '!', true) local c1 = mw.text.trim(cc[1]) if mn == 'CenturyMetaCat' then local c3 = mw.text.trim(cc[3] or '') local c4 = mw.text.trim(cc[4] or '') local ss if c3 ~= '' and c4 ~= '' then c3 = tonumber(c3) c4 = tonumber(c4) if c3 < 0 and c4 < 0 then ss = ft('с %s по %s века до н. э. «%s»', toroman(-c3), toroman(-c4), c1) elseif c3 < 0 and c4 > 0 then ss = ft('с %s века до н. э. по %s век «%s»', toroman(-c3), toroman(c4), c1) else ss = ft('с %s по %s века «%s»', toroman(c3), toroman(c4), c1) end elseif c3 ~= '' then c3 = tonumber(c3) if c3 < 0 then ss = ft('с %s века до н. э. «%s»', toroman(-c3), c1) else ss = ft('с %s века «%s»', toroman(c3), c1) end elseif c4 ~= '' then c4 = tonumber(c4) if c4 < 0 then ss = ft('до %s века до н. э. «%s»', toroman(-c4), c1) else ss = ft('до %s века «%s»', toroman(c4), c1) end else ss = c1 end ret = ret..'* '..ss..'\n' else -- not century ret = ret..'* '..c1..'\n' end end end local templs = '' local n = 0 for t in string.gmatch(text, '{{[^#].-}}') do t = mw.text.trim(string.sub(t, 3, -3)) t = string.gsub(t, '{{#invoke:'..mn..'|expand|', '') n = n + 1 local i = string.find(t, '|') if i then local tn = string.sub(t, 0, i-1) local a = string.sub(t, i) templs = templs..ft('* {{[[Ш:%s|%s]]%s}}\n', tn, tn, a) else templs = templs..ft('* {{[[Ш:%s|%s]]}}\n', t, t) end end if n == 1 then ret = ret..';Добавляет шаблон:\n'..templs elseif n > 1 then ret = ret..';Добавляет шаблоны:\n'..templs end return ret end return p
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «Народные Сказки» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
РуСказки:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
Отменить
Справка по редактированию
(в новом окне)
Отобразить/Скрыть ограниченную ширину содержимого