Open main menu

Bantuan:DataTemplat

This page is a translated version of the page Help:TemplateData and the translation is 95% complete.

Other languages:
Bahasa Indonesia • ‎Cymraeg • ‎Deutsch • ‎English • ‎Ilokano • ‎Lëtzebuergesch • ‎Nederlands • ‎Oromoo • ‎Scots • ‎Tiếng Việt • ‎Türkçe • ‎Zazaki • ‎asturianu • ‎azərbaycanca • ‎català • ‎dansk • ‎emiliàn e rumagnòl • ‎español • ‎euskara • ‎français • ‎føroyskt • ‎galego • ‎hrvatski • ‎italiano • ‎lietuvių • ‎magyar • ‎occitan • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎slovenčina • ‎slovenščina • ‎suomi • ‎svenska • ‎čeština • ‎Ελληνικά • ‎български • ‎русский • ‎српски / srpski • ‎українська • ‎հայերեն • ‎ייִדיש • ‎עברית • ‎العربية • ‎تۆرکجه • ‎سنڌي • ‎فارسی • ‎پښتو • ‎अङ्गिका • ‎अवधी • ‎मराठी • ‎हिन्दी • ‎বাংলা • ‎ไทย • ‎ქართული • ‎中文 • ‎日本語 • ‎ꯃꯤꯇꯩ ꯂꯣꯟ • ‎한국어
PD Catatan: Ketika Anda menyunting halaman ini, Anda setuju untuk melepas kontribusi Anda di bawah CC0. Lihat Halaman Bantuan Domain Publik untuk informasi selengkapnya.
PD

TemplateData adalah sebuah cara menyimpan informasi mengenai templat teks wiki beserta parameternya, sehingga 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 "Kelola DataTemplat", 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 dokumentasi templat berada dalam subhalaman, tombol "Tambahkan parameter yang disarankan" hanya akan muncul di halaman templat. Solusinya adalah dengan menyunting halaman templat, klik pada "Tambahkan parameter yang disarankan" di penyunting DataTemplat, lalu salin-dan-tempel isi DataTemplat-nya (antara tag <templatedata> dan </templatedata>) di subhalaman dokumentasi.

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 apa pun; lalu Anda dapat menggantikan tag <templatedata> dan </templatedata> 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 turun-bawah "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.

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 dan tilikan

  • 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 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 subhalaman 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 di pelacak kekutu Wikimedia.

Lokasi DataTemplat

DataTemplat harus berada pada halaman yang mendeskripsikannya, atau ditransklusikan ke dalamnya. Dalam sebuah templat, ia harus secara khusus dibungkus ke dalam tag <noinclude> . Saat membuka halaman normal, ia akan menampilkan dokumentasi yang otomatis dibuat seperti yang ditunjukkan dalam #Contoh.

Struktur DataTemplat

Struktur DataTemplat kurang lebih berlandaskan pada standar 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 tag <templatedata>, di mana saja pada subhalaman dokumentasi templat, seperti ini:

<templatedata>
{
    ...       // Isi DataTemplat di sini
}
</templatedata>

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:

<templatedata>
{
    "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
        }
    }
}
</templatedata>

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

Sebuah templat untuk membuat pranala ke kategori Commons mengenai suatu artikel

Template parameters

ParameterDescriptionTypeStatus
Kategori Commons1

Kategori Commons yang ingin Anda buatkan pranalanya.

Default
Category:CommonsRoot
Stringrequired

Deskripsi dan parameter

description Tag pertama adalah "description", yang menjelaskan apa yang dilakukan templat tersebut.
"description": "Sebuah templat untuk membuat pranala ke kategori Commons",
format Selanjutnya adalah "format", yang menjelaskan cara penataan representasi teks wiki dari templat. Ini dapat diatur ke pemformatan standar seperti "inline" (baku) dan "block", maupun ke sebuah format ubahsuaian; lihat bagian bawah untuk rincian selengkapnya.

Jika parameter diatur ke "inline", maka representasi teks wiki yang akan dibuat adalah tanpa spasi, seperti:

{{Foo|bar=baz|qux=quux}}

Jika parameter diatur ke "block", maka representasi teks wiki yang akan dibuat adalah dengan pemisah baris dan spasi tunggal di antara masing-masing bagian, seperti:

{{Foo
| bar = baz
| qux = quux
}}
"format": inline
params Kemudian, ada tag "params", yang menandakan bagian selanjutnya dari templat yang mencakup setiap parameter di dalam templat tersebut.

Keseluruhan parameter yang mengikuti templatnya dicantumkan dalam bagian "params".

"params": {
    ...    // parameter di sini
}
  Dalam setiap sub-bagian parameter, tag pertamanya adalah nama parameter templat tersebut di dalam templatnya.

Jika parameter tersebut memiliki sebuah nama, seperti {{{category-link}}}, tag ini akan berupa "category-link".

Jika parameter tersebut "tak bernama", dalam artian parameter ini hanya berupa angka seperi {{{1}}}, tag ini akan berupa "1".

Seluruh satuan informasi mengenai parameter ini disertakan dalam bagian yang diawali dengan nama parameter.

"1": {     // nama parameter
    ...    // informasi mengenai parameter di sini
}
label Selanjutnya, kita punya "label", di mana Anda menempatkan judul yang dapat dibaca manusia bagi parameter tersebut yang akan ditampilkan dalam penyunting templat.
"label": "Kategori Commons",
description Selanjutnya, kita punya "description": kali ini, merupakan deskripsi parameternya, bukan templat secara keseluruhan.
"description": "Kategori Commons yang ingin Anda buatkan pranalanya.",
default Selanjutnya, "default". Beberapa templat memiliki nilai baku yang digunakan kecuali jika Anda mengubahnya. Butir ini memberitahukan pengguna apa nilai baku parameter tersebut.

