Заглавная
Случайная
Войти
Настройки
О Ньюпедии
Отказ от ответственности
Найти
Редактирование:
Модуль:Категории качественных
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
local p = {} local getArgs = require('Module:Arguments').getArgs local NS_CAT = mw.site.namespaces[14].name local untyped = ': не распределённые по тематике' local wrong = ' с неверным указанием тематики' local alphabet = 'по алфавиту' local function concat_category_name(prefix, target) local res = NS_CAT .. ':' .. prefix if target then if mw.ustring.len(target) > 0 then return res .. ' ' .. target else return res .. wrong end else return res .. untyped end end local function get_submodule(args) local submodule_name = args['тип'] if submodule_name == nil then error('Укажите тип (см. доступные [[Special:PrefixIndex/Module:Категории качественных/|здесь]])') end return require('Модуль:Категории качественных/' .. submodule_name) end function p.demo(frame) local args = getArgs(frame) local tt = require('Module:TableTools') local submodule = get_submodule(args) local t = mw.html.create('table'):addClass('standard') local tr = t:tag('tr') tr:tag('th'):wikitext('Название параметра') tr:tag('th'):wikitext('Соответствующая категория') local prefix = submodule.prefix function make_row(desc, cat) tr = t:tag('tr') tr:tag('td'):wikitext(desc) tr:tag('td'):wikitext('[[:' .. concat_category_name(prefix, cat) ..']]') end for k, v in tt.sortedPairs(submodule.types) do make_row(k, v) end make_row('Неверный параметр', '') make_row('Без параметров') return tostring(t) end local append = table.insert local function join(x) return mw.text.listToText(x, '\n', '\n') end function p.cats(frame) local args = getArgs(frame) local yesno = require('Module:Yesno') local submodule = get_submodule(args) local function cat(v) local target = v and (submodule.types[mw.getContentLanguage():ucfirst(v)] or '') local catname = concat_category_name(submodule.prefix, target) if target == '' then -- неправильное значение в качестве ключа сортировки для облегчения разбора local ret = '[[' .. catname .. '|' .. v .. ']]' if frame:preprocess('{{REVISIONID}}') == '' then return ret .. '<div class="hatnote" style="color:red"><strong>Предупреждение:</strong> Шаблон использует неизвестный параметр <code>' .. v .. '</code>. Список корректных параметров указан в [[' .. submodule.wrapper .. '|документации]] (это сообщение видно только при предпросмотре страницы).</div>' else return ret end else return '[[' .. catname .. ']]' end end local function cat_simple(v) return '[[' .. concat_category_name(submodule.prefix, v) .. ']]' end local ret = {} append(ret, cat_simple(alphabet)) append(ret, cat(args[1])) if args[2] then append(ret, cat(args[2])) if args[3] then append(ret, cat(args[3])) end end if args['demo'] or args['демо'] then --для документации return frame:extensionTag('pre', join(ret)) end return join(ret) end return p
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «Ньюпедия» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Ньюпедия:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
Отменить
Справка по редактированию
(в новом окне)
Показать предпросмотр страницы с этим шаблоном
Шаблон, используемый на этой странице:
Модуль:Категории качественных/doc
(
править
)