Перейти к навигации Перейти к поиску
Документация по модулю [ просмотреть ] [ изменить ] [ историю ] [ очистить ]
Этот модуль оценен как альфа . Он готов для стороннего ввода и может использоваться на нескольких страницах, чтобы увидеть, возникают ли проблемы, но за ним следует следить. Приветствуются предложения по новым функциям или изменениям в их механизмах ввода и вывода. |
Использование [ править ]
{{#invoke:Transclude DYK|main}}
- Основная документация: {{ Transclude DYK / doc }}
Включает случайно выбранные слова "Знаете ли вы?" записи из списка.
См. Также [ править ]
местный p = {}- Включить случайно выбранный вариант «Знаете ли вы?» записифункция p . основной ( фрейм )- args = {1,2, ... = имена страниц, абзацы = список, например, "1,3-5", files = list, more = text}local args = {} - args [k] = frame.args [k] или frame: getParent (). args [k] для всех k в любом (числовом или нет)для к , V в парах ( кадр : GetParent . () арг ) делают арг [ K ] = v конецдля k , v в парах ( frame . args ) do args [ k ] = v end - аргументы из вызова Lua имеют приоритет над родительскими аргументами из шаблона- Прочтите страницу вводаlocal page = args [ 1 ] или ошибка ( "Имя страницы не указано" )местное название = mw . название . новая ( страница ) или ошибка ( "Отсутствует страница ввода" .. страница )local text = title : getContent () или error ( "Нет содержимого для страницы" .. страница )- Ограничьтесь разделом DYK, если он естьlocal sectionstart = mw . ustring . find ( текст , " \ n == '' Знаете ли вы? '' article ==" , 1 , верно )если sectionstart, толокальная секцияend = mw . ustring . find ( текст , " \ n ==" , sectionstart + 1 , true ) или - 1текст = mw . ustring . к югу ( текст , sectionstart , sectionend )конец- Разобрать записизаписи = {}для записи в мв . ustring . gmatch ( текст , « \ n % * [.…% s] * ([^ \ n ] +)» ) делатьесли не мв . ustring . find ( запись , "отсутствует рекламное объявление на странице обсуждения статьи" , 1 , истина ), затемtable.insert ( записи , запись )конецконец- Поменять несколько случайных записей на первые n позицийлокальная п = Math.min ( # записи , арг . кол или 10 ) - количество записей , чтобы произвестиmath.randomseed ( os.time ())для i = 1 , n сделатьj = math.random ( i , # записей )записи [ i ], записи [ j ] = "* ..." .. записи [ j ], записи [ i ]конец- Вернуть первые n записейтекст = table.concat ( записи , " \ n " , 1 , n ) кадр возврата : препроцесс ( текст )конецвернуть p