Menambah komponen
Alur kerja delapan langkah, penjaga otomatis, dan daftar periksa sebelum mengirim perubahan.
Alur kerja
- 1Cari dulu, jangan bikinPeriksa 42 halaman pratinjau. Kalau ada komponen dengan peran yang sama, ubah yang itu.
- 2Tambahkan token bila perluNilai baru masuk ke
tokens.cssdulu, lalu dua turunannya. Lihat Token. - 3Tulis gayaDi bagian komponen pada
themekit/classroom.css. Ikuti susunan blok, elemen, varian, keadaan. - 4Buat halaman galeriBerkas baru di
components/: contoh hidup, blok "Lihat kode", dan tombol salin. - 5Daftarkan di
tools/build.pyTambahkan ke daftar kelompok. Navigasi seluruh halaman dibangun dari daftar itu. - 6Bangun ulang navigasi
python3 tools/build.py— menulis ulang sidebar semua halaman sekaligus. - 7Perbarui pratinjau
python3 tools/build.py --thumbsmemotret ulang halaman pratinjau. - 8Jalankan penjaga
python3 tools/check.py— semua harus lolos sebelum dikirim.
Kenapa navigasi dibangun, bukan disalin
Sebelumnya sidebar disalin ke 42 berkas. Satu perubahan harus diulang di semuanya, dan setiap kali ada halaman yang tertinggal. Sekarang tools/build.py memegang daftar halaman, dan setiap berkas hanya menyimpan penanda:
<nav class="ck-sidebar__nav" data-ck-nav="komponen" aria-label="Navigasi themekit"> <!-- ck:nav --> </nav>
Isi di antara penanda itu yang ditulis ulang. Jangan menyunting hasilnya langsung — akan tertimpa pada pembangunan berikutnya.
Penjaga otomatis
tools/check.py menjalankan tujuh pemeriksaan. Semuanya harus lolos.
| Pemeriksaan | Menangkap |
|---|---|
| Tautan internal | Tautan yang menunjuk berkas yang tidak ada |
| Nilai mentah | Warna hex, rgb(), atau ukuran px di luar blok token |
| Token sinkron | Token yang ada di tokens.css tapi belum di tokens.json atau preset Tailwind |
| Cakupan komponen | Komponen CSS tanpa halaman galeri |
| Skrip sebaris | <script> di halaman komponen |
| Navigasi sinkron | Sidebar yang melenceng dari tools/build.py |
| Aksesibilitas dasar | Tombol tanpa label, gambar tanpa teks alternatif, judul melompat |
$ python3 tools/check.py classroom-themekit — uji mandiri halaman komponen : 42 ukuran CSS : 57 KB ukuran JS : 21 KB token : 138 Semua pemeriksaan lolos.
Gaya penulisan
- Bahasa Indonesia, kalimat pendek, tanpa basa-basi.
- Jelaskan mengapa, bukan hanya apa. "Jangan lupa defer" kurang berguna; "tanpa defer skrip berjalan sebelum markup ada" berguna.
- Setiap contoh harus bisa disalin dan langsung jalan.
- Sebut nama kelas yang sebenarnya, jangan menyamarkan.
- Kalau ada nilai yang bisa diukur (rasio kontras, ukuran berkas, jumlah token), tulis angkanya.