Help:TemplateData/id

 adalah sebuah cara menyimpan informasi mengenai Special:MyLanguage/Help:Templates templat teks wiki beserta parameternya, sehingga Special:MyLanguage/VisualEditor/Portal/TemplateData penyunting visual dapat mengambil dan menampilkannya dalam penyunting templat mereka, yang akan mempermudah dalam penyuntingan halaman yang menggunakan templat tersebut. Ini juga digunakan di lain tempat seperti skrip, perkakas, dan alat.

Ekstensi DataTemplat terpasang pada seluruh wiki yang dioperasikan oleh Wikimedia Foundation. Jika Anda mempunyai wiki Anda sendiri, maka Anda perlu memasang Extension:TemplateData.

Sintaks DataTemplat memungkinkan pengguna untuk menuliskan sedikit data terstruktur ke halaman templat, atau untuk ditransklusikan ke dalam halaman templat tersebut seperti pada halaman dokumentasi templat. Setelah templat memiliki data terstruktur ini, ia akan dapat ditampilkan dengan tepat di penyunting visual. Meski ini mungkin terdengar rumit, namun sebenarnya sangat mudah.

Penyunting DataTemplat

Terdapat perkakas bawaan untuk menyunting DataTemplat dengan cara yang lebih sederhana.

Untuk menggunakan penyunting DataTemplat, buka halaman templat tersebut atau subhalaman dokumentasinya lalu tekan tombol Sunting. Anda akan melihat sebuah tombol yang bertuliskan tepat di atas jendela penyuntingan yang terbuka:

Klik tombol ini untuk memasuki perkakas antarmuka pengguna grafis untuk menyunting DataTemplat.

Penyunting ini memungkinkan Anda untuk menambahkan parameter templat dan mengatur atribut yang paling umum. Jika halaman yang Anda sunting sudah mengandung blok DataTemplat, maka informasi yang sudah didokumentasikan akan secara otomatis muncul saat Anda membuka halaman yang benar di penyunting DataTemplat. Di kotak pertama, Anda dapat menambahkan atau memperbarui keterangan singkat templat terbesut dalam teks polos. Setelah itu, Anda dapat menggunakan tombol tambahkan parameter yang disarankan dan tambah parameter untuk mendokumentasikan nama dan atribut dari parameter yang digunakan templat tersebut.

Jika halaman templat tersebut dilindungi, Anda dapat salin-dan-tempel kode templat di subhalamannya, gunakan tombol "Tambahkan parameter yang disarankan" di sana, menyalin isi DataTemplat, menyunting kembali subhalamannya untuk menghapus kode templat yang ada, lalu tempelkan isi DataTemplat. Untuk mengetahui di mana Anda harus menempelkan isi DataTemplat pada subhalaman, Anda dapat menyunting DataTemplat tanpa menambahkan apapun. Anda dapat menggantikan tag dan beserta isinya dengan menempelkan isi di atasnya.

Anda dapat mencantumkan nama, apa pun alias, label, dan keterangan dari parameter tersebut yang akan ditampilkan ke pengguna. Anda juga dapat memberikan contoh cara menggunakan parameter tersebut. Satu-satunya bidang yang wajib diisi adalah Nama bidang pertama pada setiap baris, yang merupakan tempat Anda mencatatkan nama parameter yang tepat dan peka kapitalisasi. Dalam menu dibawah Jenis Anda dapat memilih jenis isi yang harus diterima parameter tersebut, seperti teks untuk jawaban teks polos. Halaman untuk pranala ke halaman lain atau tanggal. Jika templat tersebut menghasilkan gagal seandainya parameter ini dibiarkan kosong, harap tandai parameter ini sebagai wajib diisi. Jika parameter tersebut umum dipakai atau disarankan, harap tandai parameter ini sebagai disarankan. Tombol hapus informasi parameter akan menghapus entri parameter dari DataTemplat.

File tangkapan layar dari penyunting DataTemplat yang menampilkan sebuah parameter kedua yang sedang ditambahkan centre frameless 800x800px

Ketika Anda sudah selesai mendokumentasikan masing-masing parameter, klik "Terapkan" untuk menyisipkan DataTemplat yang telah dipraformat ke dalam kotak penyuntingan yang terbuka. Anda masih harus menyimpan halaman, menggunakan tombol "Simpan" yang biasa di bawah jendela penyuntingan.

Perhatian: Penyunting DataTemplat akan menempatkan DataTemplat pada halaman templat atau pada subhalaman dokumentasi. Anda dapat menentukan di mana DataTemplat akan ditambahkan dengan cara membuka menyunting halaman tempat Anda ingin menambahkannya. Namun, jika beberapa blok DataTemplat ditempatkan pada templat yang sama, maka hanya satunya yang akan digunakan. Jika DataTemplat sudah ada pada salah satu halaman, maka Anda harus menyunting halaman di mana DataTemplat ditempatkan sebelumnya agar dapat terhindar dari pembuatan beberapa blok DataTemplat secara tidak sengaja.

