Kontrak Code Block Shiki dan Short Lang ID
Saya kunci kontrak code block biar artikel tidak merusak render: lang id pendek, alias Shiki jelas, dan blok yang salah bentuk ditolak sebelum publish.
Masalahnya bukan highlight, tapi window title
Perubahan ini lahir dari hal yang kelihatannya receh: javascript dan typescript memang bisa di-highlight, tapi window title code block jadi aneh. snippet.javascript muncul di tempat yang seharusnya script.js. Itu kecil, tapi cukup buat bikin output blog terasa nggak rapi. Saya nggak mau artikel teknis kelihatan setengah jadi cuma gara-gara label bahasa.
Shiki memang punya mekanisme alias bahasa resmi. Jadi solusinya bukan trik aneh, cuma normalisasi ke id pendek yang konsisten: js, ts, py, md, dan kawan-kawannya. Begitu alias dipetakan jelas, render tetap stabil dan label jendela juga waras.
Yang saya kunci di pipeline
Di level artikel, saya juga kunci bentuk code block. Bentuk aman cuma <pre><code class="language-...">. Fenced markdown mentah, <pre> tanpa <code>, atau token embed yang nyasar ke dalam code semuanya ditolak oleh verify. Itu sengaja. Artikel produksi nggak boleh bergantung pada keberuntungan render.
Ada satu hal yang saya suka dari batasan seperti ini: dia memaksa teks tutorial jadi jujur. Token embed di dalam code harus tetap literal, bukan dirender. Jadi pembaca lihat sintaks aslinya, bukan hasil yang sudah dibantu browser. Kalau struktur salah, lebih baik gagal sebelum publish daripada diam-diam rusak di halaman publik.