FSE Outreach Round #8: Panggilan Berpusat pada Pengembang untuk Menguji Konfigurasi Tema JSON
Diterbitkan: 2021-06-26Putaran #8 Program Penjangkauan Full Site Editing (FSE) dimulai kemarin. Alih-alih panggilan yang berpusat pada pengguna untuk menguji fitur dari UI, pemimpin program Anne McCarthy meminta sukarelawan menyelami kode. Petualangan baru adalah tentang menguji file theme.json .
Perubahan itu kemungkinan akan membatasi kumpulan sukarelawan biasa. Namun, itu bisa membukanya untuk audiens yang mungkin telah duduk di samping untuk tes sebelumnya: pengembang tema.
Sebelum melompati file JSON tema utama, kita mungkin harus berada di halaman yang sama.
Saya telah menyebut theme.json sebagai titik kritis antara WordPress lama dan WordPress baru. Ketika versi 5.0 dari platform inti diluncurkan pada akhir 2018, itu adalah langkah maju yang revolusioner, tetapi tidak di permukaan. Editor baru hanyalah editor baru. Beberapa akan menyukainya; orang lain akan membencinya. Dan, itu lebih sering kikuk daripada tidak. Untuk sebagian besar, WordPress masih WordPress.
Perangkat lunak inti akan mengalami upending. Teknologi yang lebih baru tidak hanya mendemokrasikan penerbitan dengan caranya sendiri, tetapi juga membawa konsep yang sama ke desain.
Pengenalan blok hanyalah dasar. Editor baru adalah alat yang tidak sempurna, sering kali merasa seperti patok bulat yang dijejalkan ke dalam lubang persegi.
Satu-satunya cara untuk mewujudkan visi awal proyek Gutenberg adalah terus menjembatani kesenjangan antara apa yang dilihat pengguna di admin dan apa yang dihasilkan di front end. Itulah yang dimaksud dengan file theme.json . Ini adalah penerjemah yang memungkinkan pengguna, tema, dan WordPress untuk berbicara dalam bahasa yang sama.
Apa artinya ini?
Dari sudut pandang pengguna, mereka melihat segala macam kontrol untuk mengubah blok mereka. Warna, ukuran font, perataan, dan opsi lainnya adalah alat yang memungkinkan mereka menyesuaikan kontennya.

Ada keterbatasan parah dengan apa yang mungkin dalam sistem saat ini. Penulis tema dapat mendaftarkan beberapa opsi. Di luar itu, tema dan sistem blok bisa terasa seperti diadu satu sama lain untuk kontrol.
Di situlah file theme.json masuk. Ini memungkinkan tema dan WordPress untuk berada di halaman yang sama, menciptakan sistem standar yang meningkatkan pengalaman pengguna.
File yang berada di folder root tema ini memberikan kekuatan untuk mengonfigurasi lusinan preset (misalnya, opsi warna dan font), properti CSS khusus, dan gaya default untuk blok dan elemen HTML.
Ini juga memberi tema kekuatan untuk mengaktifkan atau menonaktifkan fitur tertentu. Misalnya, pengembang dapat menonaktifkan kemampuan pengguna untuk menyetel ukuran font khusus tetapi memberikan akses ke skala pilihan sempurna yang sesuai dengan ritme vertikal desain.
Namun, itu akan melampaui konfigurasi blok sederhana di editor konten. Saat sistem gaya global diluncurkan bersama editor situs di masa mendatang, pengguna akan menyesuaikan banyak prasetel dan menimpa gaya blok default. Karena semua orang berbicara dalam bahasa yang sama, konflik yang muncul lebih sedikit.
Seperti yang ditunjukkan oleh desainer Tammie Lister dalam karyanya untuk Tema Ephermeral, Theme.json menginspirasi, tema telah macet. Perangkat lunak, komunitas, telah meletakkan terlalu banyak tanggung jawab di pundak tema selama bertahun-tahun. Mereka harus berinovasi dan membangun sistem yang seharusnya berasal dari WordPress. Tidak hanya platform inti yang perlu diubah, tetapi sistem desainnya juga layak untuk dirombak.
“Saya sangat sadar bahwa mengatakan 'proses tema besar pertama ke inti' dalam beberapa tahun adalah pernyataan yang cukup bagus," tulis Lister. “Theme.json bagi saya adalah itu. Saya tidak mengatakan ini mengabaikan iterasi dan peningkatan, WordPress adalah proyek yang mengalir dengan energi itu. Namun, tema-tema tentang dukungan hidup terjebak di tanah ketika sisa pengembangan ujung depan terus berlanjut. Bukan untuk beberapa orang yang mencoba mengubah itu, kebanyakan ketika mereka melakukannya waktunya tidak tepat dan karena itu tidak datang dari inti, itu selalu merupakan perubahan yang lebih sulit.”