Batasan fungsi
 * Fitur yang hilang — DataTemplat adalah sebuah contoh perkakas yang dibuat untuk umum dengan sedikit fitur, dengan harapan pengguna akan membantu memandu pengembangan fitur yang mereka inginkan. Jika Anda ingin meminta fitur baru untuk TemplateData, silakan https://phabricator.wikimedia.org/maniphest/task/create/?projects=MediaWiki-extensions-TemplateData beri tahu kami
 * Keterlambatan saat menampilkannya dalam templat — Setelah menambahkan DataTemplat pada templat, metadatanya seharusnya segera muncul saat templat tersebut dibuka di penyunting visual. Namun, nyatanya mungkin perlu waktu beberapa jam sebelum metadatanya muncul. Anda dapat memaksa pembaruan dengan membuat suntingan kosong ke halaman templatnya sendiri bukan halaman dokumentasinya. Untuk melakukan penyuntingan kosong, buka halaman templat untuk disunting, lalu simpan halaman tersebut ''tanpa membuat perubahan apa pun dan tanpa menambahkan ringkasan suntingan.
 * Masalah saat ini — Daftar kekutu dan permintaan fitur saat ini tersedia phabricator:maniphest/query/5OLCQh34NZjK/#R di pelacak Wikipedia

Lokasi DataTemplat

DataTemplat harus berada pada halaman yang mendeskripsikannya, atau Special:MyLanguage/Transclusion ditransklusikan ke dalamnya. Dalam sebuah templat, ia harus secara khusus dibungkus ke dalam tag Saat membuka halaman normal, ia akan menampilkan dokumentasi yang otomatis dibuat seperti yang ditunjukkan dalam #Example Contoh

Struktur DataTemplat

Struktur DataTemplat kurang lebih berlandaskan pada standar JSON. JSON Harap perhatikan, semua deskripsi dalam DataTemplat harus berupa teks biasa tanpa teks wiki, tanpa tautan, dsb.

Hal pertama yang perlu dilakukan adalah mengetikkan sepasang  di mana saja pada halaman dokumentasi templat,seperti ini

Hal ini akan memberi tahu perangkat lunak bahwa segala sesuatu di antara kedua tag ini adalah DataTemplat, dan harus dirujuk saat templat tersebut digunakan.

Contoh

Deskripsi di dalam DataTemplat mengikuti tata letak standar; katakanlah Anda memiliki sebuah templat bernama "Commons" untuk membuat pranala ke kategori Commons mengenai suatu topik. Dibutuhkan satu parameter wajib: nama kategori tersebut di Commons. DataTemplat-nya akan terlihat kurang lebih seperti ini:

Hal ini akan ditampilkan, pada templat, kurang lebih seperti ini:

{   "description": "Sebuah templat untuk membuat pranala ke kategori Commons mengenai suatu artikel", "params": { "1": {           "label": "Kategori Commons", "description": "Kategori Commons yang ingin Anda buatkan pranalanya.", "default": "Category:CommonsRoot", "type": "string", "required": true }   } }

Deskripsi dan parameter
Ketika sudah selesai, tekan "simpan". Jika Anda membuat galat, Anda tidak akan dapat menyimpan (memang mengganggu, namun berarti Anda tidak dapat sampai merusaknya). Jika Anda mengalami galat, jelaskan pada halaman umpan balik apa yang Anda lakukan, dan kami akan dengan senang hati membantu.

Note that if you are abusing a hack template to dynamically generate TemplateData, it cannot be checked for errors before saving.

Perhatikan bahwa setiap satuan informasi diapit dengan tanda kutip (kecuali untuk  dan  ), dan dipisahkan dari satuan selanjutnya dengan tanda koma (kecuali yang terakhir).

Format ubahsuaian
Ketika menyunting string format ubahsuaian pada penyunting TemplatData, Anda dapat mengetikkan  maupun menekan tombol Enter untuk merepresentasikan baris baru; apa pun yang digunakan, mereka akan ditampilkan sebagai   pada bidang masukan.

