Модуль:Песочница/Seryo93/IncrementParams

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Документация
-- STEP 1: Click on the "edit" tab at the top of the page to edit this module.

-- STEP 2: if you want to increment by a number other than 1, put that number below, after the equals sign. 
local increment = -1

-- STEP 3: Replace the example template text with the template text that you wish to increment.
local templatetext = [==========[
|метка10       = [[Географические координаты|Координаты]]
|текст10       = {{wikidata-coords|coord|12345678
|lat_deg={{{lat_deg|}}}
|lat_min={{{lat_min|}}}
|lat_sec={{{lat_sec|}}}
|lat_dir={{{lat_dir|}}}
|lon_deg={{{lon_deg|}}}
|lon_min={{{lon_min|}}}
|lon_sec={{{lon_sec|}}}
|lon_dir={{{lon_dir|}}}
|9={{#if:{{{CoordAddon|}}}|{{{CoordAddon}}}|type:city}}
|scale={{#if:{{{CoordScale|}}}|{{{CoordScale}}}|100000}}
|format=dms
|display={{#if:{{{display|}}}|{{{display}}}|title,inline}}
|yandex=1
|br=1
}}

|метка11       = Внутреннее деление
|текст11       = {{{внутреннее деление|}}}

|метка12      = {{#if:{{{вид главы|}}}|{{ucfirst:{{{вид главы}}}}}|Глава}}
|текст12      = {{wikidata|p6[!p582]|{{{глава|}}}}}

|метка13      = Основан
|текст13      = {{#if:{{{дата основания|}}}|[[{{{дата основания}}}]]}}
|викиданные13  = p571

|метка14      = Первое упоминание
|текст14      = {{#if:{{{первое упоминание|}}}|{{#ifexist: {{{первое упоминание}}}|[[{{{первое упоминание}}}]]|{{{первое упоминание}}}}}}}
|викиданные14  = p1249

|метка15      = Прежние названия
|текст15      = {{{прежние имена|}}}

|метка16      = {{#switch:{{ucfirst:{{{статус|{{{2|Населённый пункт}}}}}}}}|Посёлок городского типа=[[Посёлок городского типа|ПГТ]] с|Поселок городского типа=[[Посёлок городского типа|ПГТ]] с|{{ucfirst:{{{статус|{{{2|Населённый пункт}}}}}}}} с}}
|текст16      = {{#if:{{{статус с|}}}|[[{{{статус с}}}]]}}

|метка17      = {{{статус 1}}} с 
|текст17      = {{{статус 1 с|}}}

|метка18      = {{{статус 2}}} с 
|текст18      = {{{статус 2 с|}}}

|метка19      = [[Площадь]]
|текст19      = {{#if:{{{площадь|}}}|{{{площадь|}}} [[квадратный километр|км²]]{{#if:{{{примечание к площади|}}}|{{{примечание к площади}}}}}}}
|викиданные19  = p2046

|метка20      = {{#if:{{{вид высоты|}}}|{{ucfirst:{{{вид высоты}}}}}|[[Высота над уровнем моря|Высота центра]]}}
|текст20      = {{#if:{{{высота центра НП|}}}|{{{высота центра НП}}} [[метр|м]]}}

|метка21      = [[климат|Тип климата]]
|текст21      = {{{климат|}}}

|метка22      = Официальный язык
|текст22      = {{#if:{{{официальный язык|}}}|{{#ifexist:{{{официальный язык}}} язык|[[{{{официальный язык}}} язык{{!}}{{{официальный язык}}}]]|[[{{{официальный язык}}}]]}}}}{{#if:{{{официальный язык-ref|}}}|{{anchor|_lang_ref}} [[#_lang_note|'''*''']]}}

|метка23      = Население
|текст23      = {{#if:{{{население|}}}|{{nobr|1={{{население|}}} {{#ifeq:{{#expr:{{{население}}}*0}}|0|{{plural:{{{население}}}|человек|человека|человек}}|человек}} {{#if:{{{год переписи|}}}|([[{{{год переписи}}} год{{!}}{{{год переписи}}}]])}}}} }}
|викиданные23  = p1082

|метка24      = Плотность
|текст24      = {{#if:{{{плотность|}}}|{{{плотность}}} чел./км²}}

|метка25      = Агломерация
|текст25      = {{{агломерация|}}}

|метка26      = Национальный состав
|текст26      = {{{национальный состав|}}}

|метка27      = Конфессиональный состав
|текст27      = {{{конфессиональный состав|}}}

|метка28      = [[Названия жителей]]
|текст28      = {{{этнохороним|}}}

|метка29      = [[Часовой пояс]]
|текст29      = {{#if:{{{часовой пояс|}}}|[[UTC{{{часовой пояс}}}]]{{#if:{{{DST|}}}|, [[летнее время|летом]] [[UTC{{#ifexpr:{{{часовой пояс}}}+1>=0|+}}{{#expr:{{{часовой пояс}}}+1}}]]}}|{{wikidata/p421}}}}

|метка30      = [[Телефонный план нумерации|Телефонный код]]
|текст30      = {{Телефонный код|{{wikidata|p473|{{{телефонный код|}}}|plain=true}}|{{{страна|}}}}}

|метка31      = [[Почтовый индекс]]
|текст31      = {{{почтовый индекс|}}}
|викиданные31 = P281

|метка32      = [[Почтовый индекс|Почтовые индексы]]
|текст32      = {{{почтовые индексы|}}}

|метка33      = [[Автомобильные номера|Автомобильный код]]
|текст33      = {{{автомобильный код|}}}

|метка34      = [[{{ucfirst:{{{вид идентификатора}}}}}]]
|текст34      = {{{цифровой идентификатор|}}}

|метка35      = [[{{ucfirst:{{{вид идентификатора 2}}}}}]]
|текст35      = {{{цифровой идентификатор 2|}}}

|метка36      = [[{{ucfirst:{{{вид идентификатора 3}}}}}]]
|текст36      = {{{цифровой идентификатор 3|}}}

|метка37      = Официальный сайт
|текст37      = {{#if:{{{сайт|}}}|<span style="word-break:break-word;"><!-- Костыль для Хрома, чтобы адрес сайта переносился, а язык — нет -->{{URL|{{{сайт}}}}}</span>{{#if:{{{язык сайта|}}}|{{#if:{{{язык сайта 2|}}}|<br>}}&#32;<span style="margin-left:-0.25em;">{{ref-{{{язык сайта}}}}}|}}{{#if:{{{язык сайта 2|}}}|{{ref-{{{язык сайта 2}}}}}|}}{{#if:{{{язык сайта 3|}}}|{{ref-{{{язык сайта 3}}}}}|}}{{#if:{{{язык сайта 4|}}}|{{ref-{{{язык сайта 4}}}}}|}}{{#if:{{{язык сайта 5|}}}|{{ref-{{{язык сайта 5}}}}}|}}</span>}}
|викиданные37 = p856

|заголовок38      = {{#if:{{{add1|}}}||{{{add1n|}}}}}
|метка38      = {{{add1n|}}}
|текст38      = {{{add1|}}}

|заголовок39      = {{#if:{{{add2|}}}||{{{add2n|}}}}}
|метка39      = {{{add2n|}}}
|текст39      = {{{add2|}}}

|заголовок40      = {{#if:{{{add3|}}}||{{{add3n|}}}}}
|метка40      = {{{add3n|}}}
|текст40      = {{{add3|}}}

|заголовок41      = {{{Вставка|}}}

|внизу        = {{#if:{{{lat_deg|}}}{{wikidata|p625|plain=true}}|{{#ifeq: {{{карта страны|}}}{{{карта региона|}}}{{{карта района|}}}| 000 || {{#ifexpr: {{REVISIONSIZE}} < 10240 | <div class="mw-customtoggle-maps1 noprint" style="background: {{цвет|{{wikidata|p17|{{{странацвет|{{{страна|}}}}}}|plain=true}}}}; padding: 1px 0; min-width: 332px; width: 100%; margin:0px 1px 1px 1px;">Показать/скрыть карты</div>
<div class="mw-collapsible {{#if:{{{развернуть карты|}}}||mw-collapsed}}" id="mw-customcollapsible-maps1">
<div class="mw-collapsible-content">}}}}{{#if:{{{plus|}}}|{{wikidata-coords|НП+/ПозКарта-new
|русское название = {{{русское название|{{{1}}}}}}
|lat_deg = {{{lat_deg|}}}
|lat_min = {{{lat_min|}}}
|lat_sec = {{{lat_sec|}}}
|lat_dir = {{{lat_dir|}}}
|lon_deg = {{{lon_deg|}}}
|lon_min = {{{lon_min|}}}
|lon_sec = {{{lon_sec|}}}
|lon_dir = {{{lon_dir|}}}

|страна = {{wikidata|p17|{{{страна|}}}|plain=true}}
|территория в таблице = {{{территория в таблице|}}}
|карта страны = {{{карта страны|}}}
|в страну = {{{в страну|}}}
|A в страну = {{{A в страну|}}}
|B в страну = {{{B в страну|}}}
|C в страну = {{{C в страну|}}}
|D в страну = {{{D в страну|}}}

|регион = {{{регион|}}}
|регион в таблице = {{{регион в таблице|}}}
|карта региона = {{{карта региона|}}}
|в регион = {{{в регион|}}}
|A в регион = {{{A в регион|}}}
|B в регион = {{{B в регион|}}}
|C в регион = {{{C в регион|}}}
|D в регион = {{{D в регион|}}}

|район = {{{район|}}}
|район в таблице = {{ucfirst: {{{район в таблице|}}} }}
|карта района = {{{карта района|}}}
|в район = {{{в район|}}}
|A в район = {{{A в район|}}}
|B в район = {{{B в район|}}}
|C в район = {{{C в район|}}}
|D в район = {{{D в район|}}}

|метка A = {{{метка A|}}}
|ссылка A = {{{ссылка A|}}}
|lat_deg A = {{{lat_deg A|}}}
|lat_min A = {{{lat_min A|}}}
|lat_sec A = {{{lat_sec A|}}}
|lon_deg A = {{{lon_deg A|}}}
|lon_min A = {{{lon_min A|}}}
|lon_sec A = {{{lon_sec A|}}}

|метка B = {{{метка B|}}}
|ссылка B = {{{ссылка B|}}}
|lat_deg B = {{{lat_deg B|}}}
|lat_min B = {{{lat_min B|}}}
|lat_sec B = {{{lat_sec B|}}}
|lon_deg B = {{{lon_deg B|}}}
|lon_min B = {{{lon_min B|}}}
|lon_sec B = {{{lon_sec B|}}}

|метка C = {{{метка C|}}}
|ссылка C = {{{ссылка C|}}}
|lat_deg C = {{{lat_deg C|}}}
|lat_min C = {{{lat_min C|}}}
|lat_sec C = {{{lat_sec C|}}}
|lon_deg C = {{{lon_deg C|}}}
|lon_min C = {{{lon_min C|}}}
|lon_sec C = {{{lon_sec C|}}}

|метка D = {{{метка D|}}}
|ссылка D = {{{ссылка D|}}}
|lat_deg D = {{{lat_deg D|}}}
|lat_min D = {{{lat_min D|}}}
|lat_sec D = {{{lat_sec D|}}}
|lon_deg D = {{{lon_deg D|}}}
|lon_min D = {{{lon_min D|}}}
|lon_sec D = {{{lon_sec D|}}}
}}|{{wikidata-coords|НП/ПозКарта-new2
|русское название = {{{русское название|{{{1}}}}}}
|lat_deg = {{{lat_deg|}}}
|lat_min = {{{lat_min|}}}
|lat_sec = {{{lat_sec|}}}
|lat_dir = {{{lat_dir|}}}
|lon_deg = {{{lon_deg|}}}
|lon_min = {{{lon_min|}}}
|lon_sec = {{{lon_sec|}}}
|lon_dir = {{{lon_dir|}}}
|страна = {{wikidata|p17|{{{страна|}}}|plain=true}}
|странакарта = {{{странакарта|}}}
|название странакарта = {{{название странакарта|}}}
|регионкарта = {{{регионкарта|}}}
|название регионкарта = {{{название регионкарта|}}}
|странакарта position = {{{странакарта position|}}}
|регионкарта position = {{{регионкарта position|}}}
|районкарта position = {{{районкарта position|}}}
|карта страны = {{{карта страны|}}}
|регион = {{{регион|}}}
|карта региона = {{{карта региона|}}}
|район = {{{район|}}}
|карта района = {{{карта района|}}}
}}}}{{#ifeq: {{{карта страны|}}}{{{карта региона|}}}{{{карта района|}}}| 000 || {{#ifexpr: {{REVISIONSIZE}} < 10240 | </div></div> }}}}}}{{#if:{{wikidata|p373|{{{категория в Commons|}}}|plain=true}}|<div class="plainlinks metadata" style="border:solid #ddd;border-width:1px 0px 0px 0px;width:100%;background:#F0F0F0">{{commonslink2|{{{категория в Commons|}}}|Аудио, фото и видео}}</div>}}
]==========]

-- STEP 4: Save this module.

-- STEP 5: You can now output the incremented text with the following code:
--                {{subst:#invoke:IncrementParams|main}}
-- Or you can simply copy and paste the text from this module's documentation.

-- STEP 6: Check the output! In rare cases this module might produce false positives.
-- For example, it will change the text "[[Some link|foo3=bar]]" to "[[Some link|foo4=bar]]".
-- You can use the "show changes" function in the edit window of the template you are editing
-- to find any false positives.

-- STEP 7: When you are finished, undo your changes to this page, so that the next person
-- won't be confused by seeing any non-default values. Thanks for using this module!

local p = {}
 
local function replace(prefix, num, suffix)
    return '|' .. prefix .. tostring(tonumber(num) + increment) .. suffix .. '='
end
 
function p.main(frame)
    -- Increment the template text.
    templatetext = mw.ustring.gsub(templatetext, '|(%s*%a?[%a_%-]-%s*)([1-9]%d*)(%s*[%a_%-]-%a?%s*)=', replace)
    -- Add pre tags and escape html etc. if the pre option is set.
    if frame and frame.args and frame.args.pre and frame.args.pre ~= '' then
        templatetext = mw.text.nowiki(templatetext)
        templatetext = '<pre style="white-space:-moz-pre-wrap; white-space:-pre-wrap; '
            .. 'white-space:-o-pre-wrap; white-space:pre-wrap; word-wrap:break-word;">' 
            .. templatetext .. '</pre>'
    end
    return templatetext
end
 
return p