2026-08-06

How this blog works Cara kerja blog ini

Every post here starts as a Markdown file — no code, no deploy step beyond one command. Setiap tulisan di sini dimulai dari file Markdown — tanpa kode, tanpa langkah deploy selain satu perintah.

This site's Markdown lives in blog/posts/. Each file is one post: a small frontmatter block up top, then the body underneath. Berkas Markdown situs ini ada di blog/posts/. Setiap file adalah satu tulisan: blok frontmatter kecil di atas, lalu isi di bawahnya.

Writing a post Menulis tulisan baru

Frontmatter needs six fields: slug, date, title_en, title_id, excerpt_en, and excerpt_id. The slug becomes the file name — /blog/your-slug.html. Frontmatter butuh enam field: slug, date, title_en, title_id, excerpt_en, dan excerpt_id. Slug menjadi nama file — /blog/slug-kamu.html.

Below the frontmatter, write plain Markdown: ## headings, paragraphs, bold, italic, links, and lists. Di bawah frontmatter, tulis Markdown biasa: ## judul, paragraf, tebal, miring, tautan, dan daftar.

Adding the Indonesian text Menambahkan teks bahasa Indonesia

Right after any heading, paragraph, or list item — no blank line in between — add a line starting with [ID]. That becomes the Indonesian parallel text, styled the same way the rest of the site pairs languages. Tepat setelah judul, paragraf, atau item daftar — tanpa baris kosong di antaranya — tambahkan baris yang dimulai dengan [ID]. Teks itu akan jadi versi bahasa Indonesia, ditata sama seperti pasangan bahasa di bagian lain situs ini.

  • Run npm run blog:build after adding or editing a post. Jalankan npm run blog:build setelah menambah atau mengubah tulisan.
  • The script reads every file in blog/posts/, newest date first. Skrip ini membaca semua file di blog/posts/, tanggal terbaru lebih dulu.
  • It writes static HTML straight into public/blog/ — nothing else to wire up. Skrip menulis HTML statis langsung ke public/blog/ — tidak ada lagi yang perlu disambungkan.