Документация по модулю [ просмотреть ] [ изменить ] [ историю ] [ очистить ]
Реализует {{ High-use }}. Использует обновленные ботом значения из подстраниц модуля: Transclusion_count / data /, если они доступны.
Применение
{{#invoke:High-use|main|1=number of transclusions|2=discussion page, or use + notation|all-pages=|info=|demo=|form=|expiry=}}
number of transclusions
: Первый параметр - это либо статическое количество включений шаблона, либо слово «риск» (без кавычек) для отображения «очень большое количество» вместо фактического значения. Это значение будет проигнорировано, если данные включения доступны для текущей страницы.discussion page, or use + notation
: Второй параметр перегружен. Это приведет к тому, что количество включений будет отображаться как «#, ### +» вместо «приблизительно #, ###», если установлено значение «да» (без кавычек). При таком использовании значения будут округляться в меньшую сторону, а не до ближайшего числа с соответствующим количеством значащих цифр. Если установлено любое другое непустое значение, он заменит ссылку на страницу обсуждения шаблона на значение параметра (например,2=WP:VPT
вставит ссылку на WP: VPT ),|info=extra information
: Если задано непустое значение, в текст шаблона будет вставлена дополнительная информация, если в шаблоне более 10 000 включений или для параметра 1 установлено значение «риск».|demo=Template_name
: Будет использовать счетчик включений для шаблона в Template: Template_name вместо определения того, в каком шаблоне он используется. Использование заглавных букв должно точно соответствовать значению, используемому в Special: PrefixIndex / Module: Transclusion_count / data / .|form=
: Если установлено значение "editnotice", будет отображаться сообщение с использованием {{ editnotice }} вместо {{ ombox }}.|expiry=
: Устанавливает|expiry=
параметр для {{ editnotice }}.|system=in system messages
: если установлено, этот модуль выглядит как {{ Используется в системе }}. Используйте этот шаблон напрямую, поскольку он выполняет некоторые проверки.
Ниже приведены вставные замены для {{ High-use / num }}, {{ High-use / text }} и {{ High-use / risk }} с теми же параметрами:
местный p = {}- _fetch рассматривает аргумент "демонстрация".local _fetch = require ( 'Модуль: Transclusion_count' ). принестифункция p . число ( кадр , количество )если count == nil, то count = _fetch ( frame ) end- Построить строку выводаместное return_value = ""если count == nil, тоесли рамка . args [ 1 ] == "риск" тогдаreturn_value = "очень большое количество"ещеreturn_value = "много"конецеще- Используйте 2 значащие цифры для меньших чисел и 3 для больших.локальный sigfig = 2если count > = 100000, тоsigfig = 3конец- Подготовьтесь к округлению до необходимого количества сигфиговлокальный f = math.floor ( math . log10 ( count )) - sigfig + 1- Округлите и вставьте «приблизительно» или «+», когда это необходимо.если ( frame . args [ 2 ] == "yes" ) или ( mw . ustring . sub ( frame . args [ 1 ], - 1 ) == "+" ), то-- Округлить внизreturn_value = string.format ( "% s +" , mw . getContentLanguage (): formatNum ( math.floor ( ( count / 10 ^ ( f )) ) * ( 10 ^ ( f ))) )еще- Округлить до ближайшегоreturn_value = string.format ( "приблизительно & # x20;% s" , mw . getContentLanguage (): formatNum ( math.floor ( ( count / 10 ^ ( f )) + 0.5 ) * ( 10 ^ ( f ))) )конец- Вставьте процент страниц, если он, вероятно, будет> = 1%если count and count > 250000, тогдалокальный процент = math.floor ( ( ( количество / кадр : callParserFunction ( 'NUMBEROFPAGES' , 'R' ) ) * 100 ) + 0,5 )если процент > = 1, тоreturn_value = string.format ( "% s & # x20; страниц, или примерно% s %% всех" , return_value , процент )конецконецконецвернуть return_valueконец- Действия при большом (более или равном 100000) количестве включенийфункция p . риск ( фрейм )местное return_value = ""если рамка . args [ 1 ] == "риск" тогдаreturn_value = "риск"ещелокальный счетчик = _fetch ( кадр )если count и count > = 100000, тогда return_value = "risk" endконецвернуть return_valueконецфункция p . текст ( рамка , количество )- Показывать информацию о том, как этот шаблон обновляется, только если кто-то- фактически редактирует страницу и, возможно, пытается обновить счетчик.local bot_text = ( frame : preprocess ( "{{REVISIONID}}" ) == "" ) и " \ n \ n ---- \ n '' 'Предварительный просмотр сообщения' '': счетчик включений обновляется автоматически ([[Template : High-use / doc # Технические подробности | см. Документацию]]). " или ''если count == nil, то count = _fetch ( frame ) endместное название = mw . название . getCurrentTitle ()если заголовок . subpageText == "документ" или заголовок . subpageText == "песочница", затемtitle = заголовок . basePageTitleконецlocal systemMessages = frame . аргументы [ 'система' ]если рамка . args [ 'system' ] == '' тогдаsystemMessages = нольконецlocal templateCount = ( 'на [https://templatecount.toolforge.org/index.php?lang=en&namespace=%s&name=%s% s страницах]' ): format (мв . название . getCurrentTitle (). пространство имен , mw . uri . кодировать ( заголовок . текст ), стр . число ( кадр , количество ))local used_on_text = "'' 'This" .. ( mw . title . getCurrentTitle (). namespace == 828 и "модуль Lua" или "шаблон" ) .. ' используется ' ;если systemMessages, тоused_on_text = used_on_text .. systemMessages ..(( count and count > 2000 ) and ( ", '' 'and" .. templateCount ) or ( "' ''" ))ещеused_on_text = used_on_text .. templateCount .. "'' '"конецlocal sandbox_text = ( " подстраницы % s [[% s / sandbox | / sandbox]] или [[% s / testcases | / testcases]], или в ваших собственных [[% s]]." ): format (( mw . title . getCurrentTitle (). namespace == 828 и «модуль» или «шаблон» ),название . fullText , заголовок . fullText ,мв . название . getCurrentTitle (). namespace == 828 и «Модуль: Песочница | Модульная песочница» или «Википедия: Пользовательские страницы # SUB | пользовательская подстраница»)local infoArg = frame . args [ "info" ] ~ = "" и фрейм . args [ "информация" ]if ( systemMessages или frame . args [ 1 ] == "риск" или ( count and count > = 100000 ) ), тоlocal info = systemMessages и '.
Изменения в нем могут вызвать немедленные изменения в пользовательском интерфейсе Википедии.' или '.'если infoArg, тоinfo = info .. "
" .. infoArgконецsandbox_text = info .. '
Чтобы избежать серьезных сбоев' ..( count and count > = 100000 and 'and server load' or '' ) ..', любые изменения следует тестировать в' .. sandbox_text ..'Протестированные изменения могут быть добавлены на эту страницу одним редактированием. 'ещеsandbox_text = ( infoArg and ( '.
' .. infoArg .. 'C' ) или 'and c' ) ..'изменения могут быть широко замечены. Протестируйте изменения в " .. sandbox_text"конецlocal обсуждение_text = systemMessages и "Пожалуйста, обсудите изменения" или "Рассмотрите возможность обсуждения изменений"если рамка . args [ "2" ] и frame . args [ "2" ] ~ = "" и frame . args [ "2" ] ~ = "да" тогдаdiscussion_text = String.Format ( "% сел [[% S]]" , discussion_text , рамка . арг [ "2" ])ещеdiscussion_text = String.Format ( "% сын [[% S | страница обсуждения]]" , discussion_text , название . talkPageTitle . полнотекстовый )конецвернуться used_on_text .. sandbox_text .. discussion_text .. "до их реализации." .. bot_textконецфункция p . основной ( фрейм )локальный счетчик = _fetch ( кадр )local image = "[[Файл: предупреждение Ambox yellow.svg | 40px | alt = Предупреждение | ссылка =]]"локальный type_param = "стиль"местный эпилог = ''если рамка . args [ 'system' ] и фрейм . args [ 'system' ] ~ = '' тогдаimage = "[[Файл: Ambox important.svg | 40px | alt = Предупреждение | ссылка =]]"type_param = "контент"локальный nocat = кадр : getParent (). args [ 'nocat' ] или фрейм . аргументы [ 'nocat' ]локальная Categorize = ( nocat == '' или не требуется ( 'Module: YESNO' ) ( nocat ))если классифицировать тоepilogue = frame : preprocess ( '{{Sandbox other || {{# switch: {{# invoke: Эффективный уровень защиты | {{# switch: {{NAMESPACE}} | File = upload | # default = edit}} | { {FULLPAGENAME}}}} | sysop | templateeditor | interfaceadmin = | #default = [[Категория: страницы, используемые в системных сообщениях, нуждающиеся в защите]]}}}} ' )конецelseif ( frame . args [ 1 ] == "риск" или ( count and count > = 100000 )), тоimage = "[[Файл: предупреждение Ambox orange.svg | 40px | alt = Предупреждение | link =]]"type_param = "контент"конецесли рамка . args [ "form" ] == "editnotice" тогдаreturn frame : expandTemplate {title = 'editnotice' ,args = {[ "image" ] = изображение ,[ "текст" ] = стр . текст ( рамка , количество ),[ "expiry" ] = ( frame . args [ "expiry" ] или "" )}} .. эпилогещеreturn require ( 'Модуль: окно сообщения' ). main ( 'ombox' , {тип = параметр_типа ,image = изображение ,текст = стр . текст ( рамка , количество ),expiry = ( frame . args [ "срок действия" ] или "" )}) .. эпилогконецконецвернуть p