WikiDer > Yordam: Metatemplating - Vikipediya
Vikipediya kontekstida, metatemplatatsiya dan foydalanishni o'z ichiga oladi andozalar boshqa shablonlarni yaratish uchun asos sifatida. Biroz metatemplatlar boshqa har qanday shablon kabi ishlaydi va shunday bo'ladi transcluded. Boshqalar ishlab chiqaradi wiki belgisi parvoz paytida; bu so'l metatemplatlar va ular almashtirilgan. Metatemplating standart shablonni yaratishga imkon beradi, shu bilan ko'plab shablonlar umumiy komponentlar va formatlar to'plamidan foydalanishi mumkin.
Ibratli metatablonlar odatdagidek ishlaydi almashtirishning kamchiliklari, lekin ular ikkita kuchli nuqtadan ham foydalanadilar: almashtirish oxir-oqibat yanada samaraliroq va bu wiki formatlashning dinamik avlodini yaratishga imkon beradi. Bu transklyuziya bilan yaratilganlarga qaraganda ancha murakkab tizimlarga mos keladi.
O'zgartirish
Ikki almashtirish prefiksi mavjud: pastki:
va xavfsiz:
. Shablon o'rnini bosish o'rniga translyatsiya qilinganida farq paydo bo'ladi; bunday holatda, pastki:
shablonlar matnni mavjud bo'lgan holda, baholamasdan bosib chiqaradi xavfsiz:
shablonlar translyatsiya qilinadi.
Almashtirish, transklyuziyadan farqli o'laroq, natijada olingan shablon kiritilganda qayta baholanadi. Bu uni makro templati uchun foydali qiladi.
Bubbling
O'zgartirish pufakchalar:
- Agar A shablon B shablonni o'zgartirsa va B shablonni o'z ichiga olsa
xavfsiz:
o'z ichiga oladi,xavfsiz:
transklyuziyadan foydalanadi.pastki:
baho bermaydi. - Agar A shablon B shablonni almashtirsa va B shablon mavjud bo'lsa
xavfsiz:
o'z ichiga oladi,xavfsiz:
almashtirishdan foydalanadi.pastki:
o'rnini bosuvchi ham bo'lar edi.
Almashtirish pufakchasi almashtirish zanjiri orqali transklyuziyaga erishguncha davom etadi va bu vaqtda faqat transklyudlar ishlatiladi.
O'zgartirish uchun mo'ljallangan shablonlarni belgilash
Faqatgina almashtirish uchun mo'ljallangan shablonlar bo'lishi kerak {{faqat subst}}
ularning hujjatlar sahifalarining yuqori qismida.
Boshqa foydalanuvchilar almashtirilgan shablonlardan foydalanishni o'rganishlari uchun, oddiy shablonlarda paydo bo'ladigan yuqori darajadagi metatemallar (boshqa metatemplatlarda emas) o'zlarining mavjudligini izoh bilan belgilashlari kerak. Ushbu sharh odatda shablonning oxiriga to'g'ri keladi va shunchaki almashtirilgan shablonga havolani o'z ichiga oladi:
...<!------ Substituted from [[Template:Example]].---->...
Kechiktirilgan baholash
Kelgusida transklyuziya / almashtirishda baholanadigan birinchi almashtirish paytida matn yaratish jarayoni kechiktirilgan baholash. Shablonlar almashtirish va transklyuziyalar zanjirini yaratish uchun ishlatiladi. Kechiktirilgan baholash odatda zanjirga oxirgisidan boshqasini almashtirishni talab qiladi.
Kechiktirilgan bahoga shablon orqali boshqa shablon tomonidan viki belgisi sifatida baholanadigan matnni bosib chiqarish orqali erishish mumkin. Masalan, {{{| <}}} misol / {{{|>}}}
. Burchakli qavslar alohida wiki belgilash bloklariga kiritilgan, shuning uchun ular qo'shilmaydi. "Bo'sh" parametr nomi har doim aniqlanmaganligi sababli, burchakli qavs har doim qo'shimcha qiymat sifatida chop etiladi va natijada olingan matn <example/>
.
HTML sub'ektlari
(X) kabi HTML sub'ektlari |
(|) almashtirish paytida tarjima qilinmaydi, shuning uchun ular hech qachon baho bermaydilar. Ular faqat matnni umuman baholanishiga yo'l qo'ymaslik uchun foydalidir.
Parametrning aniqlanmagan sukutlari
Parametrlar belgilanmaganligi uchun standart qiymatlarga ega bo'lishi mumkin: {{{parameter-name | default-value}}}
Har doim sukut bo'yicha bitta parametr mavjud: noma'lum parametr. Parametr nomi chiqarib tashlanganida, standart qiymat har doim quyidagicha chiqadi: {{{| har doim bosilgan}}}
Parametrlarning aniqlanmagan sukutlari, aks holda baholanadigan matndan qochish uchun foydalidir. Masalan, matn shaklida chop etilishi kerak bo'lgan yorliqni buzish uchun:
{{{| <}}} misol / {{{|>}}}
Birinchi almashtirishdan so'ng:
<example/>
Bundan tashqari, teg baholanadi.
Parametrlar almashtirishdan oldin qayta ishlanadi, shuning uchun ularni shartli almashtirish uchun ham ishlatish mumkin. Masalan, faqat o'rnini almashtirish uchun nosubst
parametr aniqlanmagan:
{{{{{nosubst | subst:}}} misol}}
Teglar
Jingalak qavslar yorliq paydo bo'lishining oldini olish uchun burchakli qavslarni ajratib turadi, shuning uchun teglardan qochishning eng oson usuli bu parametrning aniqlanmagan sukutlari. Bu shablon qo'ng'irog'i uchun qo'shimcha xarajatlarga ega emas. Misol:
{{{| <}}} misol / {{{|>}}}
Birinchi almashtirishdan so'ng:
<example/>
Teglardan shunga o'xshash narsalardan qochib qutulish mumkin qavslar. Shu bilan bir qatorda {{dan kam}}
shablonni ishlatish mumkin, ammo unchalik samarasiz. Oldingi misol bilan bir xil natijani yaratish:
<includeonly><</includeonly>example/<includeonly>></includeonly>{{lessthan}}example/>
Bu odatda faqat uchun kerak faqat o'z ichiga oladi
, noxtlude
va nowiki
teglar. Bunday holda, dan foydalanish afzalroqdir {{faqat o'z ichiga oladi}}
, {{noxtlude}}
va {{nowiki}}
shablonlar navbati bilan:
{{includeonly | {{example}}}}
Birinchi almashtirishdan so'ng:
<includeonly>{{example}}</includeonly>
Keyingi transklyuziyalar va almashtirishlar:
![]() | Bu shablon namunasi. Shablonlar bo'yicha yordam uchun qarang Yordam: Andoza. |
Qavslar
Agar ajratilgan bo'lsa, jingalak qavslar faqat o'z ichiga oladi
teglar, boricha chop etiladi. Shuni esda tutingki, ushbu uchta teg (faqat, noinclude va nowiki) o'z ichiga joylashtirilmaydi, shuning uchun bu hiyla faqat yuqori darajadagi kodda ishlatilishi mumkin. nowiki
teglar ishlamaydi, chunki ularni almashtirish jarayoni olib tashlanmaydi. Bir nechta mumkin bo'lgan kombinatsiyalar mavjud:
{{ example}} {{example }} {{example }}
Birinchi almashtirishdan so'ng, har biri quyidagilarni ishlab chiqaradi:
{{example}}
Keyingi transklyuziyalar va almashtirishlar:
![]() | Bu shablon namunasi. Shablonlar bo'yicha yordam uchun qarang Yordam: Andoza. |
Kamroq samarali usul - bu qavslarni bosib chiqaradigan metamontajlardan foydalanish. Aksincha faqat o'z ichiga oladi
yorliqlarni ajratish, metamontajlar boshqa vikilarni belgilash bloklari ichida ishlaydi, masalan, boshqa shablon uchun argument ichida. Qavslar o'rniga qavslarni ishlatadigan umumiy maqsadlar uchun metatablonlar mavjud. Bu avvalgi misol bilan bir xil natijaga olib keladi:
{{((}} misol {{))}}
Shunga o'xshash kombinatsiyalar ishlab chiqarish uchun boshqa metababalar:
{{(}}
ishlab chiqaradi{
{{)}}
ishlab chiqaradi}
{{((}}
ishlab chiqaradi{{
{{))}}
ishlab chiqaradi}}
{{(((}}
ishlab chiqaradi{{{
{{)))}}
ishlab chiqaradi}}}
Shuningdek qarang Kategoriya: Andoza nomlari shablonlari.
Shablon {{qavslar}}, masalan, quyidagilarni ishlab chiqishi mumkin:
{{qavslar| Templatename | item1 | item2 | ... | item8}}
→ {{Templatename | 1-modda | 2-modda | ... | element8}}{{qavslar| kod = yoqilgan | Templatename | item1 | item2 | ... | item8}}
→{{Templatename | 1-modda | 2-modda | ... | element8}}
Qo'shimcha ma'lumot uchun qarang Andoza: Qavslar.
Wiki-ni belgilaydigan boshqa belgilar
Shablonni yozishda ko'pincha ushbu belgilar va ketma-ketliklardan qochib qutulish kerak, ammo kelajakdagi shablonlar bilan baholanishi kerak. Shuningdek qarang § Qavslar yuqorida. Qator tanaffuslar ko'rsatiladi n.
{{!}}
ishlab chiqaradi|
{{!!}}
ishlab chiqaradi||
{{!(}}
ishlab chiqaradi[
{{!)}}
ishlab chiqaradi]
{{!((}}
ishlab chiqaradi[[
{{!))}}
ishlab chiqaradi]]
{{=}}
ishlab chiqaradi=
{{!-}}
ishlab chiqaradi|-
{{-!-}}
ishlab chiqaradi& nbsp; n n|-
{{s-start}}
markazlashtirilgan stolning boshlanishini ishlab chiqaradi; ga qarang s-start manba kodi tafsilotlar uchun.{{oxiri}}
ishlab chiqaradi|}
{{dan kam}}
ishlab chiqaradi<
Shuningdek qarang
Ning lug'at ta'rifi metatemplate Vikilug'atda