Anda dapat mengabaikan parameter ini jika memang tidak ada bakunya.

"default": "Category:CommonsRoot",
type Setelah itu, kita memiliki "type", yang mengendalikan bagaimana penyunting templat akan menginterpretasikan parameter tersebut. Jenis yang paling umum adalah:
  • "string": sekumpulan karakter, seperti karakter ini;
  • "number": sekumpulan digit (angka);
  • "boolean": '0' for false, '1' for true, '' for unknown;
  • "wiki-user-name": sekumpulan karakter yang mewakilkan nama seorang pengguna;
  • "wiki-page-name": sekumpulan karakter yang mewakilkan judul sebuah halaman;
  • "wiki-file-name": nama sebuah berkas.

Jenis lainnya termasuk "unknown", "date", "url", "wiki-template-name", "content", "unbalanced-wikitext", "content", dan "line". "unknown", "date", "url", "wiki-template-name", "content", "unbalanced-wikitext", "line"

"type": "string",
required Lalu kita punya "required", yang dapat diatur ke true atau false.

Ini hanya untuk mengendalikan apakah pengisian parameter tersebut diwajibkan dalam templat. Jika Anda tidak menentukannya, maka akan dianggap false.

"required": true
suggested Ada juga "suggested", yang dapat diatur ke true atau false.

Ini adalah status bagi parameter yang tidak 'wajib diisi' tetapi disarankan ada karena bernilai tinggi (namun tidak wajib) bagi para pengguna templat. Jika Anda tidak menentukannya, maka akan dianggap false.

"suggested": true
deprecated Terakhir, ada "deprecated", yang dapat diatur ke true, false, atau teks yang menjelaskan apa yang harus dilakukan pengguna.

Ini merupakan status untuk parameter yang seharusnya tidak digunakan lagi, namun tetap ada untuk sementara waktu. Ini bisa disebabkan oleh penggunaan templat sedang dipindahkan dari sekumpulan parameter ke yang lainnya. Jika Anda tidak menentukannya, maka akan dianggap false.

"deprecated": "Silakan gunakan 'tanggalPublikasi' saja."

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 true dan false), dan dipisahkan dari satuan selanjutnya dengan tanda koma (kecuali yang terakhir).

Format ubahsuaian

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

Contoh format yang dapat Anda gunakan
Yang ingin dicapai Teks format Keluaran
Pemformatan satu baris {{_|_=_}}
inline
{{Foo|bar=baz|qux=quux}}{{Bar}}
Pemformatan blok {{_\n| _ = _\n}}
block
{{Foo
| bar = baz
| qux = quux
}}{{Bar
}}
Tanpa spasi sebelum nama parameter, tiap templat memiliki barisnya sendiri \n{{_\n|_ = _\n}}\n
{{Foo
|bar = baz
|qux = quux
}}
{{Bar
}}
Inden pada setiap parameter {{_\n |_ = _\n}}
{{Foo
 |bar = baz
 |qux = quux
}}{{Bar
}}
Sejajarkan semua nama parameter ke panjang tertentu {{_\n|_______________ = _\n}}\n
{{Foo
|bar             = baz
|qux             = quux
|veryverylongparameter = bat
}}
{{Bar
}}
Karakter pipa di akhir baris sebelumnya {{_|\n _______________ = _}}
{{Foo|
  bar             = baz|
  qux             = quux}}{{Bar}}
Gaya satu baris dengan beberapa spasi, harus merupakan awal baris \n{{_ | _ = _}}
{{Foo | bar = baz | qux = quux}}
{{Bar }}
Templat berada di awal baris, parameter disejajarkan dengan inden, pipa di baris sebelumnya \n{{_ |\n _______________ = _}}
{{Foo |
  bar             = baz |
  qux             = quux}}
{{Bar}}

Alias parameter

Beberapa templat memungkinkan suatu parameter yang sama untuk memiliki beberapa nama yang berbeda.

Misalnya, {{Commons|kategori=Indonesia}} dapat ditulis juga menjadi {{Commons|Indonesia}} atau {{Commons|ke=Indonesia}}.

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

    "params": {
        "kategori": {
            ...
            "aliases": ["1", "ke"]
        }

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. Anda mungkin ingin menggunakan awalan gnt: (subst:) pada nilainya untuk membuatnya ditetapkan:

    "params": {
        "tanggal": {
            ...
            "autovalue": "{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}"
        }

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:

"params": {
    "1": {
        ...
    },      // perhatikan koma di sini
    "2": {
        ...
    },      // dan di sini
    "3": {
        ...
    }
}

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.

    "params": {
        "topik1": {
            "label": "Topik",
            "description": "Topik yang tercantum dalam halaman disambiguasi ini",
            "type": "string"
        },
        "topik2": {
            "inherits": "topik1"
        },
        "topik3": {
            "inherits": "topik1"
        },
    }

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.

<templatedata>
{
    "description": "",
    "params": {
        "1": {
            "label": "",
            "description": "",
            "type": ""
        },
        "2": {
            "label": "",
            "description": "",
            "type": ""
        }
    }
}
</templatedata>

Errors

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: task T128029). 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 https://jsonlint.com/, and it will highlight the problematic commas and keys so they can be removed.

Perkakas lainnya

Help:Extension:TemplateWizard
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.