{| class="wikitable" ! style="width:25%" | Yang ingin dicapai ! Teks format ! Keluaran
 * + Contoh format yang dapat Anda gunakan
 * Pemformatan satu baris
 * Pemformatan blok
 * Tanpa spasi sebelum nama parameter, tiap templat memiliki barisnya sendiri
 * Pemformatan blok
 * Tanpa spasi sebelum nama parameter, tiap templat memiliki barisnya sendiri
 * Pemformatan blok
 * Tanpa spasi sebelum nama parameter, tiap templat memiliki barisnya sendiri
 * Tanpa spasi sebelum nama parameter, tiap templat memiliki barisnya sendiri
 * Tanpa spasi sebelum nama parameter, tiap templat memiliki barisnya sendiri
 * Tanpa spasi sebelum nama parameter, tiap templat memiliki barisnya sendiri
 * Inden pada setiap parameter
 * Sejajarkan semua nama parameter ke panjang tertentu
 * Sejajarkan semua nama parameter ke panjang tertentu
 * Sejajarkan semua nama parameter ke panjang tertentu
 * Sejajarkan semua nama parameter ke panjang tertentu
 * Sejajarkan semua nama parameter ke panjang tertentu
 * Karakter pipa di akhir baris sebelumnya
 * Gaya satu baris dengan beberapa spasi, harus merupakan awal baris
 * Gaya satu baris dengan beberapa spasi, harus merupakan awal baris
 * Gaya satu baris dengan beberapa spasi, harus merupakan awal baris
 * Gaya satu baris dengan beberapa spasi, harus merupakan awal baris
 * Gaya satu baris dengan beberapa spasi, harus merupakan awal baris
 * Templat berada di awal baris, parameter disejajarkan dengan inden, pipa di baris sebelumnya
 * dapat ditulis juga menjadi  atau.
 * dapat ditulis juga menjadi  atau.

Untuk menambahkan informasi ini ke DataTemplat, Anda cukup menambahkan alias-alias (aliases) ini ke informasi parameter:

Nilai otomatis
Anda dapat menentukan "nilai otomatis" (autovalue) untuk suatu parameter. Ketika pengguna menambahkan templat tersebut ke dalam halaman, nilai ini akan ditambahkan secara otomatis. Misalnya, banyak templat pemeliharaan harus disertai dengan tanggal; jika Anda menentukan nilai otomatis untuk parameter tanggal pada templat ini, maka tanggal tersebut akan terisi secara otomatis.

Untuk menambahkan informasi ini ke DataTemplat, Anda cukup menambahkan nilai otomatis ini ke informasi parameter.

Parameter berganda
Jika Anda memiliki banyak parameter, cukup ulangi setiap bagiannya (mulai dari tag "1") lalu isikan sesuai kebutuhan. Perhatikan bahwa jika suatu templat memiliki banyak parameter, Anda harus memisahkannya dengan tanda koma pada DataTemplat, seperti ini:

Parameter serupa
Ketika suatu templat memiliki banyak parameter, terkadang beberapa di antaranya memiliki rupa yang mirip. Dalam hal ini, Anda hanya perlu menyediakan properti lengkap pada parameter pertamanya, sedangkan parameter lainnya dapat "mewarisi" (inherits) properti dari parameter pertama tersebut.

Papan cetakan kosong
Anda dapat menyalin papan cetakan kosong di bawah ini untuk menambahkan DataTemplat baru ke dalam templat. Hanya tag yang paling umum yang disertakan.

Syntax Error in JSON / Bad JSON format
Due to a long standing bug, users using the old wikitext editor are able to save pages which have certain types of invalid JSON, such as duplicate keys or trailing commas (details: ). However if you attempt to save this page in a JavaScript based editor, such as VisualEditor or the 2017 Wikitext editor, you will see an error message "Syntax error in JSON," as the JavaScript parser is stricter and doesn't allow invalid JSON. Additionally, if you attempt to open up such invalid JSON with the Template Data GUI editor, you will see the error message, "Bad JSON format." To fix these errors, you can enter the JSON block into an external JSON validator, such as JSONLint, and it will highlight the problematic commas and keys so they can be removed.

Perkakas lainnya

 * : Sebuah jendela dialog bilah alat untuk memasukkan teks wiki templat melalui formulir yang dibuat berdasarkan DataTemplat.
 * TemplateData Wizard: Sebuah perkakas yang menghasilkan DataTemplat melalui antarmuka interaktif.
 * Skeleton TemplateData generator: Sebuah perkakas yang membaca kode wiki sumber dari templat, mencoba menemukan semua parameter yang digunakan, dan mengeluarkan dokumen kerangka dengan parameter yang tercantum.
 * JSONLint: Sebuah perkakas yang memungkinkan Anda untuk memvalidasi JSON yang ditulis secara manual untuk membantu menemukan galat dalam sintaks.
 * Daftar seluruh templat dengan DataTemplat di wiki ini
 * Dengan DataTemplat templat dewiki, data templat ditampilkan dalam sebuah kotak, dan templat tersebut ditambahkan ke dalam kategori berisi templat dengan DataTemplat