Extension:TemplateData
TemplateData Sürüm durumu: kararlı |
|
---|---|
Uygulama | Etiket , API |
Açıklama | Şablonlarla ilgili bilgileri depolamanızı, almanızı ve görselleştirmenizi sağlar |
Yazar(lar) | Timo Tijhof, Moriel Schottlender, James Forrester, Trevor Parscal, Bartosz Dziewoński, Marielle Volz, ... |
En son sürüm | 0.1.2 (Güncellemeler devam etmekte) |
Uyumluluk politikası | MediaWiki ile birlikte anlık görüntüler yayımlanır. Master geriye dönük olarak uyumlu değil. |
MediaWiki | >= 1.43 |
PHP | 5.4 |
Veritabanı değişiklikleri | Hayır |
Lisans | GNU Genel Kamu Lisansı 2.0 veya üstü |
İndir | |
|
|
<templatedata> |
|
Quarterly downloads | 283 (Ranked 15th) |
Public wikis using | 6,971 (Ranked 24th) |
Translatewiki.net adresinde mevcutsa, TemplateData uzantısını çevirin | |
Sorunlar | Açık görevler · Hata bildir |
TemplateData uzantısı, <templatedata>
etiketi ve editörlerin birlikte şablonların nasıl çağrılması gerektiğini belirtmelerine izin veren bir API sunar.
Bu bilgiler, son kullanıcılar için iyi biçimlendirilmiş bir tablo olarak ve diğer sistemlerin (ör. VisualEditor) şablonlarla ve parametreleriyle çalışmak için arabirimler oluşturmasına olanak tanıyan bir JSON API'si olarak mevcuttur.
Ayrıntılı yardım için Help:TemplateData sayfasına bakın.
Kurulum
- Dosyaları indirin ve
extensions/
klasörünüzdekiTemplateData
adlı dizine yerleştirin.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/TemplateData - LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
wfLoadExtension( 'TemplateData' );
- Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
Veri düzenleme
TemplateData uzantısı, bir şablon sayfasının vikimetinde tanımlı bir <templatedata>
etiketi olmasıyla çalışır (isteğe bağlı olarak farklı bir sayfadan da aktarılabilir).
Bu, birçok vikinin şablon belgelerini ayrı bir sayfadan aktarmasıyla ilgili ortak düzen ile uyumlu olacak şekilde tasarlanmıştır (ancak zorunlu değildir).
<templatedata>
etiketinin bu içeriği, aşağıda açıklanan biçim kullanılarak geçerli JSON olmalıdır; tüm açıklamaların düz metin olması gerektiğini unutmayın (şablon verilerinin içinde vikimetin kabul edilmez).
Bir sayfaya <templatedata>
blok eklendiğinde, TemplateData uzantısı sayfa kaydedilirken aşağıdaki kontrolleri gerçekleştirir:
- İçerikler geçerli JSON olmalıdır;
- JSON yapısı içindeki her öğe aşağıda belirtildiği gibi beklenen türde olmalıdır (örneğin, nesne, dizi veya ilkel); ve
- Belirtilen olası değerler listesi olan öğeler için (örn.
type
), JSON nesnesindeki değer bu değerlerden biriyle eşleşmelidir.
Bu kontrollerden herhangi biri başarısız olursa, sunucunun kaydedilmesine izin verilmez ve düzenleme sayfasının üzerinde bir hata mesajı görüntülenir.
Otomatik değer öğeleri için hata 2700, subst:
, <ref>
ve <gallery>
etiketleri dahil olmak üzere $3 içine eklenen herhangi bir şablonda çalışmasını engeller.
TemplateData bloğu doğru kaydedilecek, ancak şablon kullanıldığında ortaya çıkan wikitext doğru şekilde ayrıştırılmayacak.
Special:MyLanguage/Help:TemplateData#Template data editor method yerine {{#tag:templatedata}}
kullanamayacağınızı unutmayın.
Biçim
Aşağıda, JSON verilerinin <templatedata></templatedata>
etiketleri tarafından çevrelenen şablon sayfasında tanımlandığı gibi görselleştirilmiş bir sürümüdür.
Resmi özellik TemplateData deposunda mevcuttur.
En son sürüm için Specification.md sayfasına bakın.
TemplateData nesnesi
TemplateData nesnesi, şablon sayfasındaki <templatedata>
öğesinde bulunan bir JSON kök öğesidir.
Anahtar | Tür | Açıklama |
---|---|---|
description
|
InterfaceText veya null
|
Şablonun kısa bir açıklaması. Düz metin olmalıdır. Doldurulduktan sonra, tek bir şablonu düzenlerken başlık olarak görüntülenebilir ve belki de kullanıcılar birçoğundan birini seçtiğinde arama sonuçlarında görüntülenebilir. Varsayılan null .
→ For more details see: description |
params
|
Parametre nesneleri içeren nesne | Şablonun her parametre adını, söz konusu parametrenin özelliklerini tanımlayan karşılık gelen Parametre nesnesi ile eşleyen bir nesne.
→ For more details see: params |
paramOrder
|
Parametre adı dizeleri içeren dizi | Parametrelerin görüntülenmesi gereken mantıksal sıra. Dizi, her parametre anahtarını tam olarak bir kez içerir. Her dize params nesnesinde geçerli bir anahtar olmalıdır.
→ For more details see: paramOrder |
sets
|
Nesne ayarlama içeren dizi |
Küme belirtimlerini içeren bir dizi. Küme, birlikte kullanılması gereken bir parametre grubudur. Varsayılan []. sets işlevselliğinin hala geliştirildiğini unutmayın.
|
format
|
dize, inline veya block
|
Şablonun vikimetin gösterimi nasıl DÜZELTİLMESİ. Varsayılan inline . Diğer özel biçimler için #Özel biçimler bölümüne bakın.
|
maps
|
Bir Harita nesnesi | Şablon verilerinin üçüncü taraf bir tüketicisinin basitleştirilmiş bir adını (yani Citoid, Special:MyLanguage/Wikidata vb.) Basitleştirilmiş bir adı, bir tüketici parametresinin adını şablon parametrelerinin karşılık gelen bir veya daha fazla adıyla eşleyen bir nesneye eşleyen bir nesne. |
Parametre nesnesi
Anahtar | Tür | Varsayılan | Açıklama | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
label |
InterfaceText | null
|
Parametre için (çok) kısa bir isim. 20 karakterlik karakterlerin altında kalmaya çalışın.
→ For more details see: label | ||||||||||||||||||||||||||||
description
|
InterfaceText | null
|
Kullanıcıların bir seçenek listesinden hangisini seçeceklerini bilmesi için parametrenin kısa bir açıklaması.
→ For more details see: description | ||||||||||||||||||||||||||||
required
|
boole | false
|
Şablonun çalışması için parametrenin gerekip gerekmediği (bu parametrenin belirtilmesi gerekiyorsa true).
→ For more details see: required | ||||||||||||||||||||||||||||
suggested
|
boole | false
|
Şablonun yararlı olması için parametrenin önerilip önerilmediği (bu parametrenin belirtilmesi gerekiyorsa true).
→ For more details see: suggested | ||||||||||||||||||||||||||||
deprecated
|
boole veya dize | false
|
Parametrenin kullanımdan kaldırılıp kaldırılmadığı. Değer, kullanıcıya bunun yerine ne yapılabileceğini gösteren bir talimat dizisi veya true olabilir.
→ For more details see: deprecated | ||||||||||||||||||||||||||||
aliases |
Dizeleri içeren dizi | [] |
Takma ad listesi. Takma ad, birincil ad yerine (ek olarak değil) kullanılabilecek parametre için alternatif bir addır. Takma adlar ayrı bir Parameter nesnesinde belgelenmez. Daha fazla bilgiye ihtiyaç duyarlarsa, "kullanımdan kaldırıldı" olarak işaretlenmiş kendi mülklerinde olmalıdırlar.
→ For more details see: aliases | ||||||||||||||||||||||||||||
default |
InterfaceText | null |
Parametreye bir değer atanmamışsa şablon tarafından kullanılan varsayılan değer veya bunun açıklaması.
→ For more details see: default | ||||||||||||||||||||||||||||
autovalue |
dize | null |
Vikimetinde, günün tarihi veya düzenleme kullanıcısının adı gibi dinamik olarak oluşturulmuş varsayılan bir değer; bu genellikle {{subst:CURRENTYEAR}} gibi vikimetin değiştirmesi içerecektir.
→ For more details see: autovalue | ||||||||||||||||||||||||||||
example
|
InterfaceText | null
|
Kullanıcıların uygun değeri doldurmasına yardımcı olmak için parametre için örnek bir metin.
→ For more details see: example | ||||||||||||||||||||||||||||
type |
dize | "unknown" |
(Esnek) Tip ipucu için parametre tipi. Bunlardan biri:
→ For more details see: type | ||||||||||||||||||||||||||||
inherits |
dize | hiçbiri değiştirilmiş |
Başka bir parametrenin ad anahtarı (params nesnesinde geçerli bir anahtar olmalıdır). Geçerli Parametre Nesnesi, belirtilen Parametre Nesnesi öğesinden özellikleri devralır ve yerel özellikler devralınanları geçersiz kılar.
→ For more details see: inherits | ||||||||||||||||||||||||||||
suggestedvalues |
Array containing strings | []
|
An optional parameter property. Creates a list of parameter values to help users select the desired value. For the suggested values to be displayed as a combo box in VisualEditor, the parameter’s type must be set to one of the following: content, line, string, number, unknown or unbalanced wikitext.
→ For more details see: suggestedvalues |
Nesne ayarı
Anahtar |
Nesne veya ilkel tip |
Açıklama |
---|---|---|
label
|
InterfaceText | Parametre seti için (çok) kısa bir isim. 20 karakterlik karakterlerin altında kalmaya çalışın. |
params
|
Dizi dizesi | Kümeye dahil edilecek bir veya daha fazla parametre adı (her biri params nesnesinde geçerli bir anahtar olmalıdır). Bir parametre birden fazla kümede olabilir. Her parametre bir kümede olmamalıdır.
|
Harita nesnesi
Maps is a single data structure that goes multiple levels deep. It became common to call the second level a “map object”.
Anahtar | Tür | Varsayılan | Açıklama |
---|---|---|---|
tüketicinin adı | nesne | {} | Tüketici adını, tüketici parametresinin adını bir veya daha fazla karşılık gelen şablon parametresi adıyla eşleyen bir nesneye eşleyen bir nesne.
Şablon parametrelerinin adları ya bir dize (bir ad), bir dizeler dizisi (birkaç ad) ya da bir dizi diziler (birkaç ad kümesi) olarak belirtilebilir; bu dizelerin her biri aynı şablonun TemplateData başka bir yerde Belirli bir şablon parametresi birden çok haritada olabilir ve belirli bir haritadaki birden çok anahtarın değerlerinde kullanılabilir, ancak her şablon parametresinin bir haritada olması gerekmez. İngilizce Vikipedi'nin Template:Cite_news#TemplateData kısaltılmış bir örneği bir haritalar nesnesinin yapısını gösterir. { "proveit": { "main": "title", "textarea": [ "quote" ] }, "citoid": { "title": "title", "url": "url", "publisher": "publisher", "publicationTitle": "work", "date": "date", "ISSN": [ "issn" ], "ISBN": [ "isbn" ], "contributor": "others", "author": [ [ "first", "last" ], [ "first2", "last2" ], [ "first9", "last9" ] ], "editor": [ [ "editor-first", "editor-last" ] ] } } |
InterfaceText (dize veya nesne)
Vikinin içerik dilinde serbest biçimli düz metin dizesi (yani vikimetin veya HTML yok) veya dil koduyla anahtarlanmış bu dizeleri içeren bir nesne.
Tüm InterfaceText alanları için varsayılan değer null
.
Dize türü
Bir dize ise, yerel vikinin içerik dilinde yerelleştirilmemiş bir dize içermelidir.
Nesne türü
Nesne ise, nesnede şu eşleme bulunmalıdır:
Anahtar | Tür | Açıklama |
---|---|---|
Vikipedi dil kodu | dize | Vikipedi'de verilen dil koduna karşılık gelen yerelleştirilmiş dize. |
Nesne eşleme örneği:
Anahtar | Değer |
---|---|
"en" | "Welcome to Wikipedia" |
"de" | "Willkommen bei Wikipedia" |
"fr" | "Bienvenue sur Wikipédia" |
"nl" | "Welkom op Wikipedia" |
"it" | "Benvenuti su Wikipedia" |
"es" | "Bienvenidos a Wikipedia" |
"ru" | "Добро пожаловать в Википедию" |
Örnek
Şablon sayfasında wikitext içinde belirtildiği gibi örnek bir TemplateData yapısı.
<templatedata>
{
"description": "Label unsigned comments in a conversation.",
"params": {
"user": {
"label": "User's name",
"type": "wiki-user-name",
"required": true,
"description": "User name of person who forgot to sign their comment.",
"aliases": ["1"]
},
"date": {
"label": "Date",
"suggested": true,
"description": {
"en": "Timestamp of when the comment was posted, in YYYY-MM-DD format."
},
"aliases": ["2"],
"autovalue": "{{subst:#time:Y-m-d}}"
},
"year": {
"label": "Year",
"type": "number"
},
"month": {
"label": "Month",
"inherits": "year"
},
"day": {
"label": "Day",
"inherits": "year"
},
"comment": {
"required": false
}
},
"sets": [
{
"label": "Date",
"params": ["year", "month", "day"]
}
],
"maps": {
"ExampleConsumer": {
"foo": "user",
"bar": ["year", "month", "day"],
"quux": [
"date",
["day", "month"],
["month", "year"],
"year"
]
}
}
}
</templatedata>
Yukarıdaki örnek şablon sayfasında nasıl görüntülenecektir:
Label unsigned comments in a conversation.
Parameter | Description | Type | Status | |
---|---|---|---|---|
User's name | user 1 | User name of person who forgot to sign their comment. | User | required |
Date | date 2 | Timestamp of when the comment was posted, in YYYY-MM-DD format.
| Unknown | suggested |
Year | year | no description | Number | optional |
Month | month | no description | Number | optional |
Day | day | no description | Number | optional |
comment | comment | no description | Unknown | optional |
API
Oluşturulan yardıma Special:ApiHelp/templatedata altında bakın. Örnek bir çağrı (insan tarafından okunabilirlik için biçimlendirilmiş):
Bu, Şablon:Web kaynağı için şablon verilerini döndürür.
Bu şablon için <templatedata>...</templatedata>
bloğu, aktarılan şablon belgesi sayfasında ki tr:Şablon:Web kaynağı/belge.
API'dan alınan JSON'a ekleme ve değişiklikler
Bir API HTTP alma isteğine yanıt olarak sağlanan JSON yapısı, <templatedata>...</templatedata>
bloğunda tanımlanandan önemli ölçüde farklıdır.
API isteğine yanıt olarak, TemplateData uzantısı JSON nesnesinde aşağıdaki değişiklikleri yapar:
- İki sarma nesneleri ekler:
- Bir veya daha fazla Sayfa Nesnesi içeren genel bir Sayfa Nesnesi
- Sayısal anahtarı olan bir nesne: Sayfa Nesnesi
- Gerçek TemplateData Nesnesi'nde eklemeler/değişiklikler
- Verilerin istendiği sayfanın adını içeren
title
anahtarını ekleyin (ör. "Template:Cite web"). sets
anahtarı ekleyin- Geçerli vikiler Vikipedi dil kodu için tek bir anahtarla yalnızca dizeler olan tüm TemplateText oluşumlarını değiştirin
- Tüm
inherits
anahtarlarını kaldırın.- Kalıtımın tanımlandığı parametreden, mirasçının Parametre Nesnesi öğesinde açıkça tanımlanmış anahtarlar tarafından kullanılmayan tüm özellikleri ekleyin.
- Her bir Parametre Nesnesi içindeki açıkça tanımlanmamış veya devralınmamış tüm anahtarlar için varsayılan değerler ekleyin.
- Verilerin istendiği sayfanın adını içeren
API tarafından teslim edilen bir TemplateData JSON nesnesindeki görsel farklılıklar
| ||||||
|
Anahtar | Tür | Açıklama |
---|---|---|
title
|
dize | Şablonun sayfa adı (ör. "Template:Cite web"). Bu anahtar, şablon sayfasındaki JSON yapısında bulunmaz. API üzerinden teslimat yolunda MediaWiki yazılımı tarafından yapıya eklenir. |
sets
|
Nesne Ayarı içeren dizi | Küme belirtimlerini içeren bir dizi. Küme, birlikte kullanılması gereken bir parametre grubudur. Şablon sayfasında bu yoksa, API tarafından sağlanan yapıya boş bir dizi olarak eklenir. |
Anahtar | Tür | Açıklama |
---|---|---|
label |
InterfaceText | zaten bu biçimde değilse InterfaceText nesnesine çevrildi. |
required |
boole | Tanımlanmamışsa, varsayılan false değeri eklenir. |
description |
InterfaceText veya null |
Dize olarak tanımlanırsa, InterfaceText nesnesine dönüştürülür. Tanımlanmamışsa, anahtar null değerinde eklenir.
|
deprecated |
boole veya dize | Tanımlanmamışsa, varsayılan false değeri eklenir. |
aliases |
Dizi dizesi | Tanımlanmamışsa, varsayılan bir boş dizi atanır (yani []). |
default |
dize | Tanımlanmamışsa, varsayılan olarak "" atanır. |
type |
dize | Tanımlanmamışsa, varsayılan olarak "unknown" atanır. |
inherits |
(kaldırıldı) | Bu anahtar kaldırılır ve devralınan tüm anahtarlar eklenir. Geçerli parametre için tanımlanan anahtarlar önceliklidir ve geçerli parametrede veya devralındığı anahtarda tanımlı olmayan tüm anahtarlara varsayılan değer verilir. |
Anahtar | Nesne veya ilkel tip |
Açıklama |
---|---|---|
Nesne (Vikipedi dil kodu tarafından yerelleştirilmiş dizeler içerir) Şablon sayfasındaki bir TemplateData alanı yerelleştirilmiş dizeleri olan bir nesne değil, bir dize içeriyorsa, MediaWiki, kaynak Wikipedia Wikipedia dil kodunun anahtar adına atanmış bir dize ile bir InterfaceText Nesnesine çevirir. Tüm InterfaceText alanları için varsayılan değer null .
| ||
(Viki dil kodu) | dize | Vikipedi dil koduna karşılık gelen $wkpd kullanım için yerelleştirilmiş dize. |
API tarafından sağlanan JSON nesnesi örneği
Örnek bölümündeki (yukarıda) TemplateData yapısı için bir API isteğine yanıt görülebilir:
- HTML biçiminde https://www.mediawiki.org/w/api.php?action=templatedata&titles=Extension:TemplateData&format=jsonfm
- API tarafından yayınlandığı gibi: https://www.mediawiki.org/w/api.php?action=templatedata&titles=Extension:TemplateData
Yapılandırma
Değişken | Varsayılan | Açıklama |
---|---|---|
$wgTemplateDataUseGUI
|
true
|
Şablon verilerini JSON düzenlemek için deneysel iletişim arayüzü |
$wgTemplateDataEditorNamespaces
|
[ 10 ]
|
The namespaces in which the template data editor appears when creating or editing a page. (görev T189989) |
Ayrıca bakınız
- Extension:TemplateWizard – TemplateData temel alarak şablonların vikimetini seçmek ve eklemek için kullanıcı arayüzü.
- GitHub: jeblad/TemplateData – bazı Lua işlevselliğine sahip alternatif sürüm.
- Translatable template
- Wikibase/Maps TemplateData
Bu uzantı bir veya daha fazla Wikimedia projelerinde kullanılıyor. Bu, muhtemelen uzantının kararlı olduğu ve bu tür yüksek trafikli web siteleri tarafından kullanılacak kadar iyi çalıştığı anlamına gelir. Nerede kurulduğunu görmek için bu uzantının adını Wikimedia'nın CommonSettings.php ve InitialiseSettings.php yapılandırma dosyalarında arayın. Belirli bir vikide yüklü olan uzantılar listesinin tamamı vikinin Special:Version sayfasında görülebilir. |
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |
- Extensions bundled with MediaWiki 1.35/tr
- Stable extensions/tr
- Tag extensions/tr
- API extensions/tr
- GPL licensed extensions/tr
- Extensions in Wikimedia version control/tr
- EditPage::showEditForm:fields extensions/tr
- EditPage::showEditForm:initial extensions/tr
- MultiContentSave extensions/tr
- OutputPageBeforeHTML extensions/tr
- ParserFetchTemplateData extensions/tr
- ParserFirstCallInit extensions/tr
- ResourceLoaderRegisterModules extensions/tr
- All extensions/tr
- Extensions used on Wikimedia/tr
- Extensions included in BlueSpice/tr
- Extensions included in Canasta/tr
- Extensions available as Debian packages/tr
- Extensions included in Fandom/tr
- Extensions included in Miraheze/tr
- Extensions included in MyWikis/tr
- Extensions included in ProWiki/tr
- Extensions included in semantic::core/tr
- Extensions included in ShoutWiki/tr
- Extensions included in wiki.gg/tr
- Extensions included in WikiForge/tr
- Metadata/tr