Vikipedi:TemplateData/Rehber

Vikipedi, özgür ansiklopedi

TemplateData (Şablon verisi), şablonla ilgili bilgileri (parametre adları veya şablon açıklaması gibi) depolamanın bir yoludur. Böylece VisualEditor bu bilgileri alabilir ve şablon düzenleyicisine bu bilgileri gösterilebilir. TemplateData ile yapabileceğiniz hiçbir şey mevcut şablonun işlevselliğini etkilemez veya "bozamaz" (TemplateData'ya yanlış girilen bilgiler kullanıcıları yanıltabilir. Hatalı bilgi verilmemesi için dikkatli olunması gerekir).

TemplateData, kullanıcıların şablon araçlarıyla kolayca şablon ekleyebilmesini veya düzenleyebilmesini sağlar ve mw:MediaWiki'deki TemplateData uzantısı tarafından denetlenir. TemplateData eklemek karmaşık gelse de, aslında çok kolaydır.

TemplateData nasıl kullanılır[kaynağı değiştir]

TemplateData'nın yapısı[kaynağı değiştir]

TemplateData'nın yapısı JSON biçiminde kodlanmıştır ve oldukça basittir. Yapılacak ilk şey, şablon sayfasının kendisine veya varsa şablonun belgeleme sayfasına <TemplateData> etiketi eklemektir:

<TemplateData>
TemplateData buraya gelir
</TemplateData>

Not: Yukarıdaki kod örnek olduğu için yanlıştır ve bu nedenle kullanıldığında JSON hatası verir; daha fazla bilgi için aşağıdaki #TemplateData bilgilerini tamamlama başlığına bakın.

Bu, yazılıma iki etiket arasındaki her şeyin TemplateData olduğunu ve şablon düzenlenirken kullanılması gerektiğini söyler. TemplateData, şablon içinde ayarlanabilecek parametreleri tanımlayan standart bir düzendedir.

TemplateData[kaynağı değiştir]

TemplateData, şablon sayfasına <noinclude> </noinclude> etiketlerinin arasında olacak şekilde veya varsa şablonun belge sayfasında herhangi bir yerine eklenir. Bazı durumlarda, kötü niyetli kullanıcılar tarafından düzenlenmesini önlemek için şablon sayfası koruma altına alınır. Bu durumda, TemplateData yalnızca belge sayfasına eklenebilir.

TemplateData genellikle belgeleme sayfasına, şablonla ilgili açıklayıcı bilgilerden sonra yerleştirilir.

Parametrelerin tanımlanması[kaynağı değiştir]

Şablonda parametre yoksa, basit bir  "params": {} kodu ile TemplateData'yı tamamlayabilirsiniz. Bu satırı koymazsanız, sayfayı kaydedemezsiniz. Bu, TemplateData'ya parametreleri tanıtır.

Bununla birlikte, çoğu şablonda tarihler, URL'ler, makale adları, resimler, sayılar veya metinler gibi parametreler bulunur. İlk olarak, şablonda hangi parametrelerin kullanılabildiğini belirleyin. Parametreler eşittir işareti ile geçirilebilir. Örneğin, {{web kaynağı}} şablonu url=, başlık=, erişimtarihi= vb. parametrelerini kullanır. Bunun yerine bazen pozisyonlarına göre başka parametreler de kullanılabilir. Bu durumda, parametrelerin adları yerine "1", "2" vb. sayıları kullanın. Şablon belgesi genellikle bir şablonda hangi parametrelerin hangi amaçlarla kullanılabileceğini açıklar.

TemplateData bilgilerini tamamlama[kaynağı değiştir]

Unutmayın, TemplateData bilgileri yalnızca bir şablonun kullanıcılar tarafından nasıl kullanılması gerektiğiyle ilgili bilgileri gösterir. Burada yaptığınız hiçbir şey alakalı şablonu etkilemez, ancak TemplateData bilgilerini yanlış girmek bu şablonu kullanmaya çalışan kullanıcılar için sorunlara neden olabilir.

Doldurulması gereken ilk bilgi, şablonun amacını açıklayan bir açıklamadır "description"; açıklama, şablonun ne yaptığını kısaca açıklar ve kullanıcıya şablonu nerede ve nasıl kullanılması gerektiğini gösterir. Şablon, başka bir kullanıcı tarafından oluşturulmuş ve şablonun açıklamasını belge sayfasına yazmışsa, bu açıklamayı kopyalayıp TemplateData'daki açıklamaya yapıştırabilirsiniz. Açıklamayı tırnak içine koyun ve tırnağı kapattıktan sonra bir virgül koyun "description": "Bu şablon, Hırvat futbolcular için bir bilgi kutusudur",. TemplateData'da [[Hırvat futbolcular]] gibi iç bağlantıların ve diğer vikikodlarının yok sayıldığını unutmayın.

Daha sonra, ({ ve }) içeren bir "params" bloğu oluşturmalısınız. Bu bloğun içinde, şablon tarafından kullanılan her parametre için aşağıda gösterildiği şekilde bilgiler girmelisiniz. Çoğu isteğe bağlıdır, ancak ne kadar fazla bilgi girerseniz başka kullanıcıların şablonu kullanması o kadar kolay olur.

  • Yazılım tarafından okunacak parametre için kısa bir isim "name" girin. Girerseniz ve şablonda birden fazla kelime içeren bir parametre adı varsa, bunlar her zaman bir alt çizgiyle ayrılmalıdır: _ örnek olarak: okyanus_boyutu (yani, parametre adları boşluk içeremez). Parametreyi tırnak işaretleri arasında yazın, parametreden sonra gelen tırnağın sağına iki nokta yerleştirin, { ve } ayraçlarıyla blok oluşturun. Örnek olarak: "okyanus_boyutu": { } veya "derinlik": { }.
    • "label" (etiket) kodu, şablon düzenleme aracında, parametrenin adı olarak görüntülenecek bir başlıktır. İlk harfini büyük yazmanız önerilir ve tırnak işaretleri arasına şu şekilde koyun: "Okyanus büyüklüğü":.
    • "description" (açıklama) kodu parametrenin açıklamasını gösterir. Şablonun tamamının değil, belirli parametrenin açıklamasıdır. Parametrenin ne işe yaradığını kullanıcılara anlatmayı sağlar. Bu, şablonun belge sayfasında zaten yazılmışsa kopyalanıp yapıştırabilirsiniz. Bu bilgiyi tırnak içine alın. Açıklamanızda tırnak işareti kullanmak istiyorsanız, tırnak işaretinin soluna eğik çizgi \ koyabilirsiniz. Örnek olarak "Bu parametre okyanusun \" boyutunu\" gösterir" Bununla birlikte, metnin bir içerisinde gerçek bir ters eğik çizgiye \ ihtiyacınız olması durumunda, \\ şeklinde iki tane koyarak bir tane ters eğik çizgi gözükmesini sağlayabilirsiniz.
    • İsteğe bağlı olarak parametreye bir zorunululuk ayarlayabilirsiniz:
      • "required" (zorunlu) kodu, parametrenin doldurulmasının zorunlu olduğunu belirtir. Bunu yalnızca şablon için değer mutlaka gerekliyse ve bir değer sağlanmaması durumunda şablon bozulacaksa true olarak ayarlayın. Bu işaretin girdisi tırnak işareti olmaksınız true veya false sözcüğü olmalıdır. Kısaca true zorunlu olduğunu, false zorunlu olmadığını ifade eder.
      • "suggested" (önerildi) kodu çoğu kullanıcının muhtemelen doldurmak isteyeceği bir parametre olduğunu belirtir (kaynak için kaynak tarihi gibi). Bir şablonda neredeyse her zaman en az bir önerilen parametreniz olmalıdır. required'de olduğu gibi, tırnak işareti olmadan true veya false sözcüğünü kullanın. Kısaca true önerildiğini, false önerilen olmadığını ifade eder. false karıştırılmamalıdır, önerilmediğini değil önerilen olmadığını ifade eder.
      • "deprecated" (kaldırıldı) kodu bu parametrenin düzenli olarak kullanılıp kullanılmadığını göstermek için ayarlanabilir. Ayrıca true değeri yerine kullanıcıların ne yapması gerektiği hakkında kısa bir açıklama yazabilirsiniz. Nadiren kullanılır.
    • "aliases" (takma adlar) kodu, parametreyle aynı görevi görecek şekilde ayarlanmış diğer parametre adlarını listelemenize olanak tanır. Böylece aynı görevi gören parametreleri bir arada tutabilirsiniz. Köşeli parantez içinde yazılır örnek olarak: "aliases": [ "2", "açıklama", "resim_açıklaması" ]. Takma adlar ayrı bir parametre nesnesinde belgelenmez.
  • "autovalue" kodu, VisualEditor gibi araçlara bu parametreyi standart bir değerle önceden doldurmalarını sağlar Bu, tarih eklemek gibi şeylerin otomatik olarak ayarlaması için yararlı olabilir. Örnek olarak ""autovalue": "{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}" kodu, parametreye otomatik olarak "Haziran 2021" değerini girer.
  • "default" (varsayılan) kodu, bu parametre ayarlanmamışsa (veya ayarlanmış ancak boş bırakılmışsa) şablonun ne yapacağını göstermenize olanak tanır; bu metin, kullanıcılar düzenlediğinde parametre kutusunda açık gri metin olarak görünür. Nadiren kullanılır.
  • "example" (örnek) kodu, entry allows you to display an example of an entry that a person might make for this variable, written exactly as a person might type it, character-for-character; if the type of entry has already been set with the "type" parameter (see below), then the example should reflect this (i.e., if the type has been set to "wiki-page-name" then your example should not include a prefix like "File:" or "Image:"). Be sure to enclose the entire text of the example with quotes. Obviously, this means the actual example may not contain quotation marks itself. If not created by the person writing the TemplateData code, will be followed by the word "Empty".
  • "type" (tür) kodu, şablon düzenleyicine bu parametrenin nasıl olması gerektiğini söyler. Bu, şunlardan biri olabilir:

Dize değeri

Parametre türü

"unknown"
(bilinmiyor)
Ayarlanmadıysa varsayılan tür
"number"
(sayı)
Herhangi bir sayısal değer (ondalık basamak veya nokta olmadan)
"string" Herhangi bir metin değeri
"line" Kısa metin alanı - isimler, soyadları ve diğer kısa bilgiler için kullanılır
"wiki-page-name" Bir viki sayfa adı. Var olmak zorunda değildir, ancak mevcut değilse de oluşturulabilecek geçerli bir sayfa adı olmalıdır.
"wiki-file-name" Bir dosya adı. Var olmak zorunda değildir, ancak mevcut değilse de yüklenebilecek geçerli bir dosya adı olmalıdır. Ad alanını içermemelidir (Örnek olarak "Foo.svg" doğrudur lakin "Dosya:Foo.svg" veya "Bild:Foo.svg" doğru değildir).
"wiki-user-name" Bir kullanıcı adı. Var olmak zorunda değildir, ancak mevcut değilse, oluşturulabilecek geçerli bir kullanıcı adı olmalıdır. Ad alanını içermemelidir (Örnek olarak "Foo" doğrudur lakin "Kullanıcı:Foo" veya "User:Foo" doğru değildir).
"content" Vikimetindeki metin stili, bağlantı, resim, vs.
"date" ISO 8601 formatında tarih, örneğin "2014-05-09" veya "2014-05-09T16:01:12Z"

Şablona birden fazla parametre bloğu varsa, bloğun sonundaki ayraçtan sonra virgül eklemelisiniz },. Son parametreden sonraki ayraca virgül koymamalısınız }, koyarsanız hata verecektir.

