Вікіпедыя:Механізм шаблонаў
Шаблоны — клас асаблівых старонак у MediaWiki (праграмным забеспячэнні Вікіпедыі), змесціва якіх можна ўставіць у іншыя старонкі. Прычым гэта змесціва счытваецца пры кожнай загрузцы старонкі: змены ў шаблоне выявяцца на старонках, іх прымяняюць (за выключэннем выпадку, калі шаблон выкарыстоўваецца з падстаноўкай, — гл. ніжэй). Ніжэй апісваецца, як яны працуюць.
Агульныя звесткі
правіцьСтаронкі шаблонаў — паўнацэнныя вікі-дакументы, для якіх адведзена свая прастора назваў «Шаблон». У Вікіпедыі іх дазволена правіць любому ўдзельніку.
Выклікаецца шаблон устаўкай у рэдагуемы тэкст старонкі запісу {{імя шаблона}}
і, калі трэба, пасля імені шаблона запісваюцца значэнні параметраў. Першая літара імені можа быць малой ці вялікай — без розніцы. Пры адлюстраванні старонкі на месцы выкліку будзе разгорнута змесціва старонкі Шаблон:Імя шаблона. Калі старонка не існуе, то выклік будзе адлюстраваны як спасылка на неіснуючы артыкул шаблона. Таму, каб не з’яўлялася чырвоная спасылка «Шаблон:Неіснуючы шаблон», пераканайцеся ў існаванні выкліканых шаблонаў праз папярэдні прагляд старонкі да захавання праўкі.
Калі ўявіць, што ў асноўнай прасторы назваў існуе артыкул Імя шаблона, то можна выклікаць яго, паставіўшы перад імем шаблона двукроп’е: {{:Імя шаблона}}
. Такім чынам, любую старонку можна выкарыстоўваць як шаблон. Калі выклікаць малюнак, загружаны ў Вікіпедыю, а не на Вікісховішча ({{Файл:Імя шаблона}}
) ці катэгорыю ({{Катэгорыя:Імя шаблона}}
), то будзе падстаўлена апісальная частка карцінкі або катэгорыі адпаведна. Такім спосабам зручна:
- эксперыментаваць з шаблонамі (не залазячы ў прастору шаблонаў),
- «выцягваць» подпісы і апісанні малюнкаў,
- вырабляць адмысловыя састаўныя артыкулы (напрыклад, для друку).
Калі ў редагуемую старонку ўставіць выклік шаблона {{/Імя падстаронкі}}
, то ў гэтым месцы ў працэсе перадпрагляду адлюструецца змесціва яе падстаронкі. У прасторы імён «Вікіпедыя» часта выкарыстоўваецца шаблон {{/Шапка}}
. Калі перайсці ў рэжым рэдагавання старонкі Вікіпедыя:Запыты на статус даглядчыка, то ў яе пачатку можна ўбачыць выклік шаблона {{/Шапка}}
. У рэжыме перадпрагляду адлюстроўваецца тэкст падстаронкі Вікіпедыя:Запыты на статус даглядчыка/Шапка.
Выкарыстанне шаблонаў
правіцьКаб выкарыстаць шаблон, неабходна ўставіць тэкст выкліку шаблона, у выніку чаго ў месцы выкліку ў рэдагуемым тэксце з’яўлецца змест іншай старонкі.
Напрыклад, калі вы ўвядзеце ў рэдактар наступны код выкліку шаблона {{*}}
, чытач убачыць · . У дадзеным прыкладзе выкарыстоўваўся Шаблон:*.
Знайсці неабходны шаблон можна ў спецыяльнай службовай катэгорыі.
На старонцы шаблона звычайна ёсць загатоўка для яго выкліку, напрыклад:
{{Штучны спадарожнік | назва = | арыгінальная назва = | выява = | памер = | подпіс = | арганізацыя = | краіна = | распрацоўшчык = | мэта = | спадарожнік = | касмічная праграма = | папярэдні = | наступны = | абарачэнняў = | час запуску = | касмадром = | ракета-носьбіт = | тэрмін працы = | канец працы = | NSSDC_ID = | сайт = | маса = | арбіта = | вялікая паўвось = | эксцэнтрысітэт = | нахіленне = | перыяд абарачэння = | апагей = | перыгей = }}
Гэтую загатоўку можна скапіраваць і ўставіць у патрэбны артыкул. Як можна ўбачыць у прыкладзе ніжэй, у шаблоне ёсць шмат параметраў, аднак не абавязкова капіраваць ці запаўняць кожную графу:
{{Штучны спадарожнік | назва = БелКА | арганізацыя = | краіна = {{Сцяг Беларусі}} [[Беларусь]] | распрацоўшчык = | мэта = | спадарожнік = [[Планета Зямля|Зямлі]] | час запуску = 20:43 [[26 ліпеня]] [[2006]] | касмадром = {{Сцяг Расіі}} [[Касмадром Байканур|Байканур]] | ракета-носьбіт = {{Сцяг Расіі}} {{Сцяг Украіны}} [[Днепр-1]] }} |
|
Параметры
правіцьПараметры шаблона могуць быць найменнымі або нумараванымі. Сінтаксіс выкліку шаблона і спосаб выкарыстання параметраў у целе шаблона ў гэтых двух выпадках будуць адрознівацца:
{{назва шаблона|назва параметра 1=значэнне параметра 1|назва параметра 2=значэнне параметра 2}}
— выкарыстоўваюцца найменныя параметры. Тады ў целе шаблона трэба спасылацца на імя параметра:{{{імя параметра 1}}}
,{{{імя параметра 2}}}
.{{імя шаблона|значэнне параметра 1|значэнне параметра 2}}
або{{імя шаблона|1=значэнне параметра 1/2=значэнне параметра 2}}
— выкарыстоўваюцца нумараваныя параметры. Тады ў целе шаблона трэба выкарыстоўваць парадкавы нумар параметра{{{1}}}
,{{{2}}}
.
Звярніце ўвагу, што фігурныя дужкі вакол імён параметраў патройныя, а не падвойныя.
Параметры, прысутныя ў выкліку шаблона, але адсутныя ў целе шаблона, ігнаруюцца. Найменныя параметры адчувальныя да рэгістра сімвалаў.
Пры выкліку шаблона выконваюцца два тыпы падстановак:
- імя шаблона ў двайных фігурных дужках замяняецца змесцівам шаблона;
- імя або нумар параметра шаблона ў патройных фігурных дужках замяняецца значэннем параметра.
Параметрам шаблона можа быць спасылка на іншы артыкул. Хай, напрыклад, у нас ёсць такі шаблон:
Пачатак {{{1}}} канец.
і ён завецца «Шаблон». Тады пры выкліку шаблона ў тэксце старонкі запісам
{{Шаблон|[[Галоўная старонка]]}}
шаблон будзе разгорнуты ў
Пачатак [[Галоўная старонка]] канец.
Нявызначаныя і пустыя значэнні параметраў
правіцьКалі ў радку выкліку шаблона з найменнымі ці нумараванымі параметрамі параметр не атрымаў значэнне, то ён застаецца нераскрытым тэкстам: з найменнымі параметрамі {{{параметр 1}}}
, з нумараванымі параметрамі {{{1}}}
. Параметр будзе раскрыты ў далейшым, калі артыкул, які выклікаў шаблон, уключаецца ў іншы артыкул, дзе гэты параметр зададзены.
Заўважым, што выклік шаблона з найменнымі параметрамі {{шаблон 1|параметр 1=|параметр 2=а}}
робіць параметр «параметр 1» вызначаным, роўным пустому радку. Выклік {{шаблон 1|параметр 2=а}}
задае параметр «параметр 2», «параметр 1» не вызначаны.
Аналагічна для шаблона з нумараванымі параметрамі: выклік {{шаблон 2||а}}
робіць першы параметр вызначаным, роўным пустому радку, выклік {{шаблон 2|2=а}}
) задае другі параметр, першы параметр не вызначаны.
Калі код паміж вертыкальнымі рысамі змяшчае знак роўнасці (напрыклад, а=б), выклік шаблона {{шаблон|а=б|в}}
не прысвоіць значэнне «а=б» нумараванаму параметру «1», а створыць параметр «а» са значэннем «б»; а вось {{шаблон|1=а=б|2=в}}
усё зробіць правільна. Адзіны мінус у тым, што пры выкліку шаблона даводзіцца нумараваць усе параметры шаблона, калі нумаруецца хоць адзін. Для ўстаўкі сімвала роўнасці ў значэнне параметра можна выкарыстоўваць лічбавую спасылку на гэты сімвал (англ.: numeric character reference), запісаўшы =
, ці выкарыстоўваць спецыяльны шаблон {{=}}, які ўстаўляе сімвал «=».
Умоўнае значэнне параметра
правіцьКаб не з’яўляўся нераскрыты тэкст параметра з незададзеным значэннем, выкарыстоўваюць умоўнае значэнне параметра ў тэксце шаблона. Найменны або нумараваны параметр параметр унутры шаблона запісваецца ў форме {{{параметр|альтэрнатыўны тэкст}}}
. Калі значэнне параметра не зададзена ў выкліку шаблона, то будзе выкарыстаны альтэрнатыўны тэкст; калі зададзена значэнне параметра (у тым ліку пустое), то выкарыстоўваецца зададзенае значэнне. Напрыклад, альтэрнатыўны тэкст пусты: {{{параметр|}}}
. Тады калі значэнне параметра зададзена пры выкліку шаблона — выкарыстоўваецца зададзенае значэнне; калі значэнне параметра не зададзена — выкарыстоўваецца пустое значэнне, гэта значыць у месцы параметра ніякі тэкст выводзіцца не будзе.
У залежнасці ад значэння параметра шаблона ў тэкст артыкула можна ўстаўляць фрагменты. Для гэтай мэты ў тэксце шаблона выкарыстоўваюцца функцыі парсера, многія з якіх з’яўляюцца асобнымі выпадкамі ўмоўнага аператара: {{#if}}
і іншыя. Сінтаксіс функцыі {{#if}}
выглядае так:
{{#if: правяраемы параметр | тэкст, калі значэнне параметра запоўнена | тэкст, калі значэнне параметра пустое }}
Тэкст, калі значэнне параметра пустое, не з’яўляецца абавязковым, таму можна выкарыстоўваць скарочаную форму:
{{#if: правяраемы параметр | тэкст, калі значэнне параметра запоўнена }}
Калі правяраемы параметр шаблона запісаны ў форме {{{параметр}}}
, то непустое значэнне параметра азначае: альбо яго значэнне зададзена непустым пры выкліку шаблона, альбо яно не зададзена і застаецца нявызначаным (і калі вывесці яго на старонку, то мы так і атрымаем: {{{параметр}}}
). Гэта значыць, мы не можам зразумець, зададзена значэнне параметра ці не. Каб мець магчымасць выклікаць шаблон з меншай колькасцю параметраў, чым у тэксце шаблона, і каб незададзеныя параметры ігнараваліся, параметры ў целе шаблона запісваюцца ў форме {{{параметр|}}}
. Калі пры выкліку шаблона зададзена непустое значэнне параметра, то яно будзе выкарыстоўвацца. У адваротным выпадку выкарыстоўваецца ўмоўнае значэнне параметра пуста.
Тэгі noinclude, includeonly, onlyinclude
правіцьУсё, што знаходзіцца паміж тэгамі <noinclude>
і </noinclude>
, будзе апрацоўвацца і паказвацца толькі ў выпадку, калі шаблон паказваецца непасрэдна, не ўключаным у іншую старонку. Магчымыя ўжыванні:
- Катэгарызацыя шаблонаў саміх па сабе, а не тых старонак, у якія шаблон уключаны. Для шаблонаў, якія маюць старонкі дакументацыі, рэкамендуецца прастаўляць катэгорыі ў іх, пры гэтым там, наадварот, выкарыстоўваецца
<includeonly>
. - Старонкі ў прасторы назваў MediaWiki.
- Тэкст з тлумачэннем таго, як выкарыстоўваць шаблон. Як правіла, для гэтага ствараецца дакументацыя шаблона.
Тэг <includeonly>
мае процілеглае дзеянне. Тэкст паміж <includeonly>
і </includeonly>
будзе апрацоўвацца і паказвацца толькі тады, калі шаблон уключаны ў артыкул. Відавочнае ўжыванне:
- уключэнне ўсіх артыкулаў, якія змяшчаюць шаблон, у катэгорыю (пры гэтым сам шаблон у катэгорыю не патрапіць).
Калі тэкст абгорнуты ў тэгі <onlyinclude></onlyinclude>, пры ўключэнні гэтай старонкі на іншую будзе выводзіцца толькі фрагмент унутры гэтых тэгаў (фрагменты, калі некалькі тэгаў). Абгортванне ў гэты тэг пэўнага фрагмента тэксту аналагічна абгортванню ўсяго астатняга тэксту старонкі, акрамя абгорнутай у <code><nowiki>onlyinclude
, у тэг noinclude
.
Не дапускайце пустых радкоў вакол канструкцый <noinclude>
і <includeonly>
, бо пусты радок будзе інтэрпрэтавацца як перанос радка, які будзе ўнесены шаблонам у артыкул.
Падстаноўка
правіцьКанструкцыя (subst:)
пасля падвойных фігурных дужак прымушае выконваць падстаноўку тэксту шаблона або нават зменнай у момант захавання старонкі, якая спасылаецца на шаблон.
Напрыклад, калі мы напішам
{{subst:CURRENTDAY}} {{subst:CURRENTMONTHNAMEGEN}} {{subst:CURRENTYEAR}}, {{subst:CURRENTTIME}} (UTC)
або ~~~~~
пры захаванні старонкі падставяцца бягучыя дата і час:
18 кастрычніка 2017, 08:57 (UTC)
у той час як
{{CURRENTDAY}} {{CURRENTMONTHNAMEGEN}} {{CURRENTYEAR}}, {{CURRENTTIME}} (UTC)
кожны раз будзе паказваць бягучы час:
16 кастрычніка 2024, 00:29 (UTC)
А наступны код выкарыстоўваецца для прывітання новых удзельнікаў:
{{subst:вітаем}} ~~~~