Caputchin
Referensi

Referensi skema kustomisasi

Ini adalah referensi tunggal untuk model tipe-bidang dan preset Caputchin, fondasi bersama di bawah setiap permukaan yang bisa dikustomisasi:

Keempatnya memakai tipe bidang yang sama dan model preset yang sama yang dijelaskan di sini. Kustomisasi dibangun dari preset, dan sebuah preset adalah kantong bidang bertipe.

Tipe bidang per sumbu

Tiap sumbu mengizinkan set tipe bidang tetap:

SumbuTipe bidang yang diizinkan
Configurationboolean, number, range, list, string, link
Localehanya string
Skincolor, image, audio, video, boolean, number, range, list

Sebuah skin bukan hanya warna dan aset: ia juga bisa memaparkan tombol skalar boolean, number, range, dan list (sakelar "shadows", angka radius-sudut, pilihan "pattern"). Ini berperilaku persis seperti padanan konfigurasinya dan diselesaikan ke nilai bertipenya (sebuah boolean tetap true, sebuah number tetap 8); nilai color dan aset diselesaikan ke string. Skin tak mengizinkan string atau link (teks bebas milik bahasa; target tautan adalah konfigurasi).

Apa yang diterima tiap tipe

TipeNilaiAturan
stringTeks bebasTeks apa pun.
booleanSebuah sakelartrue atau false.
numberSebuah angkaAngka hingga mana pun.
rangeAngka berbatasAngka hingga dalam minimum dan maksimum bidang. Step adalah kenyamanan slider; nilai luar-step tetap diterima.
listSatu pilihanHarus salah satu dari opsi yang didaftar bidang.
linkSebuah URLURL http atau https. Kredensial tersemat ditolak.
colorSebuah warnaWarna hex (#rgb, #rgba, #rrggbb, atau #rrggbbaa) atau nilai rgb() / rgba(). Warna bernama dan ruang warna lain tak diterima.
imageSebuah gambarBerkas yang diunggah atau URL https yang berakhir .png, .jpg, .jpeg, .webp, .svg, atau .gif.
audioSebuah klip audioBerkas yang diunggah atau URL https yang berakhir .mp3, .ogg, atau .wav.
videoSebuah videoBerkas yang diunggah atau URL https yang berakhir .mp4 atau .webm.

Caputchin memvalidasi setiap nilai saat kamu menyimpan, jadi sebuah nilai yang tak cocok dengan tipenya ditolak sebelum ia bisa mencapai pengunjung.

Kunci tercadang

Di samping bidang kontennya, sebuah preset membawa beberapa kunci metadata tercadang (masing-masing berawalan garis-bawah) yang mengontrol bagaimana ia dipilih dan diselesaikan, bukan apa yang ia tampilkan. Bagaimana kamu menyetelnya bergantung pada permukaan: penulis game marketplace menulisnya secara literal di caputchin.json; di editor dasbor (game kustom, white-label) kamu menyetelnya lewat kontrol dan tak pernah mengetik kuncinya. Bagaimanapun maknanya sama.

KunciSumbuMakna
_langLocaleLanguage tag BCP-47 yang dilayani preset locale (en, es, dan seterusnya). Preset dikelompokkan olehnya; beberapa preset bisa berbagi satu _lang (mis. dua varian Inggris).
_directionLocaleltr atau rtl. Opsional, diturunkan-otomatis dari _lang untuk bahasa kanan-ke-kiri (ar, he, fa, ur, yi, ps, sd); jarang disetel dengan tangan.
_themeSkinlight, dark, atau any. Preset light / dark muncul hanya di bawah latar itu; preset any berfungsi di bawah keduanya dan layak untuk salah satu. Default ke light saat absen.
_defaultSemuaMenandai preset yang dipilih server untuk kelompoknya saat pengunjung tak memilih satu. Satu default per kelompok (per mode untuk skin); sebuah skin any bisa menjadi default untuk terang, gelap, atau keduanya.
_extendsSemuaMenamai preset lain untuk diwarisi. Lihat Memperluas preset.

Kunci metadata tercadang disingkirkan saat penyelesaian: _extends dan _default tak pernah mencapai game, dan hanya metadata yang bertahan (_lang, _direction, _theme) plus bidang konten yang diratakan yang dikirim.

Memperluas preset

_extends membiarkan satu preset mewarisi setiap nilai dari yang lain, jadi kamu menulis hanya bidang yang berbeda alih-alih mengulang seluruh preset. Setel _extends ke nama preset lain di sumbu yang sama; preset yang memperluas dimulai dari semua nilai preset itu dan menimpa kunci yang ia setel sendiri.

{
  "skins": {
    "presets": {
      "brand-light": { "_theme": "light", "accent": "#2da44e", "bg": "#ffffff" },
      "brand-light-warm": { "_extends": "brand-light", "accent": "#d97706" }
    }
  }
}

Di sini brand-light-warm mewarisi bg dari brand-light dan mengubah hanya accent.

Dua detail:

  • Jalan pintas tema skin. Pada preset skin, _extends boleh menamai sebuah tema (light atau dark) ketimbang preset. Bentuk itu diselesaikan ke preset mana pun yang _default untuk tema itu, cara nyaman untuk mendasari varian pada "skin terang default" tanpa menamainya.
  • Ia diselesaikan habis. _extends diikuti lalu disingkirkan; game menerima hasil yang tergabung penuh, tak pernah kunci _extends itu sendiri.

Dari mana sebuah skema berasal

Set bidang yang bisa diisi preset (skema-nya) punya tiga sumber, semua memakai tipe bidang yang sama di atas:

  • Game marketplace: skema berasal dari manifest penulis game, diambil saat kamu membuka editor. Kamu menimpa preset game tapi tak mengubah skemanya.
  • Game kustom: kamu mendefinisikan skema sendiri di dasbor, lalu menulis preset terhadapnya. Lihat game kustom.
  • Shell widget (white-label): skema bawaan yang tetap. Kamu menimpa presetnya; set bidang tak dideklarasikan-penulis. Lihat white-label widget.

Preset dan penyelesaian

Dalam sebuah sumbu, bidang dikelompokkan menjadi preset bernama, dan server menyelesaikan satu preset efektif per kelompok dari cakupan berlapis, kunci situs di atas tim di atas default bawaan, dihitung per nilai. Selektor berbeda per sumbu: locale dipilih oleh bahasa peramban pengunjung, skin oleh preferensi terang atau gelap pengunjung (preset yang mode-nya any layak untuk salah satu), dan konfigurasi server-otoritatif (pengunjung tak bisa memilihnya). Lihat ikhtisar untuk model cakupan.

Lihat juga

Di halaman ini