Kaydetme[kaynağı değiştir]

İşiniz bittiğinde "değişiklikleri yayımla" butonuna tıklayın. Hata yaptıysanız, kaydetmenize izin vermez. Bu biraz sinir bozucu olabilir, çünkü ortaya çıkan hata mesajı JSON hatasının nerede olduğunu söylemeyecektir. Bir kod hatası nedeniyle kaydedemediğinizi fark ederseniz, aranacak bazı genel sorunlar şunlardır:

  • Her açılan tırnak ("), doğru yerde kapanan bir tırnakla eşleşiyor mu?
  • Bir parametre açıklamasında, metin içerisinde tırnak (") işareti kullandınız mı? Eğer cevap evetse metin içinde kullanılan tırnakları \" veya ' şeklinde değiştirebilirsiniz.
  • Her açılan ayraç ({) doğru yerde bir kapanan ayraçla (}) eşleşiyor mu?
  • Parametre blokları arasında virgül var mı? (Bir tane olmalı).

Bu hataları manüel olarak aramak yorucu ve zor olabilir. Neyse ki, JSON için hatayı bulan bir dizi program web sitesi mevcuttur. jsonlint.com iyi çalışan sitelerden biridir. Sorunlu JSON kodunu kopyalayıp web sitesindeki ilgili kutuya yapıştırın ve kodu kontrol etmesini isteyin. Metindeki her hatayı göstermeyecektir ancak varsa, karşılaştığı ilk hatayı gösterecektir. Kodunuzu düzeltmede yardımcı olur.

Sayfayı başarıyla kaydettikten sonra, TemplateData'nın VisualEditor'e entegre edilmesi kaydedildikten sonra birkaç dakika sürebilir.

Çalışılan örnek[kaynağı değiştir]

{{Str left}} şablonu, girilen metnin istenen ilk birkaç harfini göstermeye yarayan {{Str left|<metin>|<sayı>}} şeklinde kullanılan basit bir şablondur. İki parametre de adlandırılmamıştır (yalnızca şablondaki konumlarıyla tanınır) ve kullanılması zorunlu olan iki parametreye sahiptir. Bu nedenle, bu şablon için TemplateData şöyle olabilir:

<templatedata>
{
	"description": "Girilen metnin ilk birkaç karakterini gösterir",
	"params": {
		"1": {
			"label": "Metin",
			"description": "İlk harfleri alınacak metin",
			"required": true,
			"type": "string"
		},
		"2": {
			"label": "Uzunluk",
			"description": "Metnin ilk kaç karakteri gösterilmeli",
			"required": true,
			"type": "number"
		}
	}
}
</templatedata>

Şu şekilde görüntülenir:

Girilen metnin ilk birkaç karakterini gösterir

Şablon parametreleri

ParametreAçıklamaTürDurum
Metin1

İlk harfleri alınacak metin

Dizegerekli
Uzunluk2

Metnin ilk kaç karakteri gösterilmeli

Sayıgerekli

Boş TemplateData bloğunu tamamlayın[kaynağı değiştir]

Bunu kendiniz oluştururken kullanmak için kopyalayıp yapıştırabilirsiniz.

<templatedata>
{
	"description": "zzzzz",
	"params": {
		"first parameter": {
			"label": "x",
			"description": "xxx",
			"required": false,
			"suggested": false,
			"example":"x",
			"deprecated": false,
			"aliases": [],
			"autovalue": "auto value",
			"default": "default value",
			"type": "string"
		},
		"second parameter": {
			"label": "y",
			"description": "yyy",
			"required": false,
			"suggested": false,
			"example": "x",
			"deprecated": false,
			"aliases": [],
			"autovalue": "auto value",
			"default": "default value",
			"type": "number"
		}
	},
    "sets": { }
}
</templatedata>

Örnekler[kaynağı değiştir]

Parametresi olmayan bir şablon: {{Yapılmadı ve yapılmayacak}}. Parametrelerin boş bir liste olarak verilmesi gerektiğini unutmayın.

Biçimlendirme Çıktı
<templatedata>{
  "description": "X işareti ve \"Yapılmadı ve yapılması olası değil\" metnini ekler. Parametresi yoktur.",
  "params": { }
}</templatedata>

X işareti ve "Yapılmadı ve yapılması olası değil" metnini ekler. Parametresi yoktur.

Şablon parametreleri

ParametreAçıklamaTürDurum
Hiçbir parametre belirtilmedi

Parametreleriyle birlikte {{Ksöz}} şablonu:

Biçimlendirme Çıktı
<templatedata>{
  "description": "Bir söz bloğu ekler.",
  "params": {
    "text": {
      "label": "Metin",
      "description": "Söz veya alıntının metni",
      "type": "string",
      "required": true,
      "aliases": [ "1", "quote" ]
    },
    "sign": {
      "label": "İmza",
      "description": "Bu sözü söyleyen kişi",
      "type": "string",
      "suggested": true,
      "aliases": [ "2", "cite" ]
    },
    "source": {
      "label": "Kaynak",
      "description": "Söz için kaynak",
      "type": "string",
      "suggested": true,
      "aliases": [ "3" ]
    }
  }
}</templatedata>

Bir söz bloğu ekler.

Şablon parametreleri

ParametreAçıklamaTürDurum
Metintext 1 quote

Söz veya alıntının metni

Dizegerekli
İmzasign 2 cite

Bu sözü söyleyen kişi

Dizeönerilen
Kaynaksource 3

Söz için kaynak

Dizeönerilen

Araçlar[kaynağı değiştir]