Перейти к навигации Перейти к поиску
Документация модуля [ просмотр ] [ редактировать ] [ история ] [ очистка ]
Этот модуль Lua используется примерно на 45 000 страницах, и изменения могут быть широко заметны. Протестируйте изменения на подстраницах модуля / sandbox или / testcases . Обсудите изменения на странице обсуждения, прежде чем реализовывать их. Счетчик включений обновляется автоматически ( см. Документацию ). |
Этот модуль подлежит защите страницы . Это хорошо заметный модуль, который используется на очень большом количестве страниц или очень часто заменяется . Поскольку вандализм или ошибки могут повлиять на многие страницы, и даже тривиальное редактирование может вызвать значительную нагрузку на серверы, они защищены от редактирования. |
Этот модуль создает сноску для устранения неоднозначности страницы, на которую ссылается данное перенаправление. Он реализует шаблон шляпной сноски {{ redirect }}.
Использование из вики-текста
Этот модуль нельзя использовать напрямую из викитекста. Используйте вместо них шаблоны {{ redirect }} или {{ redirect2 }}.
Использование из Lua
Чтобы использовать этот модуль из Lua, сначала загрузите модуль.
local mRedirectHatnote = require ( 'Модуль: перенаправить шляпу' )
Затем модуль можно использовать со следующим синтаксисом:
mRedirectHatnote . _redirect ( перенаправление , данные , параметры , titleObj )
Смотрите также
- [[- Этот модуль создает шляпную сноску "перенаправления". Выглядит это так:- '"X" перенаправляется сюда. Чтобы узнать о других значениях, см. Y. '- Он реализует шаблон {{redirect}}.-]]local mHatnote = require ( 'Модуль: Hatnote' )local mHatList = require ( 'Модуль: список Hatnote' )local mArguments - лениво инициализироватьlocal libraryUtil = требуется ( 'libraryUtil' )локальный checkType = libraryUtil . checkTypeлокальный checkTypeMulti = libraryUtil . checkTypeMultiместный p = {}локальная функция getTitle (...)локальный успех , titleObj = pcall ( mw . title . new , ...)если успех, товернуть titleObjещевернуть нольконецконецфункция p . перенаправление ( фрейм )mArguments = require ( 'Модуль: аргументы' )локальные аргументы = аргументы . getArgs ( кадр , { parentOnly = true })--Получить количество перенаправленийместное numRedirects = ToNumber ( кадр . арг [ 1 ]) или 1- Создайте таблицу опций.местные параметры = {}варианты . selfref = args . selfrefвозврат п . _redirect ( аргументы , numRedirects , параметры )конецфункция p . _redirect ( аргументы , numRedirects , параметры , currentTitle , redirectTitle , targetTitle )- Подтвердите ввод. Не утруждайте себя проверкой currentTitle, redirectTitle или- targetTitle, так как они используются только при тестировании.checkType ( '_redirect' , 1 , аргументы , 'таблица' )checkType ( '_redirect' , 2 , numRedirects , 'число' , истина )numRedirects = numRedirects или 1checkType ( '_redirect' , 3 , параметры , 'таблица' , истина )options = options или {}currentTitle = currentTitle или mw . название . getCurrentTitle ()- Получить таблицу редиректовлокальное перенаправление = {}для я = 1 , numRedirects сделать- Вернуть ошибку, если параметр перенаправления отсутствует.если не args [ i ], товернуть mHatnote . makeWikitextError ('отсутствует параметр перенаправления' ,'Шаблон: Redirect # Errors' ,аргументы . категория)конецперенаправление [ i ] = args [ i ]конец- Сгенерируйте текст.local formattedRedirect = {}для к , v в парах ( перенаправление ) делатьformattedRedirect [ k ] = '"' .. v .. '"'конецlocal text = {mHatList . andList ( formattedRedirect ) .. '' .. ( # Перенаправление == 1 и 'перенаправления' или 'Перенаправление' ) .. 'здесь. ,mHatList . _forSee ( args , # redirect + 1 , { title = redirect [ 1 ], extratext = args . text })}текст = таблица.concat ( текст ; '' )- Функционал для добавления категорийlocal categoryTable = {}функция addCategory ( кошка )если кошка и кошка ~ = '', то- Добавляйте по индексу, чтобы избежать дублированияcategoryTable [ string.format ( '[[Категория:% s]]' , cat )] = trueконецконец- Создание категорий отслеживанияlocal mhOptions = {}для к , v в парах ( перенаправление ) делать- Нам не нужна категория отслеживания, если вызов шаблона был- скопировано прямо из документов, или если мы не в основном или в пространстве категорий.если не v : find ( '^ REDIRECT% d * $' ) и v ~ = 'TERM' -и currentTitle . namespace == 0 или currentTitle . пространство имен == 14тогдаredirectTitle = redirectTitle или getTitle ( v )если не redirectTitle или не redirectTitle . существует тогдаaddCategory ( 'Отсутствующие перенаправления' )elseif не redirectTitle . isRedirect, тогдаaddCategory ( 'Статьи с пометками о перенаправлении, нуждающиеся в проверке' )ещеlocal mRedirect = require ( 'Модуль: Перенаправление' )локальная цель = mRedirect . getTarget ( redirectTitle )targetTitle = targetTitle или цель и getTitle ( цель )если targetTitle и targetTitle ~ = currentTitle, тоaddCategory ( 'Статьи с пометками о перенаправлении, нуждающиеся в проверке' )конецконецконец- Сгенерируйте параметры для передачи в [[Module: Hatnote]].если currentTitle . namespace == 0, а не mhOptions . selfrefи redirectTitle и redirectTitle . пространство имен ~ = 0тогда- Мы находимся на главной странице, и сноска начинается с чего-то- например, «Википедия: Foo перенаправляет сюда», поэтому автоматически пометьте его как- ссылка на себя.mhOptions . selfref = trueещеmhOptions . selfref = options . selfrefконецконец- объединить все категорииместная категория = ''для k , v в парах ( таблица категорий ) делаемcategory = category .. kконецвернуть mHatnote . _hatnote ( текст , mhOptions ) .. категорияконец вернуть p