Sudah waktunya untuk era desain front-end baru. Tapi, pertama-tama, kita harus menguji.
Pengujian Tema JSON

Semakin saya melakukan perjalanan ke panggilan untuk pengujian ini, semakin saya menyadari itu tidak terasa tepat untuk saya. Selama beberapa bulan terakhir, saya sudah sibuk bekerja dari file theme.json . Saya tahu sebagian besar kebiasaan kecil dan melihat celahnya. Trik untuk bekerja dengannya terasa seperti kebiasaan bagi saya.
Saya telah melakukan semua langkah pemula dan menengah puluhan kali. Saya sudah mengajukan tiket untuk masalah apa pun yang saya hadapi. Atau, orang lain telah memukul saya sampai habis.
Tahapan putaran pengujian ini membutuhkan mata segar. Umpan balik terbaik akan datang dari penulis tema yang akan melihat masalah melalui sepasang lensa yang berbeda. Jika Anda berada di grup ini, tidak ada waktu seperti saat ini untuk menguji dan memberikan umpan balik.
Tahap lanjutan memerlukan pembuatan ulang tema klasik menggunakan theme.json . Yang terbaik adalah tetap dengan sesuatu yang sederhana. Jika tidak, Anda bisa melihat eksperimen selama berminggu-minggu. McCarthy merekomendasikan Twenty Twenty atau Storefront. Saya sudah membawakan lagu dan tarian ini juga. Proyek pengujian saya adalah tema lama yang saya hancurkan dan diubah menjadi tema blok.
Ada satu masalah menyeluruh yang terus saya bahas. Penulis tema harus bekerja dari file JSON sama sekali.
Saya mengerti "mengapa" di balik penggunaan JSON. Ini adalah format universal yang dapat kita berikan dari JavaScript ke PHP. API pihak ketiga dapat memahaminya.
Namun, saat ini saya duduk di atas 900+ baris kode di theme.json saya. Saya telah mendengar dari beberapa penulis tema lain yang telah melakukan pekerjaan mendalam dengan jumlah yang sama. Saya berharap itu hanya tumbuh.
"Jumlah garis" belum tentu merupakan metrik di mana total tertentu adalah titik pemisah antara "baik" atau "buruk". Masalahnya adalah komentar tidak diperbolehkan dalam file JSON. Salah satu landasan pengembangan suara adalah mendokumentasikan kode. Melewatkan dokumentasi beberapa lusin baris tidak terlalu buruk. Namun, ketika Anda melaju melewati 900, segalanya bisa menjadi tidak terkendali.
Plus, pada titik tertentu, Anda mulai ingin membagi potongan menjadi kelompok mereka sendiri. Kode sebanyak ini memohon untuk organisasi yang lebih baik.
Hal yang saat ini hilang adalah lapisan PHP untuk digunakan oleh penulis tema. Ingat, JSON adalah format universal. Sangat mudah untuk mengkonversi PHP ke JSON dan sebaliknya. Membangun di lapisan ini untuk penulis tema akan mencapai dua hal:
- Mereka dapat mengatur apa yang kemungkinan akan menjadi 1.000 baris kode.
- Akan lebih mudah untuk beralih ke sistem baru.
Poin terakhir mungkin yang paling menonjol. PHP telah menjadi bahasa tema sejak tema ada. Pengembang mengetahuinya dan merasa nyaman menggunakannya, dan WordPress harus menemui mereka di tengah. Jika kita menutup celah, ini adalah salah satu yang perlu diisi sebelum lebih banyak kemungkinan konfigurasi ditambahkan dan file theme.json menjadi raksasa 5.000 baris yang berat.
