Skip to content

Identitas halaman mirror: marker tersembunyi, bukan nama

Adityo Guni Waluyo

Pengikatan halaman mirror lewat nama itu rapuh; modul pagesync memindahkan otoritas ke marker HTML tersembunyi plus sha256 konten yang dinormalisasi.

Ringkasan

Alat pagesync v3 mirror file markdown ke Plane Pages pakai komen HTML tersembunyi sebagai identitas, bukan nama halaman yang gampang diubah editor. Aturannya ketat, kalau marker hilang langsung diblok, file twoway menang lawan oneway, dan oneway cuma bisa publish aja. Drift dicek pakai sha256 tanpa frontmatter plus validasi config yang galak biar nggak kena path traversal.

Marker Tersembunyi sebagai Otoritas

Jari saya udah ngetik nama halaman sebagai pengikat pas nulis modul pagesync buat alat sinkronisasi dokumen. Untung saya berhenti. Nama halaman itu buat manusia: editor bisa mengubahnya kapan aja, dan begitu berubah, pengikatan berbasis nama fork diam-diam. Identitas yang dibentuk oleh konten jauh lebih tahan banting. Versi 3 alat ini nunjukkin pola desainnya dengan bersih.

Konteksnya: alat ini mirror file markdown di .docs ke Plane Pages self-hosted. Versi 3 nambahin mesin halaman di sebelah mesin work-item yang udah terbukti. Primitif pertama yang saya tulis: identitas. Solusinya marker HTML tersembunyi di baris pertama body halaman, isinya path relatif file sumber. Bentuknya begini:

<!-- plane-doc-sync:v3 path=.docs/MEETING/2026-09-27-weekly.md -->
# Meeting Notes
Actual content starts here

Komen HTML memang didesain buat catatan penjelas atau buat nahan browser menginterpretasikan bagian dokumen, dan browser nggak pernah merendernya [1]. Probe langsung di hari dan malam sebelumnya nunjukkin Plane Community Edition melakukan round-trip HTML halaman secara verbatim, komen termasuk. Dokumentasi resmi Plane memperingatkan bahwa mereka melakukan sanitasi HTML di sisi server [2], jadi desain marker ini ngandelin perilaku CE yang terukur, dengan dokumentasi sebagai batas konservatifnya. Marker hilang atau salah format? Halaman langsung diklasifikasikan blocked. Alat ini nggak menebak. Path di marker harus sepakat dengan path item di config; page_id boleh dicatat di config sebagai handle buat panggilan API, tapi dia nggak pernah jadi pengikat.

Kenapa disembunyikan? Di versi 2, marker hidup di work-item yang HTML-nya memang disanitasi server, jadi komen langsung terkelupas. Halaman nggak melakukan itu. Bentuk penyimpanan menentukan bentuk identitas.

Penamaan untuk Manusia, Tier yang Tegas

Penamaan halaman dibikin begini: MEETING: YYYY-MM-DD — </code> buat file dua arah, <code>DOC: <path></code> buat dokumen perpustakaan satu arah, misal file rapat di <code>.docs/MEETING/2026-09-27-weekly.md</code> jadi halaman bernama MEETING: 2026-09-27 — Weekly. Judulnya diambil dari frontmatter kalau ada, kalau nggak ada, dirangkai dari tanggal plus slug file. Namanya enak dibaca manusia, dan perannya berhenti di situ. Karena halaman di Plane itu datar, proses create mengabaikan parent, struktur hidup di dalam nama, bukan di hierarki folder.</p> <p>Resolusi tier-nya juga sengaja dibikin bebas ambiguitas. File yang jatuh di bawah direktori twoway sekaligus oneway dianggap twoway, titik; keputusan ini disengaja biar satu file nggak pernah punya dua perlakuan. Di luar keduanya, error, bukan tebakan. Halaman oneway sifatnya publish-only, proses pull ditolak oleh desain, karena arahnya emang cuma satu: dari repo ke halaman. Identitas konten yang jadi otoritas bikin aturan kayak gini gampang dijalanin: status halaman ditarik dari marker plus hash, bukan dari perasaan.</p> <h2 id="drift-dan-validasi-config">Drift dan Validasi Config</h2> <p>Otoritas drift dihitung pakai sha256 atas markdown yang udah dinormalisasi di kedua sisi. Di sisi repositori, YAML frontmatter dibuang dulu sebelum di-hash, jadi metadata lokal nggak pernah memengaruhi hasil drift. Di sisi Plane, hash dihitung dari markdown yang ditarik balik lewat converter. Python nyediain <code>sha256</code> sebagai konstruktor yang selalu ada di modul hashlib, meski dokumentasinya nyertain catatan FIPS bahwa beberapa fungsi hash punya ketahanan kolisi yang lebih rendah dari harapan [3]. Makanya validator config saya pin algoritmanya eksplisit, nggak percaya default ambient.</p> <p>Validasi config juga punya garis keras. Setiap path item harus resolve di dalam repositori. Path traversal itu kelas bug OWASP tersendiri, dan di sini dikategorikan bug config: hard stop [4]. Field <code>last_sync</code> wajib megang dua digest hex 64 karakter plus timestamp. Config v2 yang nyoba nyentuh aksi halaman langsung mati dengan satu pesan error yang persis sama tiap kali.</p> <p>Pelajaran dari modul kecil ini: <strong>identitas yang dibentuk konten bertahan melewati rename, penulisan ulang editor, dan pergantian ID</strong>. Identitas yang dibentuk nama atau judul bakal patah di kesempatan pertama ada yang mengganti nama.</p> <h2 id="sumber">Sumber</h2> <ul> <li>[1] <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Guides/Comments">Using HTML comments (MDN)</a></li> <li>[2] <a href="https://developers.plane.so/api-reference/page/page-content-html">Page content HTML contract (Plane API reference)</a></li> <li>[3] <a href="https://docs.python.org/3/library/hashlib.html">hashlib (dokumentasi Python)</a></li> <li>[4] <a href="https://owasp.org/www-community/attacks/Path_Traversal">Path Traversal (OWASP)</a></li> </ul></div></div></div><nav class="mt-10 flex flex-col gap-5 sm:flex-row sm:items-start sm:justify-between sm:gap-8"><a class="group min-w-0 flex-1" href="/id/blog/kontrak-dua-sisi-konverter"><span class="flex items-center gap-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground transition-colors group-hover:text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-left size-3.5 transition-transform group-hover:-translate-x-0.5" aria-hidden="true"><path d="m12 19-7-7 7-7"></path><path d="M19 12H5"></path></svg>Sebelumnya</span><span class="mt-1 block line-clamp-2 text-sm font-semibold text-foreground transition-colors group-hover:text-primary sm:line-clamp-1">Unit Test Hijau Semua, Tapi Konverter Tetap Rusak</span></a></nav></article><aside class="hidden xl:block"><nav aria-label="Table of contents" class="sticky top-24 max-h-[calc(100vh-7rem)] overflow-y-auto pb-8"><h3 class="mb-3 flex items-center gap-1.5 text-[13px] font-bold text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list-tree size-3.5" aria-hidden="true"><path d="M8 5h13"></path><path d="M13 12h8"></path><path d="M13 19h8"></path><path d="M3 10a2 2 0 0 0 2 2h3"></path><path d="M3 5v12a2 2 0 0 0 2 2h3"></path></svg>Di halaman ini</h3><div class="text-[13px]"><div class=""><a href="#marker-tersembunyi-sebagai-otoritas" class="group flex items-center gap-1 rounded-md py-1 pr-2 pl-1 font-semibold text-foreground/80 transition-colors hover:text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right size-3 shrink-0 text-muted-foreground/50 transition-transform group-hover:translate-x-0.5 group-hover:text-primary" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><span class="truncate">Marker Tersembunyi sebagai Otoritas</span></a></div><div class="mt-3"><a href="#penamaan-untuk-manusia-tier-yang-tegas" class="group flex items-center gap-1 rounded-md py-1 pr-2 pl-1 font-semibold text-foreground/80 transition-colors hover:text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right size-3 shrink-0 text-muted-foreground/50 transition-transform group-hover:translate-x-0.5 group-hover:text-primary" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><span class="truncate">Penamaan untuk Manusia, Tier yang Tegas</span></a></div><div class="mt-3"><a href="#drift-dan-validasi-config" class="group flex items-center gap-1 rounded-md py-1 pr-2 pl-1 font-semibold text-foreground/80 transition-colors hover:text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right size-3 shrink-0 text-muted-foreground/50 transition-transform group-hover:translate-x-0.5 group-hover:text-primary" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><span class="truncate">Drift dan Validasi Config</span></a></div><div class="mt-3"><a href="#sumber" class="group flex items-center gap-1 rounded-md py-1 pr-2 pl-1 font-semibold text-foreground/80 transition-colors hover:text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right size-3 shrink-0 text-muted-foreground/50 transition-transform group-hover:translate-x-0.5 group-hover:text-primary" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><span class="truncate">Sumber</span></a></div></div></nav></aside></div></div><div class="mx-auto max-w-6xl px-3 pb-8 sm:px-4"><section><h2 class="text-lg font-bold tracking-tight sm:text-xl">Artikel terkait</h2><div class="mt-5 grid grid-cols-1 gap-x-10 gap-y-6 lg:grid-cols-2"><div class="relative"><span aria-hidden="true" class="absolute top-2 bottom-[-1.5rem] left-7 w-px -translate-x-1/2 bg-gradient-to-b from-primary/40 via-border to-transparent sm:left-8 lg:left-9"></span><a class="group relative flex items-start gap-3 sm:gap-4" href="/id/blog/memory-agent-sintesis-mingguan"><div class="relative flex w-14 shrink-0 flex-col items-center gap-1.5 sm:w-16 lg:w-[4.5rem]"><time dateTime="2026-09-04T09:57:43Z" class="inline-flex w-max shrink-0 items-center gap-1 whitespace-nowrap rounded-full bg-[#25E2A8]/10 px-1.5 py-0.5 text-[9px] font-medium tabular-nums text-emerald-600 dark:text-[#25E2A8]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock3 lucide-clock-3 size-2.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6h4"></path></svg>4 Sep 2026</time><div aria-hidden="true" class="flex size-14 shrink-0 items-center justify-center text-muted-foreground/40 sm:size-16 lg:size-[4.5rem]"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="size-7 text-muted-foreground/60 sm:size-8 lg:size-10" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M22.282 9.821a6 6 0 0 0-.516-4.91a6.05 6.05 0 0 0-6.51-2.9A6.065 6.065 0 0 0 4.981 4.18a6 6 0 0 0-3.998 2.9a6.05 6.05 0 0 0 .743 7.097a5.98 5.98 0 0 0 .51 4.911a6.05 6.05 0 0 0 6.515 2.9A6 6 0 0 0 13.26 24a6.06 6.06 0 0 0 5.772-4.206a6 6 0 0 0 3.997-2.9a6.06 6.06 0 0 0-.747-7.073M13.26 22.43a4.48 4.48 0 0 1-2.876-1.04l.141-.081l4.779-2.758a.8.8 0 0 0 .392-.681v-6.737l2.02 1.168a.07.07 0 0 1 .038.052v5.583a4.504 4.504 0 0 1-4.494 4.494M3.6 18.304a4.47 4.47 0 0 1-.535-3.014l.142.085l4.783 2.759a.77.77 0 0 0 .78 0l5.843-3.369v2.332a.08.08 0 0 1-.033.062L9.74 19.95a4.5 4.5 0 0 1-6.14-1.646M2.34 7.896a4.5 4.5 0 0 1 2.366-1.973V11.6a.77.77 0 0 0 .388.677l5.815 3.354l-2.02 1.168a.08.08 0 0 1-.071 0l-4.83-2.786A4.504 4.504 0 0 1 2.34 7.872zm16.597 3.855l-5.833-3.387L15.119 7.2a.08.08 0 0 1 .071 0l4.83 2.791a4.494 4.494 0 0 1-.676 8.105v-5.678a.79.79 0 0 0-.407-.667m2.01-3.023l-.141-.085l-4.774-2.782a.78.78 0 0 0-.785 0L9.409 9.23V6.897a.07.07 0 0 1 .028-.061l4.83-2.787a4.5 4.5 0 0 1 6.68 4.66zm-12.64 4.135l-2.02-1.164a.08.08 0 0 1-.038-.057V6.075a4.5 4.5 0 0 1 7.375-3.453l-.142.08L8.704 5.46a.8.8 0 0 0-.393.681zm1.097-2.365l2.602-1.5l2.607 1.5v2.999l-2.597 1.5l-2.607-1.5Z"/></svg></div><span aria-hidden="true" class="absolute -bottom-1 left-1/2 h-px w-5 bg-border"></span><span aria-hidden="true" class="absolute -bottom-1 left-1/2 size-2 -translate-x-1/2 rounded-full bg-primary opacity-40 shadow-[0_0_8px_2px_color-mix(in_srgb,var(--primary)_40%,transparent)] transition-opacity group-hover:opacity-100"></span></div><div class="min-w-0 flex-1 pt-0.5"><span class="inline-flex items-center gap-1.5 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-bold tracking-wide text-primary uppercase sm:text-[11px]"><span class="size-1.5 animate-pulse rounded-full bg-primary"></span>ai</span><h3 class="mt-1.5 line-clamp-2 text-[13px] leading-snug font-semibold text-foreground transition-colors group-hover:text-primary sm:line-clamp-1 sm:text-[15px]">Memory Agent Saya Disintesis Sekali Seminggu, Bukan Tiap Chat</h3><p class="mt-1 line-clamp-2 text-[11px] leading-relaxed text-muted-foreground sm:line-clamp-1 sm:text-xs">Cron mingguan no-agent membaca digest pesan tujuh hari lalu mengusulkan kandidat pembaruan memory: kandidat dulu, ratifikasi kemudian, tanpa auto-write.</p></div></a></div><div class="relative"><span aria-hidden="true" class="absolute top-2 bottom-[-1.5rem] left-7 w-px -translate-x-1/2 bg-gradient-to-b from-primary/40 via-border to-transparent sm:left-8 lg:left-9"></span><a class="group relative flex items-start gap-3 sm:gap-4" href="/id/blog/deskripsi-dari-riset-bukan-placeholder"><div class="relative flex w-14 shrink-0 flex-col items-center gap-1.5 sm:w-16 lg:w-[4.5rem]"><time dateTime="2026-09-23T18:27:22Z" class="inline-flex w-max shrink-0 items-center gap-1 whitespace-nowrap rounded-full bg-[#25E2A8]/10 px-1.5 py-0.5 text-[9px] font-medium tabular-nums text-emerald-600 dark:text-[#25E2A8]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock3 lucide-clock-3 size-2.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6h4"></path></svg>24 Sep 2026</time><div title="nextjs" class="flex size-14 shrink-0 items-center justify-center gap-0.5 sm:size-16 sm:gap-1"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="size-full transition-transform duration-200 group-hover:scale-110" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M18.665 21.978A11.94 11.94 0 0 1 12 24C5.377 24 0 18.623 0 12S5.377 0 12 0s12 5.377 12 12c0 3.583-1.574 6.801-4.067 9.001L9.219 7.2H7.2v9.596h1.615V9.251zm-3.332-8.533l1.6 2.061V7.2h-1.6z"/></svg></div><span aria-hidden="true" class="absolute -bottom-1 left-1/2 h-px w-5 bg-border"></span><span aria-hidden="true" class="absolute -bottom-1 left-1/2 size-2 -translate-x-1/2 rounded-full bg-primary opacity-40 shadow-[0_0_8px_2px_color-mix(in_srgb,var(--primary)_40%,transparent)] transition-opacity group-hover:opacity-100"></span></div><div class="min-w-0 flex-1 pt-0.5"><span class="inline-flex items-center gap-1.5 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-bold tracking-wide text-primary uppercase sm:text-[11px]"><span class="size-1.5 animate-pulse rounded-full bg-primary"></span>seo</span><h3 class="mt-1.5 line-clamp-2 text-[13px] leading-snug font-semibold text-foreground transition-colors group-hover:text-primary sm:line-clamp-1 sm:text-[15px]">Deskripsi Kartu Perusahaan dari Riset, Bukan Placeholder</h3><p class="mt-1 line-clamp-2 text-[11px] leading-relaxed text-muted-foreground sm:line-clamp-1 sm:text-xs">Mengganti [PLACEHOLDER] dengan fakta yang bisa diverifikasi, dan kenapa teks generik justru dekat dengan sinyal spam Google.</p></div></a></div><div class="relative"><span aria-hidden="true" class="absolute top-2 bottom-[-1.5rem] left-7 w-px -translate-x-1/2 bg-gradient-to-b from-primary/40 via-border to-transparent sm:left-8 lg:left-9"></span><a class="group relative flex items-start gap-3 sm:gap-4" href="/id/blog/plane-pages-mirror-dokumen"><div class="relative flex w-14 shrink-0 flex-col items-center gap-1.5 sm:w-16 lg:w-[4.5rem]"><time dateTime="2026-09-29T07:05:43Z" class="inline-flex w-max shrink-0 items-center gap-1 whitespace-nowrap rounded-full bg-[#25E2A8]/10 px-1.5 py-0.5 text-[9px] font-medium tabular-nums text-emerald-600 dark:text-[#25E2A8]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock3 lucide-clock-3 size-2.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6h4"></path></svg>29 Sep 2026</time><div title="git" class="flex size-14 shrink-0 items-center justify-center gap-0.5 sm:size-16 sm:gap-1"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="size-full transition-transform duration-200 group-hover:scale-110" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M13.09 23.549a1.54 1.54 0 0 1-2.18 0L.451 13.089a1.54 1.54 0 0 1 0-2.179l7.191-7.19l2.733 2.733a1.85 1.85 0 0 0 .964 2.326v6.66a1.849 1.849 0 1 0 1.54 0V8.957l2.508 2.508a1.85 1.85 0 1 0 1.09-1.09l-2.634-2.634a1.85 1.85 0 0 0-2.378-2.377L8.73 2.63L10.91.451a1.54 1.54 0 0 1 2.179 0l10.459 10.46a1.54 1.54 0 0 1 0 2.179z"/></svg></div><span aria-hidden="true" class="absolute -bottom-1 left-1/2 h-px w-5 bg-border"></span><span aria-hidden="true" class="absolute -bottom-1 left-1/2 size-2 -translate-x-1/2 rounded-full bg-primary opacity-40 shadow-[0_0_8px_2px_color-mix(in_srgb,var(--primary)_40%,transparent)] transition-opacity group-hover:opacity-100"></span></div><div class="min-w-0 flex-1 pt-0.5"><span class="inline-flex items-center gap-1.5 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-bold tracking-wide text-primary uppercase sm:text-[11px]"><span class="size-1.5 animate-pulse rounded-full bg-primary"></span>devops</span><h3 class="mt-1.5 line-clamp-2 text-[13px] leading-snug font-semibold text-foreground transition-colors group-hover:text-primary sm:line-clamp-1 sm:text-[15px]">Mirror dokumen pindah kantor: dari work item ke Plane Pages</h3><p class="mt-1 line-clamp-2 text-[11px] leading-relaxed text-muted-foreground sm:line-clamp-1 sm:text-xs">Halaman API Plane bikin mirror dokumen versi work item terasa salah tempat. Kontrak penyimpanannya berubah, desain identitas mirror ikut dibongkar.</p></div></a></div><div class="relative"><span aria-hidden="true" class="absolute top-2 bottom-[-1.5rem] left-7 w-px -translate-x-1/2 bg-gradient-to-b from-primary/40 via-border to-transparent sm:left-8 lg:left-9"></span><a class="group relative flex items-start gap-3 sm:gap-4" href="/id/blog/logo-theme-aware-footer"><div class="relative flex w-14 shrink-0 flex-col items-center gap-1.5 sm:w-16 lg:w-[4.5rem]"><time dateTime="2026-09-24T03:03:27Z" class="inline-flex w-max shrink-0 items-center gap-1 whitespace-nowrap rounded-full bg-[#25E2A8]/10 px-1.5 py-0.5 text-[9px] font-medium tabular-nums text-emerald-600 dark:text-[#25E2A8]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock3 lucide-clock-3 size-2.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6h4"></path></svg>24 Sep 2026</time><div title="css, tailwind" class="flex size-14 shrink-0 items-center justify-center gap-0.5 sm:size-16 sm:gap-1"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="size-full transition-transform duration-200 group-hover:scale-110" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M1.5 0h21l-1.91 21.563L11.977 24l-8.565-2.438zm17.09 4.413L5.41 4.41l.213 2.622l10.125.002l-.255 2.716h-6.64l.24 2.573h6.182l-.366 3.523l-2.91.804l-2.956-.81l-.188-2.11h-2.61l.29 3.855L12 19.288l5.373-1.53z"/></svg><div class="flex max-h-full flex-col flex-wrap gap-0.5 sm:gap-1"><span title="tailwind" class="flex size-4 items-center justify-center rounded-full bg-[#25E2A8]/10 p-0.5 ring-1 ring-[#25E2A8]/30 ring-inset sm:size-[1.15rem]"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="size-full text-emerald-600 dark:text-[#25E2A8]" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M12.001 4.8q-4.8 0-6 4.8q1.8-2.4 4.2-1.8c.913.228 1.565.89 2.288 1.624C13.666 10.618 15.027 12 18.001 12q4.8 0 6-4.8q-1.8 2.4-4.2 1.8c-.913-.228-1.565-.89-2.288-1.624C16.337 6.182 14.976 4.8 12.001 4.8m-6 7.2q-4.8 0-6 4.8q1.8-2.4 4.2-1.8c.913.228 1.565.89 2.288 1.624c1.177 1.194 2.538 2.576 5.512 2.576q4.8 0 6-4.8q-1.8 2.4-4.2 1.8c-.913-.228-1.565-.89-2.288-1.624C10.337 13.382 8.976 12 6.001 12"/></svg></span></div></div><span aria-hidden="true" class="absolute -bottom-1 left-1/2 h-px w-5 bg-border"></span><span aria-hidden="true" class="absolute -bottom-1 left-1/2 size-2 -translate-x-1/2 rounded-full bg-primary opacity-40 shadow-[0_0_8px_2px_color-mix(in_srgb,var(--primary)_40%,transparent)] transition-opacity group-hover:opacity-100"></span></div><div class="min-w-0 flex-1 pt-0.5"><span class="inline-flex items-center gap-1.5 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-bold tracking-wide text-primary uppercase sm:text-[11px]"><span class="size-1.5 animate-pulse rounded-full bg-primary"></span>frontend</span><h3 class="mt-1.5 line-clamp-2 text-[13px] leading-snug font-semibold text-foreground transition-colors group-hover:text-primary sm:line-clamp-1 sm:text-[15px]">Satu Logo, Dua File: Brand Mark yang Nurut Tema</h3><p class="mt-1 line-clamp-2 text-[11px] leading-relaxed text-muted-foreground sm:line-clamp-1 sm:text-xs">Pil background ternyata cuma tambal: brand mark butuh dua aset ketika situs punya dark mode plus toggle manual yang dipersist.</p></div></a></div><div class="relative"><span aria-hidden="true" class="absolute top-2 bottom-[-1.5rem] left-7 w-px -translate-x-1/2 bg-gradient-to-b from-primary/40 via-border to-transparent sm:left-8 lg:left-9"></span><a class="group relative flex items-start gap-3 sm:gap-4" href="/id/blog/satu-bahasa-desain-untuk-semua-halaman"><div class="relative flex w-14 shrink-0 flex-col items-center gap-1.5 sm:w-16 lg:w-[4.5rem]"><time dateTime="2026-09-24T06:35:58Z" class="inline-flex w-max shrink-0 items-center gap-1 whitespace-nowrap rounded-full bg-[#25E2A8]/10 px-1.5 py-0.5 text-[9px] font-medium tabular-nums text-emerald-600 dark:text-[#25E2A8]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock3 lucide-clock-3 size-2.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6h4"></path></svg>24 Sep 2026</time><div title="css" class="flex size-14 shrink-0 items-center justify-center gap-0.5 sm:size-16 sm:gap-1"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="size-full transition-transform duration-200 group-hover:scale-110" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M1.5 0h21l-1.91 21.563L11.977 24l-8.565-2.438zm17.09 4.413L5.41 4.41l.213 2.622l10.125.002l-.255 2.716h-6.64l.24 2.573h6.182l-.366 3.523l-2.91.804l-2.956-.81l-.188-2.11h-2.61l.29 3.855L12 19.288l5.373-1.53z"/></svg></div><span aria-hidden="true" class="absolute -bottom-1 left-1/2 h-px w-5 bg-border"></span><span aria-hidden="true" class="absolute -bottom-1 left-1/2 size-2 -translate-x-1/2 rounded-full bg-primary opacity-40 shadow-[0_0_8px_2px_color-mix(in_srgb,var(--primary)_40%,transparent)] transition-opacity group-hover:opacity-100"></span></div><div class="min-w-0 flex-1 pt-0.5"><span class="inline-flex items-center gap-1.5 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-bold tracking-wide text-primary uppercase sm:text-[11px]"><span class="size-1.5 animate-pulse rounded-full bg-primary"></span>frontend</span><h3 class="mt-1.5 line-clamp-2 text-[13px] leading-snug font-semibold text-foreground transition-colors group-hover:text-primary sm:line-clamp-1 sm:text-[15px]">Satu Bahasa Desain untuk Semua Halaman</h3><p class="mt-1 line-clamp-2 text-[11px] leading-relaxed text-muted-foreground sm:line-clamp-1 sm:text-xs">Lima subpage terasa seperti website lain setelah homepage didesain ulang. Solusinya bukan mempercantik satu per satu, tapi memindahkan bahasa desain ke komponen shared.</p></div></a></div></div></section></div><!--$--><!--/$--></main><footer class="relative border-t border-border/60 bg-card/30 backdrop-blur-xl"><div class="pointer-events-none absolute inset-x-0 top-0 h-40 overflow-hidden"><div class="absolute left-1/4 top-0 h-40 w-80 rounded-full bg-[#2ea043] opacity-[0.05] blur-[80px]"></div><div class="absolute right-1/4 top-0 h-40 w-80 rounded-full bg-[#1f6feb] opacity-[0.05] blur-[80px]"></div></div><div class="h-px bg-gradient-to-r from-transparent via-[#2ea043]/60 to-transparent"></div><div class="relative mx-auto max-w-6xl"><div class="px-3 py-10 sm:px-4 sm:py-12"><div class="grid gap-10 sm:gap-8 lg:grid-cols-[1.5fr_2fr]"><div class="flex flex-col"><a class="group inline-flex w-fit items-center gap-2.5" href="/id"><div class="flex size-9 items-center justify-center rounded-lg bg-gradient-to-br from-[#238636] via-[#1f6feb] to-[color:var(--accent-purple)] shadow-[0_0_12px_rgba(31,111,235,0.30)] transition-transform duration-300 group-hover:scale-105"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal size-4 text-white" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg></div><span class="text-gradient-tri bg-[length:200%_auto] text-xl font-bold tracking-tight">Adityo</span></a><p class="mt-4 max-w-sm text-sm leading-relaxed text-muted-foreground">Web Developer & IT Specialist — 15+ tahun pengalaman dalam pengembangan web, infrastruktur server, dan integrasi AI.</p><div class="mt-5 flex gap-2"><a href="https://github.com/didiet86" target="_blank" rel="noopener noreferrer" aria-label="GitHub" class="group/social relative flex size-9 items-center justify-center rounded-full border border-border/60 bg-background/40 text-muted-foreground transition-all duration-300 hover:-translate-y-0.5 hover:border-transparent hover:bg-background/80" style="--social-color:var(--foreground)"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="size-4 transition-colors duration-300" style="color:var(--social-color)"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg><span class="pointer-events-none absolute -top-9 left-1/2 -translate-x-1/2 whitespace-nowrap rounded-full border border-border bg-popover px-2.5 py-1 text-xs font-medium text-popover-foreground opacity-0 shadow-xl transition-all duration-200 group-hover/social:-top-10 group-hover/social:opacity-100">GitHub</span></a><a href="https://wa.me/6289666666741" target="_blank" rel="noopener noreferrer" aria-label="WhatsApp" class="group/social relative flex size-9 items-center justify-center rounded-full border border-border/60 bg-background/40 text-muted-foreground transition-all duration-300 hover:-translate-y-0.5 hover:border-transparent hover:bg-background/80" style="--social-color:#25d366"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="size-4 transition-colors duration-300" style="color:var(--social-color)"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"></path></svg><span class="pointer-events-none absolute -top-9 left-1/2 -translate-x-1/2 whitespace-nowrap rounded-full border border-border bg-popover px-2.5 py-1 text-xs font-medium text-popover-foreground opacity-0 shadow-xl transition-all duration-200 group-hover/social:-top-10 group-hover/social:opacity-100">WhatsApp</span></a><a href="#" class="group/social relative flex size-9 items-center justify-center rounded-full border border-border/60 bg-background/40 text-muted-foreground transition-all duration-300 hover:-translate-y-0.5 hover:border-transparent hover:bg-background/80" aria-label="Email" style="--social-color:#1f6feb"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail size-4 transition-colors duration-300" aria-hidden="true" style="color:var(--social-color)"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg><span class="pointer-events-none absolute -top-9 left-1/2 -translate-x-1/2 whitespace-nowrap rounded-full border border-border bg-popover px-2.5 py-1 text-xs font-medium text-popover-foreground opacity-0 shadow-xl transition-all duration-200 group-hover/social:-top-10 group-hover/social:opacity-100">Email</span></a></div><div class="mt-6"><div class="mb-2.5 text-[10px] font-bold uppercase tracking-wider text-muted-foreground/50">Tech Stack</div><div class="flex flex-wrap items-center gap-1.5"><div title="WordPress" class="group/tech flex items-center gap-1.5 rounded-full border border-border/50 bg-background/40 px-2.5 py-1 transition-all duration-300 hover:-translate-y-0.5 hover:border-muted-foreground/30 hover:bg-background/80"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="size-3.5 transition-transform duration-300 group-hover/tech:scale-125" style="color:#21759b"><path d="M3.42 12c0-1.24.27-2.42.75-3.47l4.07 11.13A8.56 8.56 0 0 1 3.42 12zm8.58 8.58c-.83 0-1.64-.12-2.4-.35l2.55-7.4 2.61 7.16.06.14a8.58 8.58 0 0 1-2.82.45zm1.2-12.87c.51-.03.97-.08.97-.08.46-.05.4-.73-.05-.7 0 0-1.38.11-2.27.11-.84 0-2.24-.11-2.24-.11-.46-.03-.51.68-.06.7 0 0 .43.05.89.08l1.32 3.62-1.86 5.56-3.08-9.18c.51-.03.97-.08.97-.08.46-.05.4-.73-.05-.7 0 0-1.38.11-2.27.11-.16 0-.35 0-.55-.01A8.56 8.56 0 0 1 12 3.42c2.25 0 4.3.86 5.84 2.27-.04 0-.08-.01-.12-.01-.83 0-1.42.72-1.42 1.5 0 .69.4 1.28.82 1.97.32.56.69 1.28.69 2.32 0 .72-.28 1.55-.64 2.72l-.84 2.81-3.05-9.07zm2.4 11.27l2.55-7.38c.48-1.19.64-2.14.64-2.99 0-.31-.02-.6-.06-.87a8.56 8.56 0 0 1-3.13 11.24zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 19.13c-5.04 0-9.13-4.09-9.13-9.13S6.96 2.87 12 2.87s9.13 4.09 9.13 9.13-4.09 9.13-9.13 9.13z"></path></svg><span class="text-[11px] font-medium text-muted-foreground transition-colors group-hover/tech:text-foreground">WordPress</span></div><div title="Python" class="group/tech flex items-center gap-1.5 rounded-full border border-border/50 bg-background/40 px-2.5 py-1 transition-all duration-300 hover:-translate-y-0.5 hover:border-muted-foreground/30 hover:bg-background/80"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="size-3.5 transition-transform duration-300 group-hover/tech:scale-125" style="color:#009688"><path d="M11.914 0C5.82 0 6.2 2.656 6.2 2.656l.007 2.752h5.814v.826H3.9S0 5.789 0 11.96c0 6.17 3.403 5.95 3.403 5.95h2.03v-2.867s-.109-3.403 3.34-3.403h5.762s3.233.052 3.233-3.123V3.225S18.49 0 11.914 0zM8.788 1.865a1.04 1.04 0 1 1 0 2.08 1.04 1.04 0 0 1 0-2.08z"></path><path d="M12.086 24c6.094 0 5.714-2.656 5.714-2.656l-.007-2.752h-5.814v-.826h8.121S24 18.211 24 12.04c0-6.17-3.403-5.95-3.403-5.95h-2.03v2.867s.109 3.403-3.34 3.403H9.465s-3.233-.052-3.233 3.123v5.292S5.51 24 12.086 24zm3.126-1.865a1.04 1.04 0 1 1 0-2.08 1.04 1.04 0 0 1 0 2.08z"></path></svg><span class="text-[11px] font-medium text-muted-foreground transition-colors group-hover/tech:text-foreground">Python</span></div><div title="Docker" class="group/tech flex items-center gap-1.5 rounded-full border border-border/50 bg-background/40 px-2.5 py-1 transition-all duration-300 hover:-translate-y-0.5 hover:border-muted-foreground/30 hover:bg-background/80"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="size-3.5 transition-transform duration-300 group-hover/tech:scale-125" style="color:#2496ed"><path d="M13.983 11.078h2.119a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.119a.185.185 0 00-.185.185v1.888c0 .102.083.185.185.185m-2.954-5.43h2.118a.186.186 0 00.186-.186V3.574a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m0 2.716h2.118a.187.187 0 00.186-.186V6.29a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.887c0 .102.082.185.185.186m-2.93 0h2.12a.186.186 0 00.184-.186V6.29a.185.185 0 00-.185-.185H8.1a.185.185 0 00-.185.185v1.887c0 .102.083.185.185.186m-2.964 0h2.119a.186.186 0 00.185-.186V6.29a.185.185 0 00-.185-.185H5.136a.186.186 0 00-.186.185v1.887c0 .102.084.185.186.186m5.893 2.715h2.118a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m-2.93 0h2.12a.186.186 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.083.185.185.185m-2.964 0h2.119a.185.185 0 00.185-.185V9.006a.185.185 0 00-.184-.186h-2.12a.186.186 0 00-.186.186v1.887c0 .102.084.185.186.185m-2.92 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.082.185.185.185M23.763 9.89c-.065-.051-.672-.51-1.954-.51-.338.001-.676.03-1.01.087-.248-1.7-1.653-2.53-1.716-2.566l-.344-.199-.226.327c-.284.438-.49.922-.612 1.43-.23.97-.09 1.882.403 2.661-.595.332-1.55.413-1.744.42H.751a.751.751 0 00-.75.749 11.376 11.376 0 00.692 4.062c.545 1.428 1.355 2.48 2.41 3.124 1.18.723 3.1 1.137 5.275 1.137.983.003 1.963-.086 2.93-.266a12.248 12.248 0 003.823-1.389c.98-.567 1.86-1.288 2.61-2.136 1.252-1.418 1.998-2.997 2.553-4.4h.221c1.372 0 2.215-.549 2.68-1.009.309-.293.55-.65.707-1.046l.098-.288Z"></path></svg><span class="text-[11px] font-medium text-muted-foreground transition-colors group-hover/tech:text-foreground">Docker</span></div><div title="Next.js" class="group/tech flex items-center gap-1.5 rounded-full border border-border/50 bg-background/40 px-2.5 py-1 transition-all duration-300 hover:-translate-y-0.5 hover:border-muted-foreground/30 hover:bg-background/80"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="size-3.5 transition-transform duration-300 group-hover/tech:scale-125" style="color:var(--foreground)"><path d="M11.5725 0c-.1763 0-.3049.0013-.3584.0067-.0516.0053-.2159.021-.3636.0328-3.4088.3073-6.6017 2.1463-8.624 4.9728C1.1004 6.584.3802 8.3666.1082 10.255c-.0962.659-.108.8537-.108 1.7474s.012 1.0884.108 1.7476c.652 4.5064 3.8591 8.2919 8.2087 9.6945.7789.2511 1.6.4223 2.5337.5255.3636.04 1.9354.04 2.299 0 1.6117-.1783 2.9772-.577 4.3237-1.2643.2065-.1056.2464-.1337.2183-.1577-.0184-.0139-.8727-1.1556-1.8978-2.5363l-1.8633-2.5097-2.3345-3.4566c-1.2828-1.9012-2.34-3.4588-2.3493-3.4588-.0093-.0022-.0186 1.5347-.0237 3.4071-.0067 3.2787-.0093 3.4118-.0516 3.4877-.061.0915-.108.1156-.2584.1337-.0915.0093-.3411.0139-.6234.0139h-.5143l-.1336-.0841c-.087-.0558-.1491-.1282-.1902-.2159l-.061-.1402.0067-4.5523.0093-4.5541.0915-.1156c.0475-.061.1491-.1395.2183-.1783.1194-.061.1665-.0665.6735-.0665.5961 0 .6937.0237.8483.1963.0431.0475 1.3066 1.9487 2.8112 4.2223 1.5045 2.2735 3.5607 5.3812 4.5707 6.9083l1.8354 2.7755.0925-.061c1.0289-.6665 2.118-1.6179 2.9623-2.5989 1.8229-2.118 2.9973-4.7393 3.3896-7.4949.0962-.6591.108-.8538.108-1.7475s-.012-1.0884-.108-1.7476c-.652-4.5064-3.8591-8.2919-8.2087-9.6945-.7751-.2511-1.5958-.4223-2.5337-.5255-.3239-.0346-1.8567-.0716-2.0223-.0581zm5.4483 7.2163c.1337 0 .1577.012.2183.061.0431.0328.087.0935.0991.1337.0139.0431.0186 1.4186.0139 3.0611l-.0093 2.9876-.6983-1.0695-.7075-1.0714v-1.9068c0-1.2525.0093-1.9326.0237-1.9763.0186-.061.0707-.1156.1282-.1491.0475-.0237.1953-.0328.932-.0328z"></path></svg><span class="text-[11px] font-medium text-muted-foreground transition-colors group-hover/tech:text-foreground">Next.js</span></div><div title="AI" class="group/tech flex items-center gap-1.5 rounded-full border border-border/50 bg-background/40 px-2.5 py-1 transition-all duration-300 hover:-translate-y-0.5 hover:border-muted-foreground/30 hover:bg-background/80"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="size-3.5 transition-transform duration-300 group-hover/tech:scale-125" style="color:#a371f7"><path d="M12 2a1 1 0 0 1 1 1v1.06a3.5 3.5 0 0 1 2.5 3.44v.5a3.5 3.5 0 0 1 2.5 3.34v.16a3.5 3.5 0 0 1-1.5 5.69V18a3.5 3.5 0 0 1-3.5 3.5h-.5a2.5 2.5 0 0 1-5 0H7A3.5 3.5 0 0 1 3.5 18v-.31A3.5 3.5 0 0 1 2 12v-.16a3.5 3.5 0 0 1 2.5-3.34v-.5A3.5 3.5 0 0 1 7 4.06V3a1 1 0 0 1 1-1 1 1 0 0 1 1 1v1h2V3a1 1 0 0 1 1-1zm-1 6a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0V9a1 1 0 0 0-1-1zm-3 3a1 1 0 0 0-1 1v3a1 1 0 0 0 2 0v-3a1 1 0 0 0-1-1zm6 0a1 1 0 0 0-1 1v3a1 1 0 0 0 2 0v-3a1 1 0 0 0-1-1z"></path></svg><span class="text-[11px] font-medium text-muted-foreground transition-colors group-hover/tech:text-foreground">AI</span></div></div></div></div><div class="grid grid-cols-2 gap-6 sm:grid-cols-3 sm:gap-8"><div class="group/menu"><h4 class="mb-3.5 flex items-center gap-2 text-sm font-bold"><span class="inline-block h-3 w-0.5 rounded-full bg-gradient-to-b from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/menu:h-4"></span>Menu Utama</h4><ul class="space-y-2"><li><a class="group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground" href="/id"><span class="relative">Beranda<span class="absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full"></span></span></a></li><li><a class="group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground" href="/id/about"><span class="relative">Tentang<span class="absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full"></span></span></a></li><li><a href="#" class="group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground"><span class="relative">Chat AI<span class="absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full"></span></span></a></li><li><a href="#" class="group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground"><span class="relative">Sistem RAG<span class="absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full"></span></span></a></li><li><a href="#" class="group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground"><span class="relative">Design Clone<span class="absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full"></span></span></a></li></ul></div><div class="group/menu"><h4 class="mb-3.5 flex items-center gap-2 text-sm font-bold"><span class="inline-block h-3 w-0.5 rounded-full bg-gradient-to-b from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/menu:h-4"></span>Layanan</h4><ul class="space-y-2"><li><a href="#" class="group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground"><span class="relative">Pengembangan Web<span class="absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full"></span></span></a></li><li><a href="#" class="group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground"><span class="relative">DevOps & Cloud<span class="absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full"></span></span></a></li><li><a href="#" class="group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground"><span class="relative">Integrasi AI<span class="absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full"></span></span></a></li><li><a href="#" class="group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground"><span class="relative">Konsultasi IT<span class="absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full"></span></span></a></li></ul></div><div class="group/menu"><h4 class="mb-3.5 flex items-center gap-2 text-sm font-bold"><span class="inline-block h-3 w-0.5 rounded-full bg-gradient-to-b from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/menu:h-4"></span>Kontak</h4><ul class="space-y-2"><li><a href="https://github.com/didiet86" class="group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground"><span class="relative">GitHub<span class="absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full"></span></span></a></li><li><a href="https://wa.me/6289666666741" class="group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground"><span class="relative">WhatsApp<span class="absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full"></span></span></a></li><li><a href="#" class="group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground"><span class="relative">LinkedIn<span class="absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full"></span></span></a></li></ul></div></div></div><div class="my-8 h-px bg-gradient-to-r from-transparent via-border to-transparent"></div><div class="flex flex-col items-center justify-between gap-4 sm:flex-row sm:gap-6"><div class="flex flex-col items-center gap-1 text-center sm:items-start sm:text-left"><p class="text-[13px] text-muted-foreground">© 2025 Adityo GW. Hak cipta dilindungi.</p><p class="flex items-center gap-1.5 text-xs text-muted-foreground/60">Dibuat dengan<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart size-3 fill-[#2ea043] text-[#2ea043]" aria-hidden="true"><path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"></path></svg>menggunakan Next.js, Tailwind CSS & shadcn/ui</p></div><a href="#top" class="group/up flex items-center gap-2 rounded-full border border-border/60 bg-background/40 px-4 py-2 text-[13px] font-medium text-muted-foreground backdrop-blur-sm transition-all duration-300 hover:-translate-y-0.5 hover:border-muted-foreground/30 hover:bg-background/80 hover:text-foreground"><span>Kembali ke atas</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up size-3.5 transition-transform duration-300 group-hover/up:-translate-y-0.5" aria-hidden="true"><path d="m5 12 7-7 7 7"></path><path d="M12 19V5"></path></svg></a></div></div></div></footer><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script type="application/ld+json">{"@context":"https://schema.org","@type":"Person","name":"Adityo Guni Waluyo","url":"https://adityo.web.id","image":"https://adityo.web.id/profile.jpg","jobTitle":"Web Developer & AI Integration Specialist","email":"mailto:adityogw86@gmail.com","sameAs":["https://github.com/didiet86","https://wa.me/6289666666741"],"knowsAbout":["Web Development","DevOps","AI Integration","Docker","Python","Next.js","WordPress"],"worksFor":{"@type":"Organization","name":"Adityo GW"}}</script><script src="/_next/static/chunks/0akuu0mhpupaq.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[32035,[\"/_next/static/chunks/2nu_9jg9ir1wo.js\",\"/_next/static/chunks/3sb2q3mwtcjk1.js\"],\"default\"]\n3:I[591168,[\"/_next/static/chunks/2nu_9jg9ir1wo.js\",\"/_next/static/chunks/3sb2q3mwtcjk1.js\"],\"default\"]\n6:I[364381,[\"/_next/static/chunks/2nu_9jg9ir1wo.js\",\"/_next/static/chunks/3sb2q3mwtcjk1.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[364381,[\"/_next/static/chunks/2nu_9jg9ir1wo.js\",\"/_next/static/chunks/3sb2q3mwtcjk1.js\"],\"ViewportBoundary\"]\nc:I[364381,[\"/_next/static/chunks/2nu_9jg9ir1wo.js\",\"/_next/static/chunks/3sb2q3mwtcjk1.js\"],\"MetadataBoundary\"]\ne:I[775115,[],\"default\",1]\n11:I[404489,[\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"/_next/static/chunks/0lhlvh1hgiuma.js\"],\"default\"]\n13:I[752306,[\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"/_next/static/chunks/0lhlvh1hgiuma.js\"],\"Providers\"]\n15:I[374332,[\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"/_next/static/chunks/0lhlvh1hgiuma.js\"],\"default\"]\n17:I[551624,[\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"/_next/static/chunks/0lhlvh1hgiuma.js\"],\"default\"]\n22:I[744308,[\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"/_next/static/chunks/0lhlvh1hgiuma.js\"],\"EmailLink\"]\n23:I[824499,[\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"/_next/static/chunks/0lhlvh1hgiuma.js\",\"/_next/static/chunks/1m-bnru4--byc.js\",\"/_next/static/chunks/2-88ubju-8gg4.js\",\"/_next/static/chunks/2bu39lgwf083t.js\",\"/_next/static/chunks/30qir_z2dql5f.js\",\"/_next/static/chunks/2sby9c-4xwieh.js\",\"/_next/static/chunks/14qsee9d-htmq.js\",\"/_next/static/chunks/37xamenotiwny.js\",\"/_next/static/chunks/3mth_4ccpg0fx.js\",\"/_next/static/chunks/31-10y-ic6vfz.js\",\"/_next/static/chunks/0c05mme6db5y2.js\",\"/_next/static/chunks/3nqp4f_tsyr0y.js\",\"/_next/static/chunks/1dbumlihosg07.js\",\"/_next/static/chunks/3scufj0koz643.js\"],\"default\"]\n2d:I[504189,[\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"/_next/static/chunks/0lhlvh1hgiuma.js\",\"/_next/static/chunks/1m-bnru4--byc.js\",\"/_next/static/chunks/2-88ubju-8gg4.js\",\"/_next/static/chunks/2bu39lgwf083t.js\",\"/_next/static/chunks/30qir_z2dql5f.js\",\"/_next/static/chunks/2sby9c-4xwieh.js\",\"/_next/static/chunks/14qsee9d-htmq.js\",\"/_next/static/chunks/37xamenotiwny.js\",\"/_next/static/chunks/3mth_4ccpg0fx.js\",\"/_next/static/chunks/31-10y-ic6vfz.js\",\"/_next/static/chunks/0c05mme6db5y2.js\",\"/_next/static/chunks/3nqp4f_tsyr0y.js\",\"/_next/static/chunks/1dbumlihosg07.js\",\"/_next/static/chunks/3scufj0koz643.js\"],\"default\"]\n2e:I[816506,[\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"/_next/static/chunks/0lhlvh1hgiuma.js\"],\"\"]\n:HL[\"/_next/static/chunks/0cqmbsfo6x1vs.css\",\"style\"]\n:HL[\"/_next/static/chunks/1y-r98el9mv7p.css\",\"style\"]\n:HL[\"/_next/static/media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/b8b552e8609c5636-s.p.2qe5xx8d5sx8i.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"id\",\"blog\",\"identitas-konten-pagesync\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[[\"locale\",\"id\",\"d\",null],{\"children\":[\"blog\",{\"children\":[[\"slug\",\"identitas-konten-pagesync\",\"d\",null],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",16]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0cqmbsfo6x1vs.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1y-r98el9mv7p.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0lhlvh1hgiuma.js\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L4\"]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/1m-bnru4--byc.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/2-88ubju-8gg4.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/2bu39lgwf083t.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/30qir_z2dql5f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/2sby9c-4xwieh.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/chunks/14qsee9d-htmq.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/_next/static/chunks/37xamenotiwny.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/_next/static/chunks/3mth_4ccpg0fx.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-8\",{\"src\":\"/_next/static/chunks/31-10y-ic6vfz.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-9\",{\"src\":\"/_next/static/chunks/0c05mme6db5y2.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-10\",{\"src\":\"/_next/static/chunks/3nqp4f_tsyr0y.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-11\",{\"src\":\"/_next/static/chunks/1dbumlihosg07.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-12\",{\"src\":\"/_next/static/chunks/3scufj0koz643.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$@9\"]},null,false,\"$@9\"]},null,false,null]},null,false,\"$@9\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":false,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"EZZNZ66M7qvU0uFsJ4_Zu\"}\n"])</script><script>self.__next_f.push([1,"f:[]\n9:\"$Wf\"\n4:[\"$\",\"html\",null,{\"lang\":\"id\",\"suppressHydrationWarning\":true,\"className\":\"inter_fbdc5002-module__JJo7gW__variable outfit_9369865f-module__dEjsIq__variable fira_code_1eba2a4e-module__nHXpmq__variable h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col\",\"children\":[[\"$\",\"a\",null,{\"href\":\"#main\",\"className\":\"sr-only focus:not-sr-only focus:absolute focus:top-4 focus:left-4 focus:z-50 focus:rounded-lg focus:bg-white focus:px-4 focus:py-2 focus:text-sm focus:font-medium focus:shadow-lg\",\"children\":\"Skip to content\"}],\"$L10\",[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Adityo Guni Waluyo\\\",\\\"url\\\":\\\"https://adityo.web.id\\\",\\\"image\\\":\\\"https://adityo.web.id/profile.jpg\\\",\\\"jobTitle\\\":\\\"Web Developer \u0026 AI Integration Specialist\\\",\\\"email\\\":\\\"mailto:adityogw86@gmail.com\\\",\\\"sameAs\\\":[\\\"https://github.com/didiet86\\\",\\\"https://wa.me/6289666666741\\\"],\\\"knowsAbout\\\":[\\\"Web Development\\\",\\\"DevOps\\\",\\\"AI Integration\\\",\\\"Docker\\\",\\\"Python\\\",\\\"Next.js\\\",\\\"WordPress\\\"],\\\"worksFor\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"Adityo GW\\\"}}\"}}]]}]}]\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"10:[\"$\",\"$L11\",null,{\"formats\":\"$undefined\",\"locale\":\"id\",\"messages\":{\"Nav\":{\"home\":\"Beranda\",\"about\":\"Tentang\",\"activity\":\"Aktivitas\",\"portfolio\":\"Portofolio\",\"blog\":\"Blog\",\"ai\":\"Tanya AI\"},\"Navbar\":{\"consultation\":\"Konsultasi\",\"lightMode\":\"Mode Terang\",\"darkMode\":\"Mode Gelap\"},\"SearchDialog\":{\"placeholder\":\"Cari materi, kursus, atau topik...\",\"menuLabel\":\"Menu\",\"noResults\":\"Tidak ada hasil untuk \\\"{query}\\\"\",\"trendingLabel\":\"Trending\"},\"AiSearch\":{\"askAction\":\"Tanya AI\",\"askHint\":\"jawaban dirangkum dari artikel blog ini\",\"analyzing\":\"Menganalisis konteks…\",\"sourcesLabel\":\"Sumber\",\"articlesSourcesLabel\":\"Artikel\",\"followupsLabel\":\"Pertanyaan lanjutan\",\"answerDisclaimer\":\"Jawaban AI dihasilkan dari artikel blog ini.\",\"rateLimited\":\"Terlalu banyak permintaan. Coba lagi nanti.\",\"errorGeneric\":\"Terjadi kesalahan saat menghasilkan jawaban.\",\"retry\":\"Coba lagi\",\"youLabel\":\"Anda\",\"threadRegion\":\"Percakapan dengan AI\",\"openLabel\":\"Tanya AI\",\"betaLabel\":\"Beta\",\"greeting\":\"Halo 👋 Tanya apa saja tentang artikel di blog ini.\",\"inputPlaceholder\":\"Tanya apa saja...\",\"sendLabel\":\"Kirim\",\"resultsHeading\":\"Hasil Pencarian\",\"usedInAnswer\":\"Dipakai jawaban\",\"sitePageLabel\":\"Halaman situs\",\"knowledgeLabel\":\"Knowledge\",\"modeSearch\":\"Cari Artikel\",\"modeAbout\":\"Tanya Adityo\",\"modeMixed\":\"Campuran\",\"fallbackCache\":\"Dijawab dari cache\",\"fallbackNoLlm\":\"Dijawab dari basis pengetahuan\",\"relatedArticles\":\"Artikel terkait\",\"backLabel\":\"Kembali\",\"whatsappCtaLabel\":\"Chat WhatsApp\",\"searchingHint\":\"Mencari…\",\"historyPagination\":\"Riwayat percakapan\",\"pageLabel\":\"Buka riwayat ke-{n}\",\"clearHistory\":\"Hapus riwayat chat\",\"clearHistoryConfirm\":\"Yakin?\",\"answerFullLabel\":\"Penjelasan lengkap\",\"answerPending\":\"Sedang menyusun jawaban…\",\"stepUnderstand\":\"Memahami pertanyaan\",\"stepSearch\":\"Mencari konten situs\",\"stepCompose\":\"Menyusun jawaban\",\"answeredIn\":\"Terjawab dalam {s} dtk\",\"answeredLabel\":\"Terjawab\",\"kind_articles\":\"artikel\",\"kind_portfolio\":\"portofolio\",\"kind_activity\":\"aktivitas\",\"kind_knowledge\":\"knowledge\",\"stopLabel\":\"Hentikan\",\"copyLabel\":\"Salin\",\"copiedLabel\":\"Tersalin\",\"regenerateLabel\":\"Buat ulang\",\"deleteTurnLabel\":\"Hapus turn\",\"cardsArticles\":\"Dari blog\",\"cardsPortfolio\":\"Proyek\",\"cardsActivity\":\"Aktivitas terbaru\",\"cardsSitePages\":\"Dari halaman situs\",\"showMoreLabel\":\"Selengkapnya\",\"showLessLabel\":\"Sembunyikan\",\"pageHomeLabel\":\"Halaman Beranda\",\"pageAboutLabel\":\"Halaman Tentang\",\"pageActivityLabel\":\"Halaman Aktivitas\",\"pagePortfolioLabel\":\"Halaman Portofolio\",\"pageStatsLabel\":\"Statistik GitHub\",\"pageReposLabel\":\"Repositori\",\"statCommits\":\"{n} total commit\",\"statStreak\":\"streak {n} hari\",\"statAvg\":\"{n} commit/hari\",\"statTopLang\":\"Bahasa teratas: {n}\",\"jumpToLatest\":\"Ke jawaban terbaru\"},\"AiPage\":{\"title\":\"Tanya AI\",\"description\":\"Ruang kerja chat AI layar penuh — tanya tentang artikel blog ini atau tentang Adityo, dengan sumber dan pertanyaan lanjutan.\",\"chatColumnLabel\":\"Chat\",\"outputColumnLabel\":\"Jawaban\",\"contextColumnLabel\":\"Sumber \u0026 lanjutan\",\"historyTitle\":\"Riwayat percakapan\"},\"TechStack\":{\"subheadingLabel\":\"Teknologi yang Digunakan\"},\"Footer\":{\"mainMenu\":\"Menu Utama\",\"services\":\"Layanan\",\"contact\":\"Kontak\",\"chatAI\":\"Chat AI\",\"ragSystem\":\"Sistem RAG\",\"designClone\":\"Design Clone\",\"webDev\":\"Pengembangan Web\",\"devops\":\"DevOps \u0026 Cloud\",\"aiIntegration\":\"Integrasi AI\",\"itConsultation\":\"Konsultasi IT\",\"github\":\"GitHub\",\"whatsapp\":\"WhatsApp\",\"linkedin\":\"LinkedIn\",\"email\":\"Email\",\"techStack\":\"Tech Stack\",\"brandDescription\":\"Web Developer \u0026 IT Specialist — 15+ tahun pengalaman dalam pengembangan web, infrastruktur server, dan integrasi AI.\",\"copyright\":\"© 2025 Adityo GW. Hak cipta dilindungi.\",\"builtWith\":\"Dibuat dengan\",\"usingTech\":\"menggunakan Next.js, Tailwind CSS \u0026 shadcn/ui\",\"backToTop\":\"Kembali ke atas\"},\"Hero\":{\"badge\":\"Web Developer • DevOps • AI Integration\",\"headingLine1\":\"Membangun Aplikasi dan\",\"headingHighlight\":\"Infrastruktur Berbasis AI\",\"description\":\"Berpengalaman lebih dari \u003chighlight\u003e15 tahun\u003c/highlight\u003e dalam pengembangan web, arsitektur server, automation, dan AI engineering. Fokus pada solusi yang cepat, scalable, dan mudah dikembangkan untuk kebutuhan bisnis modern.\",\"ctaPortfolio\":\"Lihat Portofolio\",\"ctaTools\":\"Coba Tools AI\",\"floatValue\":\"15+ Tahun\",\"floatLabel\":\"Pengalaman\",\"synced\":\"tersinkron\",\"noErrors\":\"Tanpa error\"},\"Stats\":{\"experience\":\"Tahun Pengalaman\",\"websites\":\"Website Dibangun\",\"uptime\":\"Server Uptime\",\"clients\":\"Klien Aktif\"},\"WhyUs\":{\"badge\":\"Keahlian \u0026 Layanan\",\"headingPrefix\":\"Solusi Digital yang\",\"headingHighlight\":\"Komprehensif\",\"subheading\":\"Dari pengembangan website hingga integrasi AI — semua kebutuhan digital Anda dalam satu tempat.\",\"webDevTitle\":\"Web Development\",\"webDevDesc\":\"WordPress specialist, FastAPI backend, Elementor custom widget, dan pengembangan theme sesuai kebutuhan bisnis.\",\"devopsTitle\":\"DevOps \u0026 Cloud\",\"devopsDesc\":\"Docker, Nginx, CI/CD pipeline, DigitalOcean, Vultr, Cloudflare DNS — deployment \u0026 server management yang handal.\",\"aiTitle\":\"AI \u0026 Machine Learning\",\"aiDesc\":\"Integrasi RAG, LLM, Ollama, dan MCP Server — membangun aplikasi cerdas berbasis artificial intelligence.\",\"dbTitle\":\"Database\",\"dbDesc\":\"PostgreSQL dengan pgvector, MySQL, desain schema, optimasi query, dan manajemen performa database.\",\"seoTitle\":\"SEO \u0026 Digital Marketing\",\"seoDesc\":\"Strategi digital marketing, optimasi konten, traffic management, dan peningkatan visibilitas online.\",\"monitoringTitle\":\"Monitoring \u0026 Observability\",\"monitoringDesc\":\"Grafana, Prometheus, Loki untuk logging, metrics, dan alerting — memastikan sistem berjalan optimal.\"},\"Features\":{\"badge\":\"Production Code\",\"headingPrefix\":\"Kode nyata dari\",\"headingHighlight\":\"proyek production\",\"description\":\"FastAPI backend, Docker config, RAG pipeline, dan automation yang digunakan klien.\",\"viewActivity\":\"Lihat Activity\"},\"Activities\":{\"headingPrefix\":\"Proyek \u0026\",\"headingHighlight\":\"Layanan\",\"description\":\"Proyek nyata dan layanan berkelanjutan yang didukung teknologi modern.\",\"toolsDate\":\"2020 – Sekarang\",\"toolsTitle\":\"Tools AI Platform\",\"toolsDesc\":\"Platform AI all-in-one dengan Chat (RAG + Web Search), Design Clone Pipeline, AI Website Builder, dan Crawler stealth. Dibangun dengan FastAPI, Docker, dan pgvector.\",\"webDate\":\"2015 – Sekarang\",\"webTitle\":\"Web Development\",\"webDesc\":\"Pembuatan dan maintenance website dengan WordPress, custom Elementor widget, theme development, SEO optimization, dan performa tuning untuk berbagai klien.\",\"devopsDate\":\"2017 – Sekarang\",\"devopsTitle\":\"DevOps Consulting\",\"devopsDesc\":\"Setup dan maintenance server, Docker containerization, CI/CD pipeline, Nginx proxy, Cloudflare DNS, dan monitoring dengan Grafana — infrastruktur yang handal untuk bisnis Anda.\",\"aiDate\":\"2019 – Sekarang\",\"aiTitle\":\"Integrasi AI\",\"aiDesc\":\"Chatbot kustom, sistem RAG dengan pgvector, integrasi LLM (OpenAI, Anthropic Claude, Gemini), dan alat otomasi berbasis AI.\",\"dbDate\":\"2017 – Sekarang\",\"dbTitle\":\"Rekayasa Database\",\"dbDesc\":\"PostgreSQL dengan pgvector, MySQL, desain skema, optimasi query, dan backend berbasis data untuk beban produksi.\",\"seoDate\":\"2015 – Sekarang\",\"seoTitle\":\"SEO \u0026 Performa\",\"seoDesc\":\"SEO teknis, tuning Core Web Vitals, structured data, dan strategi konten yang menaikkan trafik klien selama bertahun-tahun.\",\"monitorDate\":\"2018 – Sekarang\",\"monitorTitle\":\"Monitoring \u0026 Observability\",\"monitorDesc\":\"Dashboard Grafana, metrik Prometheus, logging Loki, dan setup alerting yang menjaga sistem sehat dan insiden singkat.\",\"autoDate\":\"2020 – Sekarang\",\"autoTitle\":\"Otomasi \u0026 Crawler\",\"autoDesc\":\"Web scraper, crawler stealth, otomasi alur kerja, dan glue CI/CD yang menghapus pekerjaan repetitif dari operasional Anda.\",\"viewAll\":\"Lihat Semua\"},\"Services\":{\"headingPrefix\":\"Layanan\",\"headingHighlight\":\"Profesional\",\"description\":\"Solusi digital end-to-end untuk kebutuhan bisnis Anda.\",\"cta\":\"Konsultasi\",\"webDevLabel\":\"Website Development\",\"webDevPrice\":\"WordPress \u0026 FastAPI\",\"webDevDesc\":\"Pembuatan website bisnis, company profile, e-commerce, dan custom web application dengan WordPress + Elementor atau FastAPI backend.\",\"webDevF1\":\"Custom Theme \u0026 Widget\",\"webDevF2\":\"SEO Optimization\",\"webDevF3\":\"Responsive Design\",\"devopsLabel\":\"DevOps \u0026 Cloud\",\"devopsPrice\":\"Infra Setup\",\"devopsDesc\":\"Setup dan maintenance server, Docker containerization, CI/CD pipeline, Nginx, dan monitoring — infrastruktur yang handal 24/7.\",\"devopsF1\":\"Docker \u0026 Docker Compose\",\"devopsF2\":\"Grafana \u0026 Prometheus\",\"devopsF3\":\"99.9% Uptime SLA\",\"aiLabel\":\"AI Integration\",\"aiPrice\":\"Custom AI Solution\",\"aiDesc\":\"Integrasi chatbot AI, RAG system, design automation, dan custom AI tools untuk meningkatkan efisiensi bisnis Anda.\",\"aiF1\":\"RAG \u0026 LLM Integration\",\"aiF2\":\"Custom Chatbot\",\"aiF3\":\"Web Scraping \u0026 Automation\"},\"Testimonials\":{\"badge\":\"Testimoni Klien\",\"headingPrefix\":\"Kepercayaan\",\"headingHighlight\":\"Klien\",\"description\":\"Solusi handal dengan kemitraan jangka panjang.\",\"esaRole\":\"DevOps \u0026 Server Management — Sejak 2017\",\"esaQuote\":\"Server dan infrastruktur kami dikelola dengan sangat profesional. 99.9% uptime selama bertahun-tahun. Respons cepat dan solusi yang efisien untuk setiap masalah.\",\"indoRole\":\"Web Development \u0026 SEO — 2021 s/d 2025\",\"indoQuote\":\"Website indopos.co.id dan indoposco.id dibangun dan di-maintenance dengan sangat baik. SEO optimization yang dibuat meningkatkan traffic secara signifikan selama 4 tahun kerjasama.\",\"wiraRole\":\"Web Development \u0026 Server — Aktif\",\"wiraQuote\":\"Maintenance website dan server kami berjalan lancar. Support yang cepat dan profesional — baik remote maupun on-site. Sangat recommended untuk kebutuhan web dan IT.\"},\"CTA\":{\"badge\":\"Mulai Sekarang\",\"heading\":\"Siap Membangun Sesuatu yang Hebat?\",\"description\":\"Mari diskusikan proyek Anda dan temukan solusi terbaik untuk bisnis Anda.\",\"button\":\"Hubungi Saya\",\"buttonSecondary\":\"Coba Tools AI\",\"activeClients\":\"Klien aktif \u0026 berkelanjutan\",\"yearsValue\":\"15+ Tahun\",\"yearsLabel\":\"Pengalaman\"},\"AboutHero\":{\"badge\":\"Tentang Saya\",\"subtitle\":\"Web Developer \u0026 IT Specialist\",\"description\":\"Saya adalah seorang Web Developer \u0026 IT Specialist dengan pengalaman lebih dari \u003chighlight\u003e15 tahun\u003c/highlight\u003e di bidang pengembangan website, manajemen server, dan optimalisasi performa digital. Saat ini bekerja sebagai freelance dan terlibat beberapa projek website serta pemeliharaan server.\",\"statusBadge\":\"Available for work\",\"stat1Label\":\"Tahun Pengalaman\",\"stat2Label\":\"Klien\",\"stat3Label\":\"Projek\",\"stat4Label\":\"Uptime\"},\"AboutServices\":{\"badge\":\"Layanan\",\"headingPrefix\":\"Layanan yang\",\"headingHighlight\":\"Saya Tawarkan\",\"description\":\"Solusi end-to-end untuk kebutuhan digital bisnis Anda — dari pengembangan website hingga infrastruktur server dan integrasi AI.\",\"webDevTitle\":\"Web Development\",\"webDevDesc\":\"Pembuatan website profesional dengan WordPress + Elementor, custom theme \u0026 plugin, serta FastAPI untuk backend services yang scalable.\",\"webDevF1\":\"Company Profile\",\"webDevF2\":\"E-Commerce\",\"webDevF3\":\"Landing Page\",\"webDevF4\":\"Custom Web App\",\"devopsTitle\":\"DevOps \u0026 Server\",\"devopsDesc\":\"Manajemen server, deployment automation, monitoring, dan keamanan infrastruktur digital end-to-end.\",\"devopsF1\":\"Docker \u0026 CI/CD\",\"devopsF2\":\"Server Maintenance\",\"devopsF3\":\"Cloud Management\",\"devopsF4\":\"Monitoring \u0026 Alerting\",\"aiTitle\":\"AI Integration\",\"aiDesc\":\"Integrasi AI ke dalam workflow bisnis, chatbot cerdas, RAG pipeline, dan automasi berbasis LLM.\",\"aiF1\":\"Chatbot \u0026 Assistant\",\"aiF2\":\"RAG Pipeline\",\"aiF3\":\"MCP Server\",\"aiF4\":\"AI Workflow\"},\"AboutSkills\":{\"badge\":\"Keahlian\",\"headingPrefix\":\"Technical\",\"headingHighlight\":\"Skills\",\"description\":\"Teknologi dan tools yang saya kuasai untuk membangun solusi digital end-to-end.\",\"levelExpert\":\"Expert\",\"levelAdvanced\":\"Advanced\",\"levelIntermediate\":\"Intermediate\",\"skill1Desc\":\"Theme, Widget Custom, Plugin\",\"skill1Years\":\"15+ tahun\",\"skill2Desc\":\"Backend, API, AI Services\",\"skill2Years\":\"4+ tahun\",\"skill3Desc\":\"CI/CD, Git, Auto Deployment\",\"skill3Years\":\"6+ tahun\",\"skill4Desc\":\"DigitalOcean, Vultr, Cloudflare\",\"skill4Years\":\"10+ tahun\",\"skill5Desc\":\"Grafana, Prometheus, Loki\",\"skill5Years\":\"4+ tahun\",\"skill6Desc\":\"LLM, Ollama, MCP Server\",\"skill6Years\":\"2+ tahun\",\"skill7Desc\":\"React Framework, SSR, SSG\",\"skill7Years\":\"2+ tahun\",\"skill8Desc\":\"SPA, Nuxt, Composition API\",\"skill8Years\":\"2+ tahun\",\"skill9Desc\":\"Static Sites, Islands, MPA\",\"skill9Years\":\"1+ tahun\"},\"AboutTimeline\":{\"badge\":\"Pengalaman Kerja\",\"headingPrefix\":\"Karir \u0026\",\"headingHighlight\":\"Pengalaman\",\"description\":\"Perjalanan profesional saya dari junior developer hingga freelance specialist.\",\"nowLabel\":\"Now\",\"stackLabel\":\"Stack\",\"period1\":\"2024 — Sekarang\",\"title1\":\"AI Infrastructure Engineer \u0026 Solutions Architect\",\"desc1\":\"Merancang dan membangun platform AI berbasis Local LLM, RAG (Retrieval-Augmented Generation), MCP (Model Context Protocol), serta AI Agent untuk kebutuhan coding, knowledge management, dan otomatisasi workflow. Berfokus pada arsitektur yang scalable, efisien, dan self-hosted.\",\"period2\":\"2019 — 2024\",\"title2\":\"Freelance Web Developer \u0026 IT Specialist\",\"desc2\":\"Menangani pengembangan website serta pemeliharaan server, membantu klien menjaga performa, keamanan, dan keberlangsungan layanan online mereka.\",\"period3\":\"2015 — 2019\",\"title3\":\"IT \u0026 Web Developer\",\"desc3\":\"Pengembangan sistem internal, manajemen infrastruktur server, dan optimasi layanan digital perusahaan.\",\"period4\":\"2010 — 2015\",\"title4\":\"Web Developer\",\"desc4\":\"Fokus pada pengembangan website dengan WordPress, custom theme, dan plugin development untuk berbagai klien.\",\"period5\":\"2008 — 2010\",\"title5\":\"Junior Web Developer\",\"desc5\":\"Memulai karir di dunia web development, belajar HTML, CSS, PHP, dan WordPress dari dasar.\"},\"AboutCTA\":{\"headingPrefix\":\"Tertarik Bekerja\",\"headingHighlight\":\"Bersama?\",\"description\":\"Saya selalu terbuka untuk diskusi projek baru, ide kreatif, atau peluang kolaborasi. Hubungi saya via WhatsApp untuk respon cepat.\",\"whatsappButton\":\"Chat WhatsApp\",\"emailButton\":\"Kirim Email\",\"whatsappText\":\"Halo Adityo, saya tertarik untuk berdiskusi tentang projek.\"},\"AboutPage\":{\"title\":\"Tentang Adityo GW\",\"description\":\"Adityo Guni Waluyo — web developer \u0026 IT specialist dengan 15+ tahun pengalaman di WordPress, FastAPI, Docker, dan integrasi AI.\"},\"ActivityPage\":{\"title\":\"Aktivitas\",\"description\":\"Aktivitas development real-time oleh Adityo GW — commits, pull requests, dan repository dari GitHub.\"},\"ActivityFeed\":{\"badge\":\"Commit Feed\",\"heading\":\"Semua Commit\",\"description\":\"Filter dan cari semua commit dari semua repositori\",\"searchPlaceholder\":\"Cari commit atau repo...\",\"allFilter\":\"Semua\",\"errorLoad\":\"Gagal memuat daftar commit.\",\"emptyFilter\":\"Tidak ada commit yang cocok dengan filter.\",\"loadMore\":\"Muat lebih banyak\",\"showingCount\":\"Menampilkan {visible} dari {total} commit\"},\"ActivityHero\":{\"badge\":\"Live Development Activity\",\"headingLine1\":\"Yang Saya\",\"headingHighlight\":\"Kerjakan\",\"description\":\"Setiap commit, setiap fix, setiap fitur — semua terekam secara real-time dari repositori GitHub saya. Lihat apa yang sedang saya bangun sekarang.\",\"statCommits\":\"commits\",\"statStreak\":\"hari streak\",\"statRepos\":\"repositori aktif\"},\"ActivityStats\":{\"badge\":\"Statistik\",\"headingLine1\":\"Aktivitas\",\"headingHighlight\":\"Terukur\",\"description\":\"Ringkasan kontribusi, distribusi bahasa, dan pola aktivitas mingguan saya.\",\"statCommits\":\"Commits\",\"statPRs\":\"Pull Requests\",\"statRepos\":\"Repos\",\"statStreak\":\"Streak\",\"streakSuffix\":\"d\",\"languages\":\"Bahasa\",\"categories\":\"Kategori\",\"weekly\":\"Mingguan\",\"avgPerDay\":\"Rata-rata /hari\",\"longestStreak\":\"Streak terpanjang (hari)\",\"mostActiveHour\":\"Paling aktif (WIB)\",\"errorLoad\":\"Gagal memuat statistik aktivitas.\",\"weekday_mon\":\"Sen\",\"weekday_tue\":\"Sel\",\"weekday_wed\":\"Rab\",\"weekday_thu\":\"Kam\",\"weekday_fri\":\"Jum\",\"weekday_sat\":\"Sab\",\"weekday_sun\":\"Min\"},\"ActivityTimeline\":{\"badge\":\"Timeline\",\"headingLine1\":\"Aktivitas\",\"headingHighlight\":\"Terbaru\",\"description\":\"Jelajahi commit berdasarkan waktu, atau cari dan filter semua commit dari setiap repositori.\",\"searchPlaceholder\":\"Cari commit atau repo...\",\"filterLabel\":\"Filter\",\"filterAll\":\"Semua\",\"tabToday\":\"Hari Ini\",\"tabYesterday\":\"Kemarin\",\"tabThisWeek\":\"Minggu\",\"tabEarlier\":\"Awal\",\"loadMore\":\"Muat Lebih Banyak\",\"loadAgain\":\"Muat Lagi\",\"loading\":\"Memuat...\",\"showingResults\":\"Menampilkan {shown} dari {total} commit\",\"errorCommits\":\"Gagal memuat daftar commit.\",\"noCommitsMatch\":\"Tidak ada commit yang cocok dengan filter.\",\"errorTimeline\":\"Gagal memuat timeline aktivitas.\",\"noCommitsPeriod\":\"Belum ada commit pada periode ini.\",\"timeJustNow\":\"Baru saja\",\"timeMinAgo\":\"{count} menit lalu\",\"timeHoursAgo\":\"{count} jam lalu\",\"timeDaysAgo\":\"{count} hari lalu\",\"filesSuffix\":\"file\",\"filesPluralSuffix\":\"file\"},\"ActivityRepositories\":{\"badge\":\"Repositories\",\"headingLine1\":\"Repositori\",\"headingHighlight\":\"Aktif\",\"description\":\"Semua project yang sedang saya kerjakan, dengan statistik kontribusi real-time.\",\"searchPlaceholder\":\"Cari repo, bahasa, atau topik...\",\"searchResult\":\"{shown} dari {total} repo\",\"searchAll\":\"{total} repo\",\"errorLoad\":\"Gagal memuat daftar repositori.\",\"noMatch\":\"Tidak ada repositori yang cocok.\",\"colRepository\":\"Repository\",\"colLanguage\":\"Bahasa\",\"colActivity\":\"Aktivitas\",\"colUpdate\":\"Update\",\"commitSuffix\":\"commit\",\"pageLabel\":\"Hal. {page} / {total}\",\"prev\":\"Prev\",\"next\":\"Next\",\"timeJustNow\":\"Baru saja\",\"timeHoursAgo\":\"{count} jam lalu\",\"timeDaysAgo\":\"{count} hari lalu\",\"repoAiTools\":\"Platform AI all-in-one: Chat (RAG + Web Search), Design Clone Pipeline, AI Website Builder, dan Crawler stealth.\",\"repoPortfolio\":\"Portfolio website dibangun dengan Next.js 15, TypeScript, TailwindCSS, dan GSAP animations.\",\"repoDocker\":\"Docker infrastructure templates, CI/CD pipelines, dan monitoring dashboards untuk semua service.\",\"repoElementor\":\"Koleksi custom Elementor widgets: animated counters, pricing tables, timeline, dan testimonial sliders.\",\"repoCrawler\":\"High-performance web crawler dengan proxy rotation, headless browser rendering, dan anti-detection.\",\"repoRag\":\"Vector database service dengan pgvector, document ingestion pipeline, dan semantic search API.\",\"repoDesignClone\":\"Automated pipeline untuk clone design website: screenshot → analyze → generate HTML/CSS.\",\"repoWebsiteBuilder\":\"AI-powered website builder: prompt → generate komponen → deploy. Integrasi dengan LLM + template engine.\"},\"ContributionHeatmap\":{\"noContributions\":\"Tidak ada kontribusi\",\"contributionsSuffix\":\"kontribusi\",\"onDate\":\"pada\",\"yearSummary\":\"kontribusi tahun terakhir\",\"legendLess\":\"Less\",\"legendMore\":\"More\",\"weekday_sun\":\"Min\",\"weekday_mon\":\"Sen\",\"weekday_tue\":\"Sel\",\"weekday_wed\":\"Rab\",\"weekday_thu\":\"Kam\",\"weekday_fri\":\"Jum\",\"weekday_sat\":\"Sab\",\"month_jan\":\"Jan\",\"month_feb\":\"Feb\",\"month_mar\":\"Mar\",\"month_apr\":\"Apr\",\"month_may\":\"Mei\",\"month_jun\":\"Jun\",\"month_jul\":\"Jul\",\"month_aug\":\"Agu\",\"month_sep\":\"Sep\",\"month_oct\":\"Okt\",\"month_nov\":\"Nov\",\"month_dec\":\"Des\"},\"Blog\":{\"badge\":\"Insights\",\"headingPrefix\":\"Case Studies \u0026\",\"headingHighlight\":\"Teknologi\",\"description\":\"Sharing pengalaman, tips teknis, dan insight dari proyek nyata.\",\"viewAll\":\"Lihat semua artikel\",\"readMore\":\"Baca selengkapnya\",\"ragTitle\":\"Membangun RAG System dengan pgvector dan FastAPI\",\"ragExcerpt\":\"Panduan lengkap membangun Retrieval-Augmented Generation system menggunakan PostgreSQL pgvector, FastAPI, dan embedding model untuk pencarian semantik.\",\"dockerTitle\":\"Docker Multi-Service: Nginx, FastAPI, dan Grafana Stack\",\"dockerExcerpt\":\"Cara setup production-grade infrastructure dengan Docker Compose — reverse proxy, API server, monitoring stack, dan automated SSL certificate renewal.\",\"scrapingTitle\":\"Stealth Web Scraping dengan Playwright untuk AI Training Data\",\"scrapingExcerpt\":\"Teknik web scraping yang tidak terdeteksi menggunakan Playwright dengan stealth injection — untuk mengumpulkan data training AI secara efisien dan legal.\"},\"BlogPage\":{\"badge\":\"Blog\",\"title\":\"Blog\",\"description\":\"Catatan teknis seputar web development, DevOps, dan integrasi AI.\",\"articlesCount\":\"{count, plural, =0 {Belum ada artikel} other {# artikel}}\",\"allArticles\":\"Semua artikel\",\"search\":\"Cari artikel…\",\"categories\":\"Kategori\",\"tags\":\"Tag\",\"latest\":\"Artikel terbaru\",\"aboutTitle\":\"Tentang\",\"aboutText\":\"Catatan lapangan membangun dan merilis — keputusan arsitektur, migrasi, dan pelajaran dari proyek nyata.\",\"emptyTitle\":\"Tidak ada artikel\",\"emptyDescription\":\"Coba kategori, tag, atau kata kunci lain.\",\"minutes\":\"menit baca\",\"previous\":\"Sebelumnya\",\"next\":\"Berikutnya\",\"onThisPage\":\"Di halaman ini\",\"pageOf\":\"Halaman {page} dari {total}\",\"prevPage\":\"Halaman sebelumnya\",\"nextPage\":\"Halaman berikutnya\",\"related\":\"Artikel terkait\",\"tldr\":\"Ringkasan\",\"ttsListen\":\"Dengarkan\",\"ttsStop\":\"Berhenti\",\"ttsLoading\":\"Menyiapkan audio…\",\"ttsUnavailable\":\"Pemutaran tidak tersedia di browser ini\"},\"PortfolioPage\":{\"title\":\"Portfolio\",\"description\":\"Portfolio Adityo GW — platform AI, web development, infrastruktur DevOps, dan automation tools.\"},\"PortfolioHero\":{\"badge\":\"Portfolio \u0026 Projects\",\"headingPrefix\":\"Karya \u0026\",\"headingHighlight\":\"Project Saya\",\"description\":\"Kumpulan project yang saya kerjakan — dari AI platform, web development, DevOps infrastructure, hingga automation tools. Setiap project dibangun dengan fokus pada scalable dan maintainable architecture.\",\"statRealLabel\":\"Real Projects\",\"statRealNote\":\"bukan demo\",\"statLiveLabel\":\"Live Updated\",\"statLiveNote\":\"via Agent Zero\"},\"PortfolioGrid\":{\"headingPrefix\":\"Semua\",\"headingHighlight\":\"Project\",\"resultCount\":\"{count} project total\",\"searchPlaceholder\":\"Cari project, tech, atau tag...\",\"tabAll\":\"Semua\",\"tabGithub\":\"GitHub Repos\",\"tabCustom\":\"Custom Projects\",\"errorLoad\":\"Gagal memuat data project. Coba refresh halaman.\",\"emptySearch\":\"Tidak ada project yang cocok dengan \\\"{query}\\\"\",\"emptyDefault\":\"Belum ada project.\",\"paginationShowing\":\"Menampilkan {start}–{end} dari {total} project\",\"prevPage\":\"Halaman sebelumnya\",\"nextPage\":\"Halaman berikutnya\"},\"PortfolioCard\":{\"statusActive\":\"Active\",\"statusCompleted\":\"Completed\",\"statusArchived\":\"Archived\",\"code\":\"Code\",\"private\":\"Private\",\"liveDemo\":\"Live Demo\",\"present\":\"Now\",\"unknownLanguage\":\"Unknown\",\"noDescription\":\"No description available.\",\"repo\":\"Repo\",\"timeToday\":\"hari ini\",\"timeDaysAgo\":\"{days}h lalu\",\"timeWeeksAgo\":\"{weeks}mg lalu\",\"timeMonthsAgo\":\"{months}bl lalu\"},\"HomePage\":{\"title\":\"Adityo GW — Web Developer \u0026 Spesialis Integrasi AI\",\"description\":\"Adityo GW — web developer spesialis aplikasi AI, infrastruktur DevOps, dan solusi web skalabel. 15+ tahun pengalaman.\",\"seoDescription\":\"Adityo GW adalah developer web freelance dan spesialis integrasi AI yang berbasis di Indonesia. Dengan pengalaman lebih dari 15 tahun, ia membangun aplikasi bertenaga AI, infrastruktur DevOps, dan solusi web yang skalabel menggunakan Python, FastAPI, Next.js, Docker, OpenAI, dan Anthropic Claude. Layanan meliputi pengembangan web custom, integrasi chatbot AI, sistem RAG (Retrieval-Augmented Generation), pengembangan WordPress, otomasi server, pipeline CI/CD, dan deployment cloud. Jelajahi portofolio proyek nyata, tools AI, dan aktivitas yang menampilkan implementasi praktis teknologi web modern, API machine learning, dan infrastructure as code.\"},\"NotFound\":{\"description\":\"Halaman tidak ditemukan. Halaman yang Anda cari tidak ada atau telah dipindahkan.\",\"backHome\":\"Kembali ke Beranda\",\"viewPortfolio\":\"Lihat Portfolio\",\"aboutMe\":\"Tentang Saya\"}},\"now\":\"$undefined\",\"timeZone\":\"UTC\",\"children\":\"$L12\"}]\n"])</script><script>self.__next_f.push([1,"12:[\"$\",\"$L13\",null,{\"children\":[\"$L14\",[\"$\",\"$L15\",null,{}],[\"$\",\"main\",null,{\"id\":\"main\",\"className\":\"flex-1\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$L16\",[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L17\",null,{\"children\":\"$L18\"}],\"$L19\"]}]\n1b:T450,M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"])</script><script>self.__next_f.push([1,"18:[\"$\",\"footer\",null,{\"className\":\"relative border-t border-border/60 bg-card/30 backdrop-blur-xl\",\"children\":[[\"$\",\"div\",null,{\"className\":\"pointer-events-none absolute inset-x-0 top-0 h-40 overflow-hidden\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute left-1/4 top-0 h-40 w-80 rounded-full bg-[#2ea043] opacity-[0.05] blur-[80px]\"}],[\"$\",\"div\",null,{\"className\":\"absolute right-1/4 top-0 h-40 w-80 rounded-full bg-[#1f6feb] opacity-[0.05] blur-[80px]\"}]]}],[\"$\",\"div\",null,{\"className\":\"h-px bg-gradient-to-r from-transparent via-[#2ea043]/60 to-transparent\"}],[\"$\",\"div\",null,{\"className\":\"relative mx-auto max-w-6xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"px-3 py-10 sm:px-4 sm:py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid gap-10 sm:gap-8 lg:grid-cols-[1.5fr_2fr]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col\",\"children\":[\"$L1a\",[\"$\",\"p\",null,{\"className\":\"mt-4 max-w-sm text-sm leading-relaxed text-muted-foreground\",\"children\":\"Web Developer \u0026 IT Specialist — 15+ tahun pengalaman dalam pengembangan web, infrastruktur server, dan integrasi AI.\"}],[\"$\",\"div\",null,{\"className\":\"mt-5 flex gap-2\",\"children\":[[\"$\",\"a\",\"GitHub\",{\"href\":\"https://github.com/didiet86\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"GitHub\",\"className\":\"group/social relative flex size-9 items-center justify-center rounded-full border border-border/60 bg-background/40 text-muted-foreground transition-all duration-300 hover:-translate-y-0.5 hover:border-transparent hover:bg-background/80\",\"style\":{\"--social-color\":\"var(--foreground)\"},\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"size-4 transition-colors duration-300\",\"style\":{\"color\":\"var(--social-color)\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"}]}],[\"$\",\"span\",null,{\"className\":\"pointer-events-none absolute -top-9 left-1/2 -translate-x-1/2 whitespace-nowrap rounded-full border border-border bg-popover px-2.5 py-1 text-xs font-medium text-popover-foreground opacity-0 shadow-xl transition-all duration-200 group-hover/social:-top-10 group-hover/social:opacity-100\",\"children\":\"GitHub\"}]]}],[\"$\",\"a\",\"WhatsApp\",{\"href\":\"https://wa.me/6289666666741\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"WhatsApp\",\"className\":\"group/social relative flex size-9 items-center justify-center rounded-full border border-border/60 bg-background/40 text-muted-foreground transition-all duration-300 hover:-translate-y-0.5 hover:border-transparent hover:bg-background/80\",\"style\":{\"--social-color\":\"#25d366\"},\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"size-4 transition-colors duration-300\",\"style\":{\"color\":\"var(--social-color)\"},\"children\":[\"$\",\"path\",null,{\"d\":\"$1b\"}]}],\"$L1c\"]}],\"$L1d\"]}],\"$L1e\"]}],\"$L1f\"]}],\"$L20\",\"$L21\"]}]}]]}]\n"])</script><script>self.__next_f.push([1,"1c:[\"$\",\"span\",null,{\"className\":\"pointer-events-none absolute -top-9 left-1/2 -translate-x-1/2 whitespace-nowrap rounded-full border border-border bg-popover px-2.5 py-1 text-xs font-medium text-popover-foreground opacity-0 shadow-xl transition-all duration-200 group-hover/social:-top-10 group-hover/social:opacity-100\",\"children\":\"WhatsApp\"}]\n1d:[\"$\",\"$L22\",\"Email\",{\"user\":\"adityogw86\",\"domain\":\"gmail.com\",\"aria-label\":\"Email\",\"className\":\"group/social relative flex size-9 items-center justify-center rounded-full border border-border/60 bg-background/40 text-muted-foreground transition-all duration-300 hover:-translate-y-0.5 hover:border-transparent hover:bg-background/80\",\"style\":{\"--social-color\":\"#1f6feb\"},\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\",\"key\":\"132q7q\"}],[\"rect\",{\"x\":\"2\",\"y\":\"4\",\"width\":\"20\",\"height\":\"16\",\"rx\":\"2\",\"key\":\"izxlao\"}]],\"className\":\"lucide-mail size-4 transition-colors duration-300\",\"style\":{\"color\":\"var(--social-color)\"}}],[\"$\",\"span\",null,{\"className\":\"pointer-events-none absolute -top-9 left-1/2 -translate-x-1/2 whitespace-nowrap rounded-full border border-border bg-popover px-2.5 py-1 text-xs font-medium text-popover-foreground opacity-0 shadow-xl transition-all duration-200 group-hover/social:-top-10 group-hover/social:opacity-100\",\"children\":\"Email\"}]]}]\n24:T677,"])</script><script>self.__next_f.push([1,"M13.983 11.078h2.119a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.119a.185.185 0 00-.185.185v1.888c0 .102.083.185.185.185m-2.954-5.43h2.118a.186.186 0 00.186-.186V3.574a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m0 2.716h2.118a.187.187 0 00.186-.186V6.29a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.887c0 .102.082.185.185.186m-2.93 0h2.12a.186.186 0 00.184-.186V6.29a.185.185 0 00-.185-.185H8.1a.185.185 0 00-.185.185v1.887c0 .102.083.185.185.186m-2.964 0h2.119a.186.186 0 00.185-.186V6.29a.185.185 0 00-.185-.185H5.136a.186.186 0 00-.186.185v1.887c0 .102.084.185.186.186m5.893 2.715h2.118a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m-2.93 0h2.12a.186.186 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.083.185.185.185m-2.964 0h2.119a.185.185 0 00.185-.185V9.006a.185.185 0 00-.184-.186h-2.12a.186.186 0 00-.186.186v1.887c0 .102.084.185.186.185m-2.92 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.082.185.185.185M23.763 9.89c-.065-.051-.672-.51-1.954-.51-.338.001-.676.03-1.01.087-.248-1.7-1.653-2.53-1.716-2.566l-.344-.199-.226.327c-.284.438-.49.922-.612 1.43-.23.97-.09 1.882.403 2.661-.595.332-1.55.413-1.744.42H.751a.751.751 0 00-.75.749 11.376 11.376 0 00.692 4.062c.545 1.428 1.355 2.48 2.41 3.124 1.18.723 3.1 1.137 5.275 1.137.983.003 1.963-.086 2.93-.266a12.248 12.248 0 003.823-1.389c.98-.567 1.86-1.288 2.61-2.136 1.252-1.418 1.998-2.997 2.553-4.4h.221c1.372 0 2.215-.549 2.68-1.009.309-.293.55-.65.707-1.046l.098-.288Z"])</script><script>self.__next_f.push([1,"1e:[\"$\",\"div\",null,{\"className\":\"mt-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-2.5 text-[10px] font-bold uppercase tracking-wider text-muted-foreground/50\",\"children\":\"Tech Stack\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-1.5\",\"children\":[[\"$\",\"div\",\"WordPress\",{\"title\":\"WordPress\",\"className\":\"group/tech flex items-center gap-1.5 rounded-full border border-border/50 bg-background/40 px-2.5 py-1 transition-all duration-300 hover:-translate-y-0.5 hover:border-muted-foreground/30 hover:bg-background/80\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"size-3.5 transition-transform duration-300 group-hover/tech:scale-125\",\"style\":{\"color\":\"#21759b\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M3.42 12c0-1.24.27-2.42.75-3.47l4.07 11.13A8.56 8.56 0 0 1 3.42 12zm8.58 8.58c-.83 0-1.64-.12-2.4-.35l2.55-7.4 2.61 7.16.06.14a8.58 8.58 0 0 1-2.82.45zm1.2-12.87c.51-.03.97-.08.97-.08.46-.05.4-.73-.05-.7 0 0-1.38.11-2.27.11-.84 0-2.24-.11-2.24-.11-.46-.03-.51.68-.06.7 0 0 .43.05.89.08l1.32 3.62-1.86 5.56-3.08-9.18c.51-.03.97-.08.97-.08.46-.05.4-.73-.05-.7 0 0-1.38.11-2.27.11-.16 0-.35 0-.55-.01A8.56 8.56 0 0 1 12 3.42c2.25 0 4.3.86 5.84 2.27-.04 0-.08-.01-.12-.01-.83 0-1.42.72-1.42 1.5 0 .69.4 1.28.82 1.97.32.56.69 1.28.69 2.32 0 .72-.28 1.55-.64 2.72l-.84 2.81-3.05-9.07zm2.4 11.27l2.55-7.38c.48-1.19.64-2.14.64-2.99 0-.31-.02-.6-.06-.87a8.56 8.56 0 0 1-3.13 11.24zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 19.13c-5.04 0-9.13-4.09-9.13-9.13S6.96 2.87 12 2.87s9.13 4.09 9.13 9.13-4.09 9.13-9.13 9.13z\"}]}],[\"$\",\"span\",null,{\"className\":\"text-[11px] font-medium text-muted-foreground transition-colors group-hover/tech:text-foreground\",\"children\":\"WordPress\"}]]}],[\"$\",\"div\",\"Python\",{\"title\":\"Python\",\"className\":\"group/tech flex items-center gap-1.5 rounded-full border border-border/50 bg-background/40 px-2.5 py-1 transition-all duration-300 hover:-translate-y-0.5 hover:border-muted-foreground/30 hover:bg-background/80\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"size-3.5 transition-transform duration-300 group-hover/tech:scale-125\",\"style\":{\"color\":\"#009688\"},\"children\":[[\"$\",\"path\",null,{\"d\":\"M11.914 0C5.82 0 6.2 2.656 6.2 2.656l.007 2.752h5.814v.826H3.9S0 5.789 0 11.96c0 6.17 3.403 5.95 3.403 5.95h2.03v-2.867s-.109-3.403 3.34-3.403h5.762s3.233.052 3.233-3.123V3.225S18.49 0 11.914 0zM8.788 1.865a1.04 1.04 0 1 1 0 2.08 1.04 1.04 0 0 1 0-2.08z\"}],[\"$\",\"path\",null,{\"d\":\"M12.086 24c6.094 0 5.714-2.656 5.714-2.656l-.007-2.752h-5.814v-.826h8.121S24 18.211 24 12.04c0-6.17-3.403-5.95-3.403-5.95h-2.03v2.867s.109 3.403-3.34 3.403H9.465s-3.233-.052-3.233 3.123v5.292S5.51 24 12.086 24zm3.126-1.865a1.04 1.04 0 1 1 0-2.08 1.04 1.04 0 0 1 0 2.08z\"}]]}],[\"$\",\"span\",null,{\"className\":\"text-[11px] font-medium text-muted-foreground transition-colors group-hover/tech:text-foreground\",\"children\":\"Python\"}]]}],[\"$\",\"div\",\"Docker\",{\"title\":\"Docker\",\"className\":\"group/tech flex items-center gap-1.5 rounded-full border border-border/50 bg-background/40 px-2.5 py-1 transition-all duration-300 hover:-translate-y-0.5 hover:border-muted-foreground/30 hover:bg-background/80\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"size-3.5 transition-transform duration-300 group-hover/tech:scale-125\",\"style\":{\"color\":\"#2496ed\"},\"children\":[\"$\",\"path\",null,{\"d\":\"$24\"}]}],\"$L25\"]}],\"$L26\",\"$L27\"]}]]}]\n"])</script><script>self.__next_f.push([1,"1f:[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 gap-6 sm:grid-cols-3 sm:gap-8\",\"children\":[[\"$\",\"div\",\"Footer.mainMenu\",{\"className\":\"group/menu\",\"children\":[[\"$\",\"h4\",null,{\"className\":\"mb-3.5 flex items-center gap-2 text-sm font-bold\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-block h-3 w-0.5 rounded-full bg-gradient-to-b from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/menu:h-4\"}],\"Menu Utama\"]}],[\"$\",\"ul\",null,{\"className\":\"space-y-2\",\"children\":[[\"$\",\"li\",\"Nav.home\",{\"children\":\"$L28\"}],[\"$\",\"li\",\"Nav.about\",{\"children\":\"$L29\"}],[\"$\",\"li\",\"Footer.chatAI\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#\",\"className\":\"group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"relative\",\"children\":[\"Chat AI\",[\"$\",\"span\",null,{\"className\":\"absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full\"}]]}]}]}],[\"$\",\"li\",\"Footer.ragSystem\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#\",\"className\":\"group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"relative\",\"children\":[\"Sistem RAG\",[\"$\",\"span\",null,{\"className\":\"absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full\"}]]}]}]}],[\"$\",\"li\",\"Footer.designClone\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#\",\"className\":\"group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"relative\",\"children\":[\"Design Clone\",[\"$\",\"span\",null,{\"className\":\"absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full\"}]]}]}]}]]}]]}],[\"$\",\"div\",\"Footer.services\",{\"className\":\"group/menu\",\"children\":[[\"$\",\"h4\",null,{\"className\":\"mb-3.5 flex items-center gap-2 text-sm font-bold\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-block h-3 w-0.5 rounded-full bg-gradient-to-b from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/menu:h-4\"}],\"Layanan\"]}],[\"$\",\"ul\",null,{\"className\":\"space-y-2\",\"children\":[[\"$\",\"li\",\"Footer.webDev\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#\",\"className\":\"group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"relative\",\"children\":[\"Pengembangan Web\",[\"$\",\"span\",null,{\"className\":\"absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full\"}]]}]}]}],[\"$\",\"li\",\"Footer.devops\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#\",\"className\":\"group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"relative\",\"children\":[\"DevOps \u0026 Cloud\",[\"$\",\"span\",null,{\"className\":\"absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full\"}]]}]}]}],[\"$\",\"li\",\"Footer.aiIntegration\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#\",\"className\":\"group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"relative\",\"children\":[\"Integrasi AI\",[\"$\",\"span\",null,{\"className\":\"absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full\"}]]}]}]}],[\"$\",\"li\",\"Footer.itConsultation\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#\",\"className\":\"group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"relative\",\"children\":[\"Konsultasi IT\",\"$L2a\"]}]}]}]]}]]}],\"$L2b\"]}]\n"])</script><script>self.__next_f.push([1,"20:[\"$\",\"div\",null,{\"className\":\"my-8 h-px bg-gradient-to-r from-transparent via-border to-transparent\"}]\n"])</script><script>self.__next_f.push([1,"21:[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center justify-between gap-4 sm:flex-row sm:gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center gap-1 text-center sm:items-start sm:text-left\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"© 2025 Adityo GW. Hak cipta dilindungi.\"}],[\"$\",\"p\",null,{\"className\":\"flex items-center gap-1.5 text-xs text-muted-foreground/60\",\"children\":[\"Dibuat dengan\",[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\",\"key\":\"mvr1a0\"}]],\"className\":\"lucide-heart size-3 fill-[#2ea043] text-[#2ea043]\"}],\"menggunakan Next.js, Tailwind CSS \u0026 shadcn/ui\"]}]]}],[\"$\",\"a\",null,{\"href\":\"#top\",\"className\":\"group/up flex items-center gap-2 rounded-full border border-border/60 bg-background/40 px-4 py-2 text-[13px] font-medium text-muted-foreground backdrop-blur-sm transition-all duration-300 hover:-translate-y-0.5 hover:border-muted-foreground/30 hover:bg-background/80 hover:text-foreground\",\"children\":[[\"$\",\"span\",null,{\"children\":\"Kembali ke atas\"}],[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m5 12 7-7 7 7\",\"key\":\"hav0vg\"}],[\"path\",{\"d\":\"M12 19V5\",\"key\":\"x0mq9r\"}]],\"className\":\"lucide-arrow-up size-3.5 transition-transform duration-300 group-hover/up:-translate-y-0.5\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"25:[\"$\",\"span\",null,{\"className\":\"text-[11px] font-medium text-muted-foreground transition-colors group-hover/tech:text-foreground\",\"children\":\"Docker\"}]\n2c:T596,"])</script><script>self.__next_f.push([1,"M11.5725 0c-.1763 0-.3049.0013-.3584.0067-.0516.0053-.2159.021-.3636.0328-3.4088.3073-6.6017 2.1463-8.624 4.9728C1.1004 6.584.3802 8.3666.1082 10.255c-.0962.659-.108.8537-.108 1.7474s.012 1.0884.108 1.7476c.652 4.5064 3.8591 8.2919 8.2087 9.6945.7789.2511 1.6.4223 2.5337.5255.3636.04 1.9354.04 2.299 0 1.6117-.1783 2.9772-.577 4.3237-1.2643.2065-.1056.2464-.1337.2183-.1577-.0184-.0139-.8727-1.1556-1.8978-2.5363l-1.8633-2.5097-2.3345-3.4566c-1.2828-1.9012-2.34-3.4588-2.3493-3.4588-.0093-.0022-.0186 1.5347-.0237 3.4071-.0067 3.2787-.0093 3.4118-.0516 3.4877-.061.0915-.108.1156-.2584.1337-.0915.0093-.3411.0139-.6234.0139h-.5143l-.1336-.0841c-.087-.0558-.1491-.1282-.1902-.2159l-.061-.1402.0067-4.5523.0093-4.5541.0915-.1156c.0475-.061.1491-.1395.2183-.1783.1194-.061.1665-.0665.6735-.0665.5961 0 .6937.0237.8483.1963.0431.0475 1.3066 1.9487 2.8112 4.2223 1.5045 2.2735 3.5607 5.3812 4.5707 6.9083l1.8354 2.7755.0925-.061c1.0289-.6665 2.118-1.6179 2.9623-2.5989 1.8229-2.118 2.9973-4.7393 3.3896-7.4949.0962-.6591.108-.8538.108-1.7475s-.012-1.0884-.108-1.7476c-.652-4.5064-3.8591-8.2919-8.2087-9.6945-.7751-.2511-1.5958-.4223-2.5337-.5255-.3239-.0346-1.8567-.0716-2.0223-.0581zm5.4483 7.2163c.1337 0 .1577.012.2183.061.0431.0328.087.0935.0991.1337.0139.0431.0186 1.4186.0139 3.0611l-.0093 2.9876-.6983-1.0695-.7075-1.0714v-1.9068c0-1.2525.0093-1.9326.0237-1.9763.0186-.061.0707-.1156.1282-.1491.0475-.0237.1953-.0328.932-.0328z"])</script><script>self.__next_f.push([1,"26:[\"$\",\"div\",\"Next.js\",{\"title\":\"Next.js\",\"className\":\"group/tech flex items-center gap-1.5 rounded-full border border-border/50 bg-background/40 px-2.5 py-1 transition-all duration-300 hover:-translate-y-0.5 hover:border-muted-foreground/30 hover:bg-background/80\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"size-3.5 transition-transform duration-300 group-hover/tech:scale-125\",\"style\":{\"color\":\"var(--foreground)\"},\"children\":[\"$\",\"path\",null,{\"d\":\"$2c\"}]}],[\"$\",\"span\",null,{\"className\":\"text-[11px] font-medium text-muted-foreground transition-colors group-hover/tech:text-foreground\",\"children\":\"Next.js\"}]]}]\n27:[\"$\",\"div\",\"AI\",{\"title\":\"AI\",\"className\":\"group/tech flex items-center gap-1.5 rounded-full border border-border/50 bg-background/40 px-2.5 py-1 transition-all duration-300 hover:-translate-y-0.5 hover:border-muted-foreground/30 hover:bg-background/80\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"size-3.5 transition-transform duration-300 group-hover/tech:scale-125\",\"style\":{\"color\":\"#a371f7\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M12 2a1 1 0 0 1 1 1v1.06a3.5 3.5 0 0 1 2.5 3.44v.5a3.5 3.5 0 0 1 2.5 3.34v.16a3.5 3.5 0 0 1-1.5 5.69V18a3.5 3.5 0 0 1-3.5 3.5h-.5a2.5 2.5 0 0 1-5 0H7A3.5 3.5 0 0 1 3.5 18v-.31A3.5 3.5 0 0 1 2 12v-.16a3.5 3.5 0 0 1 2.5-3.34v-.5A3.5 3.5 0 0 1 7 4.06V3a1 1 0 0 1 1-1 1 1 0 0 1 1 1v1h2V3a1 1 0 0 1 1-1zm-1 6a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0V9a1 1 0 0 0-1-1zm-3 3a1 1 0 0 0-1 1v3a1 1 0 0 0 2 0v-3a1 1 0 0 0-1-1zm6 0a1 1 0 0 0-1 1v3a1 1 0 0 0 2 0v-3a1 1 0 0 0-1-1z\"}]}],[\"$\",\"span\",null,{\"className\":\"text-[11px] font-medium text-muted-foreground transition-colors group-hover/tech:text-foreground\",\"children\":\"AI\"}]]}]\n2a:[\"$\",\"span\",null,{\"className\":\"absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full\"}]\n"])</script><script>self.__next_f.push([1,"2b:[\"$\",\"div\",\"Footer.contact\",{\"className\":\"group/menu\",\"children\":[[\"$\",\"h4\",null,{\"className\":\"mb-3.5 flex items-center gap-2 text-sm font-bold\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-block h-3 w-0.5 rounded-full bg-gradient-to-b from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/menu:h-4\"}],\"Kontak\"]}],[\"$\",\"ul\",null,{\"className\":\"space-y-2\",\"children\":[[\"$\",\"li\",\"Footer.github\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/didiet86\",\"className\":\"group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"relative\",\"children\":[\"GitHub\",[\"$\",\"span\",null,{\"className\":\"absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full\"}]]}]}]}],[\"$\",\"li\",\"Footer.whatsapp\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://wa.me/6289666666741\",\"className\":\"group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"relative\",\"children\":[\"WhatsApp\",[\"$\",\"span\",null,{\"className\":\"absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full\"}]]}]}]}],[\"$\",\"li\",\"Footer.linkedin\",{\"children\":[\"$\",\"a\",null,{\"href\":\"#\",\"className\":\"group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"relative\",\"children\":[\"LinkedIn\",[\"$\",\"span\",null,{\"className\":\"absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full\"}]]}]}]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"1a:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id\",\"locale\":\"$undefined\",\"localeCookie\":{\"name\":\"NEXT_LOCALE\",\"sameSite\":\"lax\"},\"className\":\"group inline-flex w-fit items-center gap-2.5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex size-9 items-center justify-center rounded-lg bg-gradient-to-br from-[#238636] via-[#1f6feb] to-[color:var(--accent-purple)] shadow-[0_0_12px_rgba(31,111,235,0.30)] transition-transform duration-300 group-hover:scale-105\",\"children\":[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M12 19h8\",\"key\":\"baeox8\"}],[\"path\",{\"d\":\"m4 17 6-6-6-6\",\"key\":\"1yngyt\"}]],\"className\":\"lucide-terminal size-4 text-white\"}]}],[\"$\",\"span\",null,{\"className\":\"text-gradient-tri bg-[length:200%_auto] text-xl font-bold tracking-tight\",\"children\":\"Adityo\"}]]}]\n28:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"relative\",\"children\":[\"Beranda\",[\"$\",\"span\",null,{\"className\":\"absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full\"}]]}]}]\n29:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/about\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"group/link relative inline-block text-[13px] text-muted-foreground transition-colors duration-200 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"relative\",\"children\":[\"Tentang\",[\"$\",\"span\",null,{\"className\":\"absolute -bottom-0.5 left-0 h-px w-0 bg-gradient-to-r from-[#2ea043] to-[#1f6feb] transition-all duration-300 group-hover/link:w-full\"}]]}]}]\n16:[\"$\",\"div\",null,{\"className\":\"flex min-h-[70vh] flex-col items-center justify-center px-4 text-center\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-6xl font-bold tracking-tight text-neutral-900 dark:text-white sm:text-8xl\",\"children\":\"404\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-lg text-neutral-600 dark:text-neutral-400\",\"children\":\"Page not found. The page you're looking for doesn't exist or has been moved.\"}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex flex-wrap items-center justify-center gap-4\",\"children\":[[\"$\",\"$L2e\",null,{\"href\":\"/en\",\"className\":\"rounded-lg bg-neutral-900 px-6 py-3 text-sm font-medium text-white transition hover:bg-neutral-700 dark:bg-white dark:text-neutral-900 dark:hover:bg-neutral-200\",\"children\":\"Back to Home\"}],[\"$\",\"$L2e\",null,{\"href\":\"/en/portfolio\",\"className\":\"rounded-lg border border-neutral-300 px-6 py-3 text-sm font-medium text-neutral-900 transition hover:bg-neutral-100 dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-800\",\"children\":\"View Portfolio\"}],[\"$\",\"$L2e\",null,{\"href\":\"/en/about\",\"className\":\"rounded-lg border border-neutral-300 px-6 py-3 text-sm font-medium text-neutral-900 transition hover:bg-neutral-100 dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-800\",\"children\":\"About Me\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"14:null\n19:null\n"])</script><script>self.__next_f.push([1,"2f:I[312843,[\"/_next/static/chunks/2nu_9jg9ir1wo.js\",\"/_next/static/chunks/3sb2q3mwtcjk1.js\"],\"IconMark\"]\n8:null\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"title\",\"0\",{\"children\":\"Identitas konten: marker tersembunyi di pagesync · Adityo GW\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Kenapa identitas halaman mirror dibentuk marker HTML tersembunyi dan hash konten, bukan nama atau ID: pelajaran desain dari modul pagesync.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"author\",\"content\":\"Adityo Guni Waluyo\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"keywords\",\"content\":\"plane,python,markdown,sync\"}],[\"$\",\"meta\",\"5\",{\"name\":\"creator\",\"content\":\"Adityo Guni Waluyo\"}],[\"$\",\"link\",\"6\",{\"rel\":\"canonical\",\"href\":\"https://adityo.web.id/id/blog/identitas-konten-pagesync\"}],[\"$\",\"link\",\"7\",{\"rel\":\"alternate\",\"hrefLang\":\"id\",\"href\":\"https://adityo.web.id/id/blog/identitas-konten-pagesync\"}],[\"$\",\"link\",\"8\",{\"rel\":\"alternate\",\"hrefLang\":\"en\",\"href\":\"https://adityo.web.id/en/blog/identitas-konten-pagesync-en\"}],[\"$\",\"link\",\"9\",{\"rel\":\"alternate\",\"hrefLang\":\"x-default\",\"href\":\"https://adityo.web.id/en/blog/identitas-konten-pagesync-en\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:title\",\"content\":\"Identitas konten: marker tersembunyi di pagesync\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:description\",\"content\":\"Kenapa identitas halaman mirror dibentuk marker HTML tersembunyi dan hash konten, bukan nama atau ID: pelajaran desain dari modul pagesync.\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:url\",\"content\":\"https://adityo.web.id/id/blog/identitas-konten-pagesync\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:site_name\",\"content\":\"Adityo GW\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:locale\",\"content\":\"id_ID\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:image\",\"content\":\"https://adityo.web.id/profile.jpg\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"18\",{\"property\":\"og:image:alt\",\"content\":\"Adityo GW — Web Developer \u0026 AI Integration Specialist\"}],[\"$\",\"meta\",\"19\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:title\",\"content\":\"Identitas konten: marker tersembunyi di pagesync\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:description\",\"content\":\"Kenapa identitas halaman mirror dibentuk marker HTML tersembunyi dan hash konten, bukan nama atau ID: pelajaran desain dari modul pagesync.\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image\",\"content\":\"https://adityo.web.id/profile.jpg\"}],[\"$\",\"link\",\"24\",{\"rel\":\"icon\",\"href\":\"/icon?b229510b44cdb4f2\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"32x32\"}],[\"$\",\"$L2f\",\"25\",{}]]\n"])</script><script>self.__next_f.push([1,"5:[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Identitas halaman mirror: marker tersembunyi, bukan nama\\\",\\\"description\\\":\\\"Pengikatan halaman mirror lewat nama itu rapuh; modul pagesync memindahkan otoritas ke marker HTML tersembunyi plus sha256 konten yang dinormalisasi.\\\",\\\"url\\\":\\\"https://adityo.web.id/id/blog/identitas-konten-pagesync\\\",\\\"mainEntityOfPage\\\":\\\"https://adityo.web.id/id/blog/identitas-konten-pagesync\\\",\\\"inLanguage\\\":\\\"id\\\",\\\"image\\\":[\\\"\\\"],\\\"datePublished\\\":\\\"2026-09-29T10:14:55Z\\\",\\\"dateModified\\\":\\\"2026-09-29T10:19:03Z\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Adityo Guni Waluyo\\\",\\\"url\\\":\\\"https://adityo.web.id\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"Adityo GW\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://adityo.web.id/profile.jpg\\\"}}}\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Blog\\\",\\\"item\\\":\\\"https://adityo.web.id/id/blog\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"tooling\\\",\\\"item\\\":\\\"https://adityo.web.id/id/blog/category/tooling\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":3,\\\"name\\\":\\\"Identitas halaman mirror: marker tersembunyi, bukan nama\\\"}]}\"}}],[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl px-3 pt-24 pb-16 sm:px-4 sm:pt-28\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid gap-10 lg:grid-cols-[240px_minmax(0,1fr)] xl:grid-cols-[240px_minmax(0,1fr)_240px]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"hidden lg:block\",\"children\":[\"$\",\"nav\",null,{\"aria-label\":\"Blog navigation\",\"className\":\"sticky top-24 max-h-[calc(100vh-7rem)] space-y-6 overflow-y-auto pb-8 text-sm\",\"children\":[[\"$\",\"form\",null,{\"role\":\"search\",\"children\":[\"$\",\"div\",null,{\"className\":\"group relative\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m21 21-4.34-4.34\",\"key\":\"14j7rj\"}],[\"circle\",{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\",\"key\":\"4ej97u\"}]],\"className\":\"lucide-search pointer-events-none absolute top-1/2 left-3 size-3.5 -translate-y-1/2 text-muted-foreground\"}],[\"$\",\"input\",null,{\"type\":\"search\",\"name\":\"q\",\"defaultValue\":\"$undefined\",\"placeholder\":\"Cari artikel…\",\"aria-label\":\"Cari artikel…\",\"className\":\"h-9 w-full rounded-[6px] border border-border bg-card/60 pr-3 pl-9 text-[13px] text-foreground placeholder:text-muted-foreground/70 focus:border-[#25E2A8]/60 focus:outline-none focus:ring-2 focus:ring-[#25E2A8]/25\"}]]}]}],[\"$\",\"section\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-2 flex items-center gap-1.5 px-3 text-[13px] font-bold text-foreground\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\",\"key\":\"usdka0\"}]],\"className\":\"lucide-folder-open size-3.5\"}],\"Kategori\"]}],[\"$\",\"ul\",null,{\"className\":\"max-h-60 space-y-0.5 overflow-y-auto pr-1\",\"children\":[[\"$\",\"li\",null,{\"children\":\"$L30\"}],[[\"$\",\"li\",\"frontend\",{\"children\":\"$L31\"}],[\"$\",\"li\",\"devops\",{\"children\":\"$L32\"}],[\"$\",\"li\",\"ai\",{\"children\":\"$L33\"}],[\"$\",\"li\",\"backend\",{\"children\":\"$L34\"}],[\"$\",\"li\",\"tooling\",{\"children\":\"$L35\"}],[\"$\",\"li\",\"seo\",{\"children\":\"$L36\"}],[\"$\",\"li\",\"testing\",{\"children\":\"$L37\"}],[\"$\",\"li\",\"security\",{\"children\":\"$L38\"}],[\"$\",\"li\",\"design\",{\"children\":\"$L39\"}],[\"$\",\"li\",\"mobile\",{\"children\":\"$L3a\"}],[\"$\",\"li\",\"writing\",{\"children\":\"$L3b\"}]]]}]]}],[\"$\",\"section\",null,{\"className\":\"border-b border-border/60 pb-6\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-2 flex items-center gap-1.5 px-3 text-[13px] font-bold text-foreground\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z\",\"key\":\"16rjxf\"}],[\"path\",{\"d\":\"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193\",\"key\":\"178nd4\"}],[\"circle\",{\"cx\":\"10.5\",\"cy\":\"6.5\",\"r\":\".5\",\"fill\":\"currentColor\",\"key\":\"12ikhr\"}]],\"className\":\"lucide-tags size-3.5\"}],\"Tag\"]}],\"$L3c\"]}]]}]}],\"$L3d\",\"$L3e\"]}]}],\"$L3f\"]\n"])</script><script>self.__next_f.push([1,"135:I[681113,[\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"/_next/static/chunks/0lhlvh1hgiuma.js\",\"/_next/static/chunks/1m-bnru4--byc.js\",\"/_next/static/chunks/2-88ubju-8gg4.js\",\"/_next/static/chunks/2bu39lgwf083t.js\",\"/_next/static/chunks/30qir_z2dql5f.js\",\"/_next/static/chunks/2sby9c-4xwieh.js\",\"/_next/static/chunks/14qsee9d-htmq.js\",\"/_next/static/chunks/37xamenotiwny.js\",\"/_next/static/chunks/3mth_4ccpg0fx.js\",\"/_next/static/chunks/31-10y-ic6vfz.js\",\"/_next/static/chunks/0c05mme6db5y2.js\",\"/_next/static/chunks/3nqp4f_tsyr0y.js\",\"/_next/static/chunks/1dbumlihosg07.js\",\"/_next/static/chunks/3scufj0koz643.js\"],\"TechIconRow\"]\n"])</script><script>self.__next_f.push([1,"3c:[\"$\",\"div\",null,{\"className\":\"flex max-h-40 flex-wrap gap-1.5 overflow-y-auto px-2 py-0.5 pr-1\",\"children\":[\"$L40\",\"$L41\",\"$L42\",\"$L43\",\"$L44\",\"$L45\",\"$L46\",\"$L47\",\"$L48\",\"$L49\",\"$L4a\",\"$L4b\",\"$L4c\",\"$L4d\",\"$L4e\",\"$L4f\",\"$L50\",\"$L51\",\"$L52\",\"$L53\",\"$L54\",\"$L55\",\"$L56\",\"$L57\",\"$L58\",\"$L59\",\"$L5a\",\"$L5b\",\"$L5c\",\"$L5d\",\"$L5e\",\"$L5f\",\"$L60\",\"$L61\",\"$L62\",\"$L63\",\"$L64\",\"$L65\",\"$L66\",\"$L67\",\"$L68\",\"$L69\",\"$L6a\",\"$L6b\",\"$L6c\",\"$L6d\",\"$L6e\",\"$L6f\",\"$L70\",\"$L71\",\"$L72\",\"$L73\",\"$L74\",\"$L75\",\"$L76\",\"$L77\",\"$L78\",\"$L79\",\"$L7a\",\"$L7b\",\"$L7c\",\"$L7d\",\"$L7e\",\"$L7f\",\"$L80\",\"$L81\",\"$L82\",\"$L83\",\"$L84\",\"$L85\",\"$L86\",\"$L87\",\"$L88\",\"$L89\",\"$L8a\",\"$L8b\",\"$L8c\",\"$L8d\",\"$L8e\",\"$L8f\",\"$L90\",\"$L91\",\"$L92\",\"$L93\",\"$L94\",\"$L95\",\"$L96\",\"$L97\",\"$L98\",\"$L99\",\"$L9a\",\"$L9b\",\"$L9c\",\"$L9d\",\"$L9e\",\"$L9f\",\"$La0\",\"$La1\",\"$La2\",\"$La3\",\"$La4\",\"$La5\",\"$La6\",\"$La7\",\"$La8\",\"$La9\",\"$Laa\",\"$Lab\",\"$Lac\",\"$Lad\",\"$Lae\",\"$Laf\",\"$Lb0\",\"$Lb1\",\"$Lb2\",\"$Lb3\",\"$Lb4\",\"$Lb5\",\"$Lb6\",\"$Lb7\",\"$Lb8\",\"$Lb9\",\"$Lba\",\"$Lbb\",\"$Lbc\",\"$Lbd\",\"$Lbe\",\"$Lbf\",\"$Lc0\",\"$Lc1\",\"$Lc2\",\"$Lc3\",\"$Lc4\",\"$Lc5\",\"$Lc6\",\"$Lc7\",\"$Lc8\",\"$Lc9\",\"$Lca\",\"$Lcb\",\"$Lcc\",\"$Lcd\",\"$Lce\",\"$Lcf\",\"$Ld0\",\"$Ld1\",\"$Ld2\",\"$Ld3\",\"$Ld4\",\"$Ld5\",\"$Ld6\",\"$Ld7\",\"$Ld8\",\"$Ld9\",\"$Lda\",\"$Ldb\",\"$Ldc\",\"$Ldd\",\"$Lde\",\"$Ldf\",\"$Le0\",\"$Le1\",\"$Le2\",\"$Le3\",\"$Le4\",\"$Le5\",\"$Le6\",\"$Le7\",\"$Le8\",\"$Le9\",\"$Lea\",\"$Leb\",\"$Lec\",\"$Led\",\"$Lee\",\"$Lef\",\"$Lf0\",\"$Lf1\",\"$Lf2\",\"$Lf3\",\"$Lf4\",\"$Lf5\",\"$Lf6\",\"$Lf7\",\"$Lf8\",\"$Lf9\",\"$Lfa\",\"$Lfb\",\"$Lfc\",\"$Lfd\",\"$Lfe\",\"$Lff\",\"$L100\",\"$L101\",\"$L102\",\"$L103\",\"$L104\",\"$L105\",\"$L106\",\"$L107\",\"$L108\",\"$L109\",\"$L10a\",\"$L10b\",\"$L10c\",\"$L10d\",\"$L10e\",\"$L10f\",\"$L110\",\"$L111\",\"$L112\",\"$L113\",\"$L114\",\"$L115\",\"$L116\",\"$L117\",\"$L118\",\"$L119\",\"$L11a\",\"$L11b\",\"$L11c\",\"$L11d\",\"$L11e\",\"$L11f\",\"$L120\",\"$L121\",\"$L122\",\"$L123\",\"$L124\",\"$L125\",\"$L126\",\"$L127\",\"$L128\",\"$L129\",\"$L12a\",\"$L12b\",\"$L12c\",\"$L12d\",\"$L12e\",\"$L12f\",\"$L130\",\"$L131\",\"$L132\"]}]\n"])</script><script>self.__next_f.push([1,"136:T64a,"])</script><script>self.__next_f.push([1,"\u003cpath fill=\"currentColor\" d=\"m14.25.18l.9.2l.73.26l.59.3l.45.32l.34.34l.25.34l.16.33l.1.3l.04.26l.02.2l-.01.13V8.5l-.05.63l-.13.55l-.21.46l-.26.38l-.3.31l-.33.25l-.35.19l-.35.14l-.33.1l-.3.07l-.26.04l-.21.02H8.77l-.69.05l-.59.14l-.5.22l-.41.27l-.33.32l-.27.35l-.2.36l-.15.37l-.1.35l-.07.32l-.04.27l-.02.21v3.06H3.17l-.21-.03l-.28-.07l-.32-.12l-.35-.18l-.36-.26l-.36-.36l-.35-.46l-.32-.59l-.28-.73l-.21-.88l-.14-1.05l-.05-1.23l.06-1.22l.16-1.04l.24-.87l.32-.71l.36-.57l.4-.44l.42-.33l.42-.24l.4-.16l.36-.1l.32-.05l.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75l-.02-.37l.05-.34l.11-.31l.17-.28l.25-.26l.31-.23l.38-.2l.44-.18l.51-.15l.58-.12l.64-.1l.71-.06l.77-.04l.84-.02l1.27.05zm-6.3 1.98l-.23.33l-.08.41l.08.41l.23.34l.33.22l.41.09l.41-.09l.33-.22l.23-.34l.08-.41l-.08-.41l-.23-.33l-.33-.22l-.41-.09l-.41.09zm13.09 3.95l.28.06l.32.12l.35.18l.36.27l.36.35l.35.47l.32.59l.28.73l.21.88l.14 1.04l.05 1.23l-.06 1.23l-.16 1.04l-.24.86l-.32.71l-.36.57l-.4.45l-.42.33l-.42.24l-.4.16l-.36.09l-.32.05l-.24.02l-.16-.01h-8.22v.82h5.84l.01 2.76l.02.36l-.05.34l-.11.31l-.17.29l-.25.25l-.31.24l-.38.2l-.44.17l-.51.15l-.58.13l-.64.09l-.71.07l-.77.04l-.84.01l-1.27-.04l-1.07-.14l-.9-.2l-.73-.25l-.59-.3l-.45-.33l-.34-.34l-.25-.34l-.16-.33l-.1-.3l-.04-.25l-.02-.2l.01-.13v-5.34l.05-.64l.13-.54l.21-.46l.26-.38l.3-.32l.33-.24l.35-.2l.35-.14l.33-.1l.3-.06l.26-.04l.21-.02l.13-.01h5.84l.69-.05l.59-.14l.5-.21l.41-.28l.33-.32l.27-.35l.2-.36l.15-.36l.1-.35l.07-.32l.04-.28l.02-.21V6.07h2.09l.14.01zm-6.47 14.25l-.23.33l-.08.41l.08.41l.23.33l.33.23l.41.08l.41-.08l.33-.23l.23-.33l.08-.41l-.08-.41l-.23-.33l-.33-.23l-.41-.08l-.41.08z\"/\u003e"])</script><script>self.__next_f.push([1,"3d:[\"$\",\"article\",null,{\"className\":\"min-w-0\",\"children\":[[\"$\",\"nav\",null,{\"aria-label\":\"Breadcrumb\",\"className\":\"text-xs text-muted-foreground\",\"children\":[\"$\",\"ol\",null,{\"className\":\"flex flex-wrap items-center gap-1.5\",\"children\":[[\"$\",\"li\",null,{\"children\":\"$L133\"}],[\"$\",\"li\",null,{\"className\":\"flex items-center gap-1.5\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"children\":\"/\"}],\"$L134\"]}],[\"$\",\"li\",null,{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"children\":\"/\"}],[\"$\",\"span\",null,{\"aria-current\":\"page\",\"className\":\"truncate text-foreground/70\",\"children\":\"Identitas halaman mirror: marker tersembunyi, bukan nama\"}]]}]]}]}],[\"$\",\"header\",null,{\"className\":\"mt-5 mb-8 border-b border-border/70 pb-8\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-2xl leading-tight font-extrabold tracking-tight sm:text-3xl lg:text-4xl\",\"children\":\"Identitas halaman mirror: marker tersembunyi, bukan nama\"}],[\"$\",\"div\",null,{\"className\":\"mt-3 flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-muted-foreground sm:text-[13px]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"circle\",{\"cx\":\"12\",\"cy\":\"8\",\"r\":\"5\",\"key\":\"1hypcn\"}],[\"path\",{\"d\":\"M20 21a8 8 0 0 0-16 0\",\"key\":\"rfgkzh\"}]],\"className\":\"lucide-user-round size-3.5\"}],\"Adityo Guni Waluyo\"]}],[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M8 2v3\",\"key\":\"1ioesn\"}],[\"path\",{\"d\":\"M16 2v3\",\"key\":\"otl347\"}],[\"rect\",{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\",\"key\":\"h1oib\"}],[\"path\",{\"d\":\"M3 9h18\",\"key\":\"1pudct\"}],[\"path\",{\"d\":\"M8 13h.01\",\"key\":\"1sbv64\"}],[\"path\",{\"d\":\"M12 13h.01\",\"key\":\"y0uutt\"}],[\"path\",{\"d\":\"M16 13h.01\",\"key\":\"wip0gl\"}],[\"path\",{\"d\":\"M8 17h.01\",\"key\":\"p3bg7i\"}],[\"path\",{\"d\":\"M12 17h.01\",\"key\":\"p32p05\"}],[\"path\",{\"d\":\"M16 17h.01\",\"key\":\"ql8jdd\"}]],\"className\":\"lucide-calendar-days size-3.5\"}],[\"$\",\"time\",null,{\"dateTime\":\"2026-09-29T10:14:55Z\",\"children\":\"29 September 2026\"}]]}],[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\",\"key\":\"1mglay\"}],[\"path\",{\"d\":\"M12 6v6h4\",\"key\":\"135r8i\"}]],\"className\":\"lucide-clock3 lucide-clock-3 size-3.5\"}],[\"$\",\"time\",null,{\"dateTime\":\"2026-09-29T10:14:55Z\",\"children\":\"17.14\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-3 flex items-center gap-5\",\"children\":[[\"$\",\"p\",null,{\"className\":\"min-w-0 flex-1 text-base leading-relaxed text-muted-foreground\",\"children\":\"Pengikatan halaman mirror lewat nama itu rapuh; modul pagesync memindahkan otoritas ke marker HTML tersembunyi plus sha256 konten yang dinormalisasi.\"}],[\"$\",\"div\",null,{\"className\":\"group/hero shrink-0\",\"children\":[\"$\",\"$L135\",null,{\"icons\":[{\"tag\":\"python\",\"icon\":{\"width\":24,\"height\":24,\"body\":\"$136\"}}],\"category\":\"tooling\"}]}]]}],\"$L137\"]}],\"$L138\",\"$L139\",\"$L13a\",\"$L13b\"]}]\n"])</script><script>self.__next_f.push([1,"3e:[\"$\",\"aside\",null,{\"className\":\"hidden xl:block\",\"children\":[\"$\",\"nav\",null,{\"aria-label\":\"Table of contents\",\"className\":\"sticky top-24 max-h-[calc(100vh-7rem)] overflow-y-auto pb-8\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-3 flex items-center gap-1.5 text-[13px] font-bold text-foreground\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M8 5h13\",\"key\":\"1pao27\"}],[\"path\",{\"d\":\"M13 12h8\",\"key\":\"h98zly\"}],[\"path\",{\"d\":\"M13 19h8\",\"key\":\"c3s6r1\"}],[\"path\",{\"d\":\"M3 10a2 2 0 0 0 2 2h3\",\"key\":\"1npucw\"}],[\"path\",{\"d\":\"M3 5v12a2 2 0 0 0 2 2h3\",\"key\":\"x1gjn2\"}]],\"className\":\"lucide-list-tree size-3.5\"}],\"Di halaman ini\"]}],[\"$\",\"div\",null,{\"className\":\"text-[13px]\",\"children\":[[\"$\",\"div\",\"marker-tersembunyi-sebagai-otoritas\",{\"className\":\"\",\"children\":[[\"$\",\"a\",null,{\"href\":\"#marker-tersembunyi-sebagai-otoritas\",\"className\":\"group flex items-center gap-1 rounded-md py-1 pr-2 pl-1 font-semibold text-foreground/80 transition-colors hover:text-primary\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m9 18 6-6-6-6\",\"key\":\"mthhwq\"}]],\"className\":\"lucide-chevron-right size-3 shrink-0 text-muted-foreground/50 transition-transform group-hover:translate-x-0.5 group-hover:text-primary\",\"aria-hidden\":\"true\"}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"Marker Tersembunyi sebagai Otoritas\"}]]}],false]}],[\"$\",\"div\",\"penamaan-untuk-manusia-tier-yang-tegas\",{\"className\":\"mt-3\",\"children\":[[\"$\",\"a\",null,{\"href\":\"#penamaan-untuk-manusia-tier-yang-tegas\",\"className\":\"group flex items-center gap-1 rounded-md py-1 pr-2 pl-1 font-semibold text-foreground/80 transition-colors hover:text-primary\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$3e:props:children:props:children:1:props:children:0:props:children:0:props:children:0:props:iconNode\",\"className\":\"lucide-chevron-right size-3 shrink-0 text-muted-foreground/50 transition-transform group-hover:translate-x-0.5 group-hover:text-primary\",\"aria-hidden\":\"true\"}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"Penamaan untuk Manusia, Tier yang Tegas\"}]]}],false]}],[\"$\",\"div\",\"drift-dan-validasi-config\",{\"className\":\"mt-3\",\"children\":[[\"$\",\"a\",null,{\"href\":\"#drift-dan-validasi-config\",\"className\":\"group flex items-center gap-1 rounded-md py-1 pr-2 pl-1 font-semibold text-foreground/80 transition-colors hover:text-primary\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$3e:props:children:props:children:1:props:children:0:props:children:0:props:children:0:props:iconNode\",\"className\":\"lucide-chevron-right size-3 shrink-0 text-muted-foreground/50 transition-transform group-hover:translate-x-0.5 group-hover:text-primary\",\"aria-hidden\":\"true\"}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"Drift dan Validasi Config\"}]]}],false]}],[\"$\",\"div\",\"sumber\",{\"className\":\"mt-3\",\"children\":[[\"$\",\"a\",null,{\"href\":\"#sumber\",\"className\":\"group flex items-center gap-1 rounded-md py-1 pr-2 pl-1 font-semibold text-foreground/80 transition-colors hover:text-primary\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$3e:props:children:props:children:1:props:children:0:props:children:0:props:children:0:props:iconNode\",\"className\":\"lucide-chevron-right size-3 shrink-0 text-muted-foreground/50 transition-transform group-hover:translate-x-0.5 group-hover:text-primary\",\"aria-hidden\":\"true\"}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"Sumber\"}]]}],false]}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"3f:[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-6xl px-3 pb-8 sm:px-4\",\"children\":[\"$\",\"section\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-bold tracking-tight sm:text-xl\",\"children\":\"Artikel terkait\"}],[\"$\",\"div\",null,{\"className\":\"mt-5 grid grid-cols-1 gap-x-10 gap-y-6 lg:grid-cols-2\",\"children\":[[\"$\",\"div\",\"memory-agent-sintesis-mingguan\",{\"className\":\"relative\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute top-2 bottom-[-1.5rem] left-7 w-px -translate-x-1/2 bg-gradient-to-b from-primary/40 via-border to-transparent sm:left-8 lg:left-9\"}],\"$L13c\"]}],[\"$\",\"div\",\"deskripsi-dari-riset-bukan-placeholder\",{\"className\":\"relative\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute top-2 bottom-[-1.5rem] left-7 w-px -translate-x-1/2 bg-gradient-to-b from-primary/40 via-border to-transparent sm:left-8 lg:left-9\"}],\"$L13d\"]}],[\"$\",\"div\",\"plane-pages-mirror-dokumen\",{\"className\":\"relative\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute top-2 bottom-[-1.5rem] left-7 w-px -translate-x-1/2 bg-gradient-to-b from-primary/40 via-border to-transparent sm:left-8 lg:left-9\"}],\"$L13e\"]}],[\"$\",\"div\",\"logo-theme-aware-footer\",{\"className\":\"relative\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute top-2 bottom-[-1.5rem] left-7 w-px -translate-x-1/2 bg-gradient-to-b from-primary/40 via-border to-transparent sm:left-8 lg:left-9\"}],\"$L13f\"]}],[\"$\",\"div\",\"satu-bahasa-desain-untuk-semua-halaman\",{\"className\":\"relative\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute top-2 bottom-[-1.5rem] left-7 w-px -translate-x-1/2 bg-gradient-to-b from-primary/40 via-border to-transparent sm:left-8 lg:left-9\"}],\"$L140\"]}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"30:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"page\",\"className\":\"block truncate rounded-md py-1.5 pr-2 pl-3 text-[13px] transition-colors bg-[#25E2A8]/10 font-medium text-emerald-600 dark:text-[#25E2A8]\",\"children\":\"Semua artikel\"}]\n31:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/category/frontend\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md py-1.5 pr-2 pl-3 text-[13px] transition-colors text-muted-foreground hover:bg-muted/60 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"rect\",{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"key\":\"afitv7\"}],[\"path\",{\"d\":\"M3 9h18\",\"key\":\"1pudct\"}],[\"path\",{\"d\":\"M9 21V9\",\"key\":\"1oto5p\"}]],\"className\":\"lucide-panels-top-left size-3.5 shrink-0\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"frontend\"}]]}],[\"$\",\"span\",null,{\"className\":\"shrink-0 text-[11px] text-muted-foreground/70\",\"children\":98}]]}]}]\n32:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/category/devops\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md py-1.5 pr-2 pl-3 text-[13px] transition-colors text-muted-foreground hover:bg-muted/60 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z\",\"key\":\"1t2lqe\"}],[\"path\",{\"d\":\"M10 21.9V14L2.1 9.1\",\"key\":\"o7czzq\"}],[\"path\",{\"d\":\"m10 14 11.9-6.9\",\"key\":\"zm5e20\"}],[\"path\",{\"d\":\"M14 19.8v-8.1\",\"key\":\"159ecu\"}],[\"path\",{\"d\":\"M18 17.5V9.4\",\"key\":\"11uown\"}]],\"className\":\"lucide-container size-3.5 shrink-0\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"devops\"}]]}],[\"$\",\"span\",null,{\"className\":\"shrink-0 text-[11px] text-muted-foreground/70\",\"children\":82}]]}]}]\n33:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/category/ai\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md py-1.5 pr-2 pl-3 text-[13px] transition-colors text-muted-foreground hover:bg-muted/60 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M12 8V4H8\",\"key\":\"hb8ula\"}],[\"rect\",{\"width\":\"16\",\"height\":\"12\",\"x\":\"4\",\"y\":\"8\",\"rx\":\"2\",\"key\":\"enze0r\"}],[\"path\",{\"d\":\"M2 14h2\",\"key\":\"vft8re\"}],[\"path\",{\"d\":\"M20 14h2\",\"key\":\"4cs60a\"}],[\"path\",{\"d\":\"M15 13v2\",\"key\":\"1xurst\"}],[\"path\",{\"d\":\"M9 13v2\",\"key\":\"rq6x2g\"}]],\"className\":\"lucide-bot size-3.5 shrink-0\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"ai\"}]]}],[\"$\",\"span\",null,{\"className\":\"shrink-0 text-[11px] text-muted-foreground/70\",\"children\":56}]]}]}]\n34:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/category/backend\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md py-1.5 pr-2 pl-3 text-[13px] transition-colors text-muted-foreground hover:bg-muted/60 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"rect\",{\"width\":\"20\",\"height\":\"8\",\"x\":\"2\",\"y\":\"2\",\"rx\":\"2\",\"ry\":\"2\",\"key\":\"ngkwjq\"}],[\"rect\",{\"width\":\"2"])</script><script>self.__next_f.push([1,"0\",\"height\":\"8\",\"x\":\"2\",\"y\":\"14\",\"rx\":\"2\",\"ry\":\"2\",\"key\":\"iecqi9\"}],[\"line\",{\"x1\":\"6\",\"x2\":\"6.01\",\"y1\":\"6\",\"y2\":\"6\",\"key\":\"16zg32\"}],[\"line\",{\"x1\":\"6\",\"x2\":\"6.01\",\"y1\":\"18\",\"y2\":\"18\",\"key\":\"nzw8ys\"}]],\"className\":\"lucide-server size-3.5 shrink-0\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"backend\"}]]}],[\"$\",\"span\",null,{\"className\":\"shrink-0 text-[11px] text-muted-foreground/70\",\"children\":31}]]}]}]\n35:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/category/tooling\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md py-1.5 pr-2 pl-3 text-[13px] transition-colors text-muted-foreground hover:bg-muted/60 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z\",\"key\":\"1ngwbx\"}]],\"className\":\"lucide-wrench size-3.5 shrink-0\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"tooling\"}]]}],[\"$\",\"span\",null,{\"className\":\"shrink-0 text-[11px] text-muted-foreground/70\",\"children\":31}]]}]}]\n36:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/category/seo\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md py-1.5 pr-2 pl-3 text-[13px] transition-colors text-muted-foreground hover:bg-muted/60 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M16 7h6v6\",\"key\":\"box55l\"}],[\"path\",{\"d\":\"m22 7-8.5 8.5-5-5L2 17\",\"key\":\"1t1m79\"}]],\"className\":\"lucide-trending-up size-3.5 shrink-0\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"seo\"}]]}],[\"$\",\"span\",null,{\"className\":\"shrink-0 text-[11px] text-muted-foreground/70\",\"children\":11}]]}]}]\n37:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/category/testing\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md py-1.5 pr-2 pl-3 text-[13px] transition-colors text-muted-foreground hover:bg-muted/60 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2\",\"key\":\"18mbvz\"}],[\"path\",{\"d\":\"M6.453 15h11.094\",\"key\":\"3shlmq\"}],[\"path\",{\"d\":\"M8.5 2h7\",\"key\":\"csnxdl\"}]],\"className\":\"lucide-flask-conical size-3.5 shrink-0\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"testing\"}]]}],[\"$\",\"span\",null,{\"className\":\"shrink-0 text-[11px] text-muted-foreground/70\",\"children\":9}]]}]}]\n38:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/category/security\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md py-1.5 pr-2 pl-3 text-[13px] transition-colors text-muted-foreground hover:bg-muted/60 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\",\"key\":\"oel41y\"}],[\"path\",{\"d\":\"m9 12 2 2 4-4\",\"key\":\"dzmm74\"}]],\"className\":\"lucide-s"])</script><script>self.__next_f.push([1,"hield-check size-3.5 shrink-0\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"security\"}]]}],[\"$\",\"span\",null,{\"className\":\"shrink-0 text-[11px] text-muted-foreground/70\",\"children\":8}]]}]}]\n39:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/category/design\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md py-1.5 pr-2 pl-3 text-[13px] transition-colors text-muted-foreground hover:bg-muted/60 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z\",\"key\":\"e79jfc\"}],[\"circle\",{\"cx\":\"13.5\",\"cy\":\"6.5\",\"r\":\".5\",\"fill\":\"currentColor\",\"key\":\"1okk4w\"}],[\"circle\",{\"cx\":\"17.5\",\"cy\":\"10.5\",\"r\":\".5\",\"fill\":\"currentColor\",\"key\":\"f64h9f\"}],[\"circle\",{\"cx\":\"6.5\",\"cy\":\"12.5\",\"r\":\".5\",\"fill\":\"currentColor\",\"key\":\"qy21gx\"}],[\"circle\",{\"cx\":\"8.5\",\"cy\":\"7.5\",\"r\":\".5\",\"fill\":\"currentColor\",\"key\":\"fotxhn\"}]],\"className\":\"lucide-palette size-3.5 shrink-0\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"design\"}]]}],[\"$\",\"span\",null,{\"className\":\"shrink-0 text-[11px] text-muted-foreground/70\",\"children\":7}]]}]}]\n3a:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/category/mobile\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md py-1.5 pr-2 pl-3 text-[13px] transition-colors text-muted-foreground hover:bg-muted/60 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"rect\",{\"width\":\"14\",\"height\":\"20\",\"x\":\"5\",\"y\":\"2\",\"rx\":\"2\",\"ry\":\"2\",\"key\":\"1yt0o3\"}],[\"path\",{\"d\":\"M12 18h.01\",\"key\":\"mhygvu\"}]],\"className\":\"lucide-smartphone size-3.5 shrink-0\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"mobile\"}]]}],[\"$\",\"span\",null,{\"className\":\"shrink-0 text-[11px] text-muted-foreground/70\",\"children\":6}]]}]}]\n3b:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/category/writing\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md py-1.5 pr-2 pl-3 text-[13px] transition-colors text-muted-foreground hover:bg-muted/60 hover:text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"flex items-center justify-between gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M13 21h8\",\"key\":\"1jsn5i\"}],[\"path\",{\"d\":\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z\",\"key\":\"1a8usu\"}]],\"className\":\"lucide-pen-line size-3.5 shrink-0\",\"aria-hidden\":true}],[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"writing\"}]]}],[\"$\",\"span\",null,{\"className\":\"shrink-0 text-[11px] text-muted-foreground/70\",\"children\":4}]]}]}]\n"])</script><script>self.__next_f.push([1,"145:I[583276,[\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"/_next/static/chunks/0lhlvh1hgiuma.js\",\"/_next/static/chunks/1m-bnru4--byc.js\",\"/_next/static/chunks/2-88ubju-8gg4.js\",\"/_next/static/chunks/2bu39lgwf083t.js\",\"/_next/static/chunks/30qir_z2dql5f.js\",\"/_next/static/chunks/2sby9c-4xwieh.js\",\"/_next/static/chunks/14qsee9d-htmq.js\",\"/_next/static/chunks/37xamenotiwny.js\",\"/_next/static/chunks/3mth_4ccpg0fx.js\",\"/_next/static/chunks/31-10y-ic6vfz.js\",\"/_next/static/chunks/0c05mme6db5y2.js\",\"/_next/static/chunks/3nqp4f_tsyr0y.js\",\"/_next/static/chunks/1dbumlihosg07.js\",\"/_next/static/chunks/3scufj0koz643.js\"],\"default\"]\n147:I[713645,[\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"/_next/static/chunks/0lhlvh1hgiuma.js\",\"/_next/static/chunks/1m-bnru4--byc.js\",\"/_next/static/chunks/2-88ubju-8gg4.js\",\"/_next/static/chunks/2bu39lgwf083t.js\",\"/_next/static/chunks/30qir_z2dql5f.js\",\"/_next/static/chunks/2sby9c-4xwieh.js\",\"/_next/static/chunks/14qsee9d-htmq.js\",\"/_next/static/chunks/37xamenotiwny.js\",\"/_next/static/chunks/3mth_4ccpg0fx.js\",\"/_next/static/chunks/31-10y-ic6vfz.js\",\"/_next/static/chunks/0c05mme6db5y2.js\",\"/_next/static/chunks/3nqp4f_tsyr0y.js\",\"/_next/static/chunks/1dbumlihosg07.js\",\"/_next/static/chunks/3scufj0koz643.js\"],\"default\"]\n149:I[681113,[\"/_next/static/chunks/1y-pe4vrl44z-.js\",\"/_next/static/chunks/1fhmqo8oxrbqy.js\",\"/_next/static/chunks/0lhlvh1hgiuma.js\",\"/_next/static/chunks/1m-bnru4--byc.js\",\"/_next/static/chunks/2-88ubju-8gg4.js\",\"/_next/static/chunks/2bu39lgwf083t.js\",\"/_next/static/chunks/30qir_z2dql5f.js\",\"/_next/static/chunks/2sby9c-4xwieh.js\",\"/_next/static/chunks/14qsee9d-htmq.js\",\"/_next/static/chunks/37xamenotiwny.js\",\"/_next/static/chunks/3mth_4ccpg0fx.js\",\"/_next/static/chunks/31-10y-ic6vfz.js\",\"/_next/static/chunks/0c05mme6db5y2.js\",\"/_next/static/chunks/3nqp4f_tsyr0y.js\",\"/_next/static/chunks/1dbumlihosg07.js\",\"/_next/static/chunks/3scufj0koz643.js\"],\"default\"]\n137:[\"$\",\"div\",null,{\"className\":\"mt-4 flex flex-wrap items-center justify-between gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-1.5\",\"children\":[\"$L141\",\"$L142\",\"$L143\",\"$L144\"]}],[\"$\",\"div\",null,{\"className\":\"ml-auto\",\"children\":[\"$\",\"$L145\",null,{\"locale\":\"id\"}]}]]}]\n138:[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[\"$\",\"section\",null,{\"aria-label\":\"Ringkasan\",\"className\":\"rounded-lg border border-primary/30 bg-primary/5 p-4 sm:p-5\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-xs font-semibold tracking-wider text-primary uppercase\",\"children\":\"Ringkasan\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm leading-relaxed sm:text-base\",\"children\":\"Alat pagesync v3 mirror file markdown ke Plane Pages pakai komen HTML tersembunyi sebagai identitas, bukan nama halaman yang gampang diubah editor. Aturannya ketat, kalau marker hilang langsung diblok, file twoway menang lawan oneway, dan oneway cuma bisa publish aja. Drift dicek pakai sha256 tanpa frontmatter plus validasi config yang galak biar nggak kena path traversal.\"}]]}]}]\n146:T17c9,"])</script><script>self.__next_f.push([1,"\u003ch2 id=\"marker-tersembunyi-sebagai-otoritas\"\u003eMarker Tersembunyi sebagai Otoritas\u003c/h2\u003e\n\u003cp\u003eJari saya udah ngetik nama halaman sebagai pengikat pas nulis modul \u003ccode\u003epagesync\u003c/code\u003e buat alat sinkronisasi dokumen. Untung saya berhenti. Nama halaman itu buat manusia: editor bisa mengubahnya kapan aja, dan begitu berubah, pengikatan berbasis nama fork diam-diam. Identitas yang dibentuk oleh konten jauh lebih tahan banting. Versi 3 alat ini nunjukkin pola desainnya dengan bersih.\u003c/p\u003e\n\u003cp\u003eKonteksnya: alat ini mirror file markdown di \u003ccode\u003e.docs\u003c/code\u003e ke Plane Pages self-hosted. Versi 3 nambahin mesin halaman di sebelah mesin work-item yang udah terbukti. Primitif pertama yang saya tulis: identitas. Solusinya marker HTML tersembunyi di baris pertama body halaman, isinya path relatif file sumber. Bentuknya begini:\u003c/p\u003e\n\u003cpre data-title=\"README.md\" class=\"shiki shiki-themes one-light one-dark-pro\" style=\"--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34\" tabindex=\"0\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic\"\u003e\u0026#x3C;!-- plane-doc-sync:v3 path=.docs/MEETING/2026-09-27-weekly.md --\u003e\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#E45649;--shiki-dark:#E06C75\"\u003e# Meeting Notes\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#383A42;--shiki-dark:#ABB2BF\"\u003eActual content starts here\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003c/span\u003e\u003c/code\u003e\u003cbutton type=\"button\" class=\"code-copy-btn\" aria-label=\"Copy code\"\u003e\u003csvg class=\"icon-copy\" viewBox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"/\u003e\u003cpath d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"/\u003e\u003c/svg\u003e\u003csvg class=\"icon-check\" viewBox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"/\u003e\u003c/svg\u003e\u003c/button\u003e\u003c/pre\u003e\n\u003cp\u003eKomen HTML memang didesain buat catatan penjelas atau buat nahan browser menginterpretasikan bagian dokumen, dan browser nggak pernah merendernya [1]. Probe langsung di hari dan malam sebelumnya nunjukkin Plane Community Edition melakukan round-trip HTML halaman secara verbatim, komen termasuk. Dokumentasi resmi Plane memperingatkan bahwa mereka melakukan sanitasi HTML di sisi server [2], jadi desain marker ini ngandelin perilaku CE yang terukur, dengan dokumentasi sebagai batas konservatifnya. Marker hilang atau salah format? Halaman langsung diklasifikasikan blocked. Alat ini nggak menebak. Path di marker harus sepakat dengan path item di config; \u003ccode\u003epage_id\u003c/code\u003e boleh dicatat di config sebagai handle buat panggilan API, tapi dia nggak pernah jadi pengikat.\u003c/p\u003e\n\u003cp\u003eKenapa disembunyikan? Di versi 2, marker hidup di work-item yang HTML-nya memang disanitasi server, jadi komen langsung terkelupas. Halaman nggak melakukan itu. Bentuk penyimpanan menentukan bentuk identitas.\u003c/p\u003e\n\u003ch2 id=\"penamaan-untuk-manusia-tier-yang-tegas\"\u003ePenamaan untuk Manusia, Tier yang Tegas\u003c/h2\u003e\n\u003cp\u003ePenamaan halaman dibikin begini: \u003ccode\u003eMEETING: YYYY-MM-DD — \u003ctitle\u003e\u003c/code\u003e buat file dua arah, \u003ccode\u003eDOC: \u003cpath\u003e\u003c/code\u003e buat dokumen perpustakaan satu arah, misal file rapat di \u003ccode\u003e.docs/MEETING/2026-09-27-weekly.md\u003c/code\u003e jadi halaman bernama MEETING: 2026-09-27 — Weekly. Judulnya diambil dari frontmatter kalau ada, kalau nggak ada, dirangkai dari tanggal plus slug file. Namanya enak dibaca manusia, dan perannya berhenti di situ. Karena halaman di Plane itu datar, proses create mengabaikan parent, struktur hidup di dalam nama, bukan di hierarki folder.\u003c/p\u003e\n\u003cp\u003eResolusi tier-nya juga sengaja dibikin bebas ambiguitas. File yang jatuh di bawah direktori twoway sekaligus oneway dianggap twoway, titik; keputusan ini disengaja biar satu file nggak pernah punya dua perlakuan. Di luar keduanya, error, bukan tebakan. Halaman oneway sifatnya publish-only, proses pull ditolak oleh desain, karena arahnya emang cuma satu: dari repo ke halaman. Identitas konten yang jadi otoritas bikin aturan kayak gini gampang dijalanin: status halaman ditarik dari marker plus hash, bukan dari perasaan.\u003c/p\u003e\n\u003ch2 id=\"drift-dan-validasi-config\"\u003eDrift dan Validasi Config\u003c/h2\u003e\n\u003cp\u003eOtoritas drift dihitung pakai sha256 atas markdown yang udah dinormalisasi di kedua sisi. Di sisi repositori, YAML frontmatter dibuang dulu sebelum di-hash, jadi metadata lokal nggak pernah memengaruhi hasil drift. Di sisi Plane, hash dihitung dari markdown yang ditarik balik lewat converter. Python nyediain \u003ccode\u003esha256\u003c/code\u003e sebagai konstruktor yang selalu ada di modul hashlib, meski dokumentasinya nyertain catatan FIPS bahwa beberapa fungsi hash punya ketahanan kolisi yang lebih rendah dari harapan [3]. Makanya validator config saya pin algoritmanya eksplisit, nggak percaya default ambient.\u003c/p\u003e\n\u003cp\u003eValidasi config juga punya garis keras. Setiap path item harus resolve di dalam repositori. Path traversal itu kelas bug OWASP tersendiri, dan di sini dikategorikan bug config: hard stop [4]. Field \u003ccode\u003elast_sync\u003c/code\u003e wajib megang dua digest hex 64 karakter plus timestamp. Config v2 yang nyoba nyentuh aksi halaman langsung mati dengan satu pesan error yang persis sama tiap kali.\u003c/p\u003e\n\u003cp\u003ePelajaran dari modul kecil ini: \u003cstrong\u003eidentitas yang dibentuk konten bertahan melewati rename, penulisan ulang editor, dan pergantian ID\u003c/strong\u003e. Identitas yang dibentuk nama atau judul bakal patah di kesempatan pertama ada yang mengganti nama.\u003c/p\u003e\n\u003ch2 id=\"sumber\"\u003eSumber\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[1] \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Guides/Comments\"\u003eUsing HTML comments (MDN)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[2] \u003ca href=\"https://developers.plane.so/api-reference/page/page-content-html\"\u003ePage content HTML contract (Plane API reference)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[3] \u003ca href=\"https://docs.python.org/3/library/hashlib.html\"\u003ehashlib (dokumentasi Python)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[4] \u003ca href=\"https://owasp.org/www-community/attacks/Path_Traversal\"\u003ePath Traversal (OWASP)\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e"])</script><script>self.__next_f.push([1,"139:[\"$\",\"div\",null,{\"data-article-body\":true,\"children\":[\"$\",\"div\",null,{\"className\":\"space-y-6\",\"children\":[[\"$\",\"div\",\"0\",{\"className\":\"docs-prose\",\"dangerouslySetInnerHTML\":{\"__html\":\"$146\"}}]]}]}]\n13a:[\"$\",\"$L147\",null,{}]\n13b:[\"$\",\"nav\",null,{\"className\":\"mt-10 flex flex-col gap-5 sm:flex-row sm:items-start sm:justify-between sm:gap-8\",\"children\":[\"$L148\",null]}]\n40:[\"$\",\"$L2d\",\"nextjs\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/nextjs\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"nextjs\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":47}]]}]\n41:[\"$\",\"$L2d\",\"css\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/css\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"css\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":41}]]}]\n42:[\"$\",\"$L2d\",\"automation\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/automation\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"automation\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":38}]]}]\n43:[\"$\",\"$L2d\",\"python\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/python\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"python\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":38}]]}]\n44:[\"$\",\"$L2d\",\"react\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/react\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"react\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":37}]]}]\n45:[\"$\",\"$L2d\",\"frontend\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/frontend\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"frontend\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":36}]]}]\n46:[\"$\",\"$L2d\",\"tailwind\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/tailwind\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"tailwind\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":32}]]}]\n47:[\"$\",\"$L2d\",\"docker\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/docker\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"docker\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":27}]]}]\n48:[\"$\",\"$L2d\",\"devops\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/devops\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 rin"])</script><script>self.__next_f.push([1,"g-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"devops\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":25}]]}]\n49:[\"$\",\"$L2d\",\"seo\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/seo\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"seo\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":20}]]}]\n4a:[\"$\",\"$L2d\",\"llm\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/llm\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"llm\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":19}]]}]\n4b:[\"$\",\"$L2d\",\"ux\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ux\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ux\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":17}]]}]\n4c:[\"$\",\"$L2d\",\"self-hosting\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/self-hosting\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"self-hosting\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":16}]]}]\n4d:[\"$\",\"$L2d\",\"testing\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/testing\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"testing\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":16}]]}]\n4e:[\"$\",\"$L2d\",\"fastapi\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/fastapi\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"fastapi\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":15}]]}]\n4f:[\"$\",\"$L2d\",\"git\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/git\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"git\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":15}]]}]\n50:[\"$\",\"$L2d\",\"plane\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/plane\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"plane\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":14}]]}]\n51:[\"$\",\"$L2d\",\"accessibility\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/accessibility\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"accessibility\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":14}]]}]\n52:[\"$\",\"$L2d\",\"ansible\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag"])</script><script>self.__next_f.push([1,"/ansible\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ansible\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":14}]]}]\n53:[\"$\",\"$L2d\",\"ai-agents\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ai-agents\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ai-agents\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":13}]]}]\n54:[\"$\",\"$L2d\",\"debugging\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/debugging\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"debugging\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":13}]]}]\n55:[\"$\",\"$L2d\",\"typescript\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/typescript\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"typescript\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":12}]]}]\n56:[\"$\",\"$L2d\",\"vercel\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/vercel\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"vercel\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":10}]]}]\n57:[\"$\",\"$L2d\",\"mariadb\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/mariadb\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"mariadb\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":9}]]}]\n58:[\"$\",\"$L2d\",\"bash\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/bash\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"bash\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":9}]]}]\n59:[\"$\",\"$L2d\",\"monitoring\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/monitoring\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"monitoring\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":9}]]}]\n5a:[\"$\",\"$L2d\",\"qwen\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/qwen\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"qwen\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":8}]]}]\n5b:[\"$\",\"$L2d\",\"sse\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/sse\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary"])</script><script>self.__next_f.push([1,"/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"sse\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":7}]]}]\n5c:[\"$\",\"$L2d\",\"ai\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ai\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ai\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":7}]]}]\n5d:[\"$\",\"$L2d\",\"cloudflare\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/cloudflare\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"cloudflare\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":7}]]}]\n5e:[\"$\",\"$L2d\",\"cron\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/cron\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"cron\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":7}]]}]\n5f:[\"$\",\"$L2d\",\"playwright\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/playwright\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"playwright\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":7}]]}]\n60:[\"$\",\"$L2d\",\"ssh\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ssh\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ssh\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":7}]]}]\n61:[\"$\",\"$L2d\",\"tooling\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/tooling\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"tooling\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":6}]]}]\n62:[\"$\",\"$L2d\",\"forgejo\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/forgejo\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"forgejo\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":6}]]}]\n63:[\"$\",\"$L2d\",\"i18n\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/i18n\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"i18n\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":6}]]}]\n64:[\"$\",\"$L2d\",\"security\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/security\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"security\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":6}]]}]\n65:[\"$\",\"$L2d\",\"layout\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/layout"])</script><script>self.__next_f.push([1,"\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"layout\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":6}]]}]\n66:[\"$\",\"$L2d\",\"deployment\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/deployment\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"deployment\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":6}]]}]\n67:[\"$\",\"$L2d\",\"linux\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/linux\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"linux\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":5}]]}]\n68:[\"$\",\"$L2d\",\"prompt\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/prompt\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"prompt\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":5}]]}]\n69:[\"$\",\"$L2d\",\"streaming\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/streaming\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"streaming\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":5}]]}]\n6a:[\"$\",\"$L2d\",\"regex\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/regex\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"regex\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":5}]]}]\n6b:[\"$\",\"$L2d\",\"maplibre\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/maplibre\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"maplibre\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":5}]]}]\n6c:[\"$\",\"$L2d\",\"javascript\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/javascript\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"javascript\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":5}]]}]\n6d:[\"$\",\"$L2d\",\"github\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/github\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"github\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":5}]]}]\n6e:[\"$\",\"$L2d\",\"prometheus\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/prometheus\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary"])</script><script>self.__next_f.push([1,"/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"prometheus\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":5}]]}]\n6f:[\"$\",\"$L2d\",\"claude-code\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/claude-code\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"claude-code\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":5}]]}]\n70:[\"$\",\"$L2d\",\"rest-api\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/rest-api\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"rest-api\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":5}]]}]\n71:[\"$\",\"$L2d\",\"performance\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/performance\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"performance\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n72:[\"$\",\"$L2d\",\"whisper\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/whisper\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"whisper\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n73:[\"$\",\"$L2d\",\"next-image\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/next-image\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"next-image\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n74:[\"$\",\"$L2d\",\"redis\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/redis\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"redis\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n75:[\"$\",\"$L2d\",\"ci\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ci\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ci\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n76:[\"$\",\"$L2d\",\"embedding\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/embedding\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"embedding\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n77:[\"$\",\"$L2d\",\"tailwindcss\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/tailwindcss\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"tailwindcss\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n78:[\"$\""])</script><script>self.__next_f.push([1,",\"$L2d\",\"compose\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/compose\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"compose\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n79:[\"$\",\"$L2d\",\"design\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/design\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"design\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n7a:[\"$\",\"$L2d\",\"shiki\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/shiki\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"shiki\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n7b:[\"$\",\"$L2d\",\"animation\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/animation\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"animation\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n7c:[\"$\",\"$L2d\",\"markdown\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/markdown\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"markdown\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n7d:[\"$\",\"$L2d\",\"agent-skills\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/agent-skills\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"agent-skills\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":4}]]}]\n7e:[\"$\",\"$L2d\",\"sqlmodel\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/sqlmodel\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"sqlmodel\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n7f:[\"$\",\"$L2d\",\"llm-security\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/llm-security\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"llm-security\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n80:[\"$\",\"$L2d\",\"deepseek\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/deepseek\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"deepseek\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n81:[\"$\",\"$L2d\",\"hermes\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/hermes\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rou"])</script><script>self.__next_f.push([1,"nded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"hermes\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n82:[\"$\",\"$L2d\",\"memory\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/memory\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"memory\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n83:[\"$\",\"$L2d\",\"networking\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/networking\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"networking\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n84:[\"$\",\"$L2d\",\"cli\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/cli\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"cli\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n85:[\"$\",\"$L2d\",\"wordpress\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/wordpress\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"wordpress\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n86:[\"$\",\"$L2d\",\"localstorage\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/localstorage\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"localstorage\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n87:[\"$\",\"$L2d\",\"backup\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/backup\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"backup\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n88:[\"$\",\"$L2d\",\"mcp\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/mcp\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"mcp\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n89:[\"$\",\"$L2d\",\"prompt-engineering\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/prompt-engineering\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"prompt-engineering\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n8a:[\"$\",\"$L2d\",\"sync\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/sync\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"sync\","])</script><script>self.__next_f.push([1,"[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n8b:[\"$\",\"$L2d\",\"lucide\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/lucide\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"lucide\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n8c:[\"$\",\"$L2d\",\"dark-mode\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/dark-mode\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"dark-mode\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n8d:[\"$\",\"$L2d\",\"idempotency\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/idempotency\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"idempotency\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":3}]]}]\n8e:[\"$\",\"$L2d\",\"yaml\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/yaml\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"yaml\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n8f:[\"$\",\"$L2d\",\"npm\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/npm\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"npm\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n90:[\"$\",\"$L2d\",\"sqlite\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/sqlite\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"sqlite\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n91:[\"$\",\"$L2d\",\"prompt-injection\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/prompt-injection\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"prompt-injection\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n92:[\"$\",\"$L2d\",\"ocr\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ocr\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ocr\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n93:[\"$\",\"$L2d\",\"pydantic\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/pydantic\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"pydantic\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n94:[\"$\",\"$L2d\",\"ffmpeg\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ffmpeg\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie"])</script><script>self.__next_f.push([1,"\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ffmpeg\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n95:[\"$\",\"$L2d\",\"logrotate\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/logrotate\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"logrotate\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n96:[\"$\",\"$L2d\",\"grounding\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/grounding\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"grounding\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n97:[\"$\",\"$L2d\",\"vps\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/vps\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"vps\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n98:[\"$\",\"$L2d\",\"observability\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/observability\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"observability\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n99:[\"$\",\"$L2d\",\"caching\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/caching\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"caching\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n9a:[\"$\",\"$L2d\",\"systemd\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/systemd\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"systemd\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n9b:[\"$\",\"$L2d\",\"evaluation\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/evaluation\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"evaluation\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n9c:[\"$\",\"$L2d\",\"cache-invalidation\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/cache-invalidation\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"cache-invalidation\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n9d:[\"$\",\"$L2d\",\"cloudflared\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/cloudflared\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-"])</script><script>self.__next_f.push([1,"inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"cloudflared\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n9e:[\"$\",\"$L2d\",\"nginx\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/nginx\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"nginx\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\n9f:[\"$\",\"$L2d\",\"9router\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/9router\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"9router\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\na0:[\"$\",\"$L2d\",\"serverless\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/serverless\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"serverless\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\na1:[\"$\",\"$L2d\",\"dns\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/dns\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"dns\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\na2:[\"$\",\"$L2d\",\"openstreetmap\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/openstreetmap\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"openstreetmap\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\na3:[\"$\",\"$L2d\",\"lfs\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/lfs\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"lfs\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\na4:[\"$\",\"$L2d\",\"content-strategy\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/content-strategy\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"content-strategy\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\na5:[\"$\",\"$L2d\",\"ollama\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ollama\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ollama\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\na6:[\"$\",\"$L2d\",\"benchmark\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/benchmark\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"benchmark\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\na7:[\"$\",\"$L2d\",\"3prox"])</script><script>self.__next_f.push([1,"y\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/3proxy\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"3proxy\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\na8:[\"$\",\"$L2d\",\"schema\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/schema\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"schema\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\na9:[\"$\",\"$L2d\",\"refactoring\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/refactoring\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"refactoring\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\naa:[\"$\",\"$L2d\",\"fts\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/fts\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"fts\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nab:[\"$\",\"$L2d\",\"chat-ui\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/chat-ui\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"chat-ui\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nac:[\"$\",\"$L2d\",\"sre\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/sre\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"sre\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nad:[\"$\",\"$L2d\",\"html\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/html\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"html\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nae:[\"$\",\"$L2d\",\"mobile\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/mobile\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"mobile\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\naf:[\"$\",\"$L2d\",\"hardening\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/hardening\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"hardening\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nb0:[\"$\",\"$L2d\",\"flexbox\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/flexbox\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-"])</script><script>self.__next_f.push([1,"1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"flexbox\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nb1:[\"$\",\"$L2d\",\"sqlalchemy\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/sqlalchemy\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"sqlalchemy\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nb2:[\"$\",\"$L2d\",\"goaccess\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/goaccess\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"goaccess\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nb3:[\"$\",\"$L2d\",\"opencode\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/opencode\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"opencode\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nb4:[\"$\",\"$L2d\",\"fleet\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/fleet\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"fleet\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nb5:[\"$\",\"$L2d\",\"openhands\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/openhands\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"openhands\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nb6:[\"$\",\"$L2d\",\"node-exporter\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/node-exporter\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"node-exporter\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nb7:[\"$\",\"$L2d\",\"workflow\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/workflow\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"workflow\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nb8:[\"$\",\"$L2d\",\"log-analysis\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/log-analysis\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"log-analysis\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nb9:[\"$\",\"$L2d\",\"cloud-init\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/cloud-init\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"cloud-init\",[\"$\",\"span\",null,{\"className\":\"ml-1"])</script><script>self.__next_f.push([1," opacity-60\",\"children\":2}]]}]\nba:[\"$\",\"$L2d\",\"openfreemap\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/openfreemap\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"openfreemap\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nbb:[\"$\",\"$L2d\",\"gitignore\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/gitignore\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"gitignore\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":2}]]}]\nbc:[\"$\",\"$L2d\",\"rss\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/rss\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"rss\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nbd:[\"$\",\"$L2d\",\"rsync\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/rsync\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"rsync\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nbe:[\"$\",\"$L2d\",\"dashboard\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/dashboard\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"dashboard\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nbf:[\"$\",\"$L2d\",\"mutation-testing\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/mutation-testing\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"mutation-testing\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nc0:[\"$\",\"$L2d\",\"php-fpm\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/php-fpm\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"php-fpm\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nc1:[\"$\",\"$L2d\",\"webp\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/webp\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"webp\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nc2:[\"$\",\"$L2d\",\"writing\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/writing\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"writing\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nc3:[\"$\",\"$L2d\",\"search-console\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/search-console\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"a"])</script><script>self.__next_f.push([1,"ria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"search-console\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nc4:[\"$\",\"$L2d\",\"github-actions\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/github-actions\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"github-actions\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nc5:[\"$\",\"$L2d\",\"api\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/api\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"api\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nc6:[\"$\",\"$L2d\",\"routing\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/routing\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"routing\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nc7:[\"$\",\"$L2d\",\"anti-ai-writing\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/anti-ai-writing\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"anti-ai-writing\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nc8:[\"$\",\"$L2d\",\"postgresql\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/postgresql\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"postgresql\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nc9:[\"$\",\"$L2d\",\"backward-compatibility\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/backward-compatibility\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"backward-compatibility\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nca:[\"$\",\"$L2d\",\"sitemap\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/sitemap\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"sitemap\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ncb:[\"$\",\"$L2d\",\"next-intl\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/next-intl\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"next-intl\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ncc:[\"$\",\"$L2d\",\"positioning\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/positioning\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-pr"])</script><script>self.__next_f.push([1,"imary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"positioning\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ncd:[\"$\",\"$L2d\",\"ci-cd\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ci-cd\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ci-cd\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nce:[\"$\",\"$L2d\",\"useeffect\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/useeffect\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"useeffect\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ncf:[\"$\",\"$L2d\",\"oauth\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/oauth\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"oauth\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nd0:[\"$\",\"$L2d\",\"error-handling\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/error-handling\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"error-handling\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nd1:[\"$\",\"$L2d\",\"burstiness\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/burstiness\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"burstiness\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nd2:[\"$\",\"$L2d\",\"data-modeling\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/data-modeling\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"data-modeling\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nd3:[\"$\",\"$L2d\",\"data-contract\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/data-contract\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"data-contract\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nd4:[\"$\",\"$L2d\",\"tailwind-css\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/tailwind-css\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"tailwind-css\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nd5:[\"$\",\"$L2d\",\"flyto\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/flyto\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"flyto\",[\"$\",\"sp"])</script><script>self.__next_f.push([1,"an\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nd6:[\"$\",\"$L2d\",\"cls\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/cls\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"cls\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nd7:[\"$\",\"$L2d\",\"youtube\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/youtube\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"youtube\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nd8:[\"$\",\"$L2d\",\"swe-bench\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/swe-bench\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"swe-bench\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nd9:[\"$\",\"$L2d\",\"tesseract\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/tesseract\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"tesseract\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nda:[\"$\",\"$L2d\",\"turbopack\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/turbopack\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"turbopack\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ndb:[\"$\",\"$L2d\",\"node_exporter\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/node-exporter\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"node_exporter\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ndc:[\"$\",\"$L2d\",\"og-image\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/og-image\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"og-image\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ndd:[\"$\",\"$L2d\",\"mermaid\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/mermaid\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"mermaid\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nde:[\"$\",\"$L2d\",\"agent-runtime\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/agent-runtime\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"agent-runtime\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ndf:[\"$\",\"$L2d\",\"firecrawl\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/firecrawl\",\"locale\":\"$undefined\",\"loc"])</script><script>self.__next_f.push([1,"aleCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"firecrawl\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ne0:[\"$\",\"$L2d\",\"iso-9001\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/iso-9001\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"iso-9001\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ne1:[\"$\",\"$L2d\",\"prismjs\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/prismjs\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"prismjs\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ne2:[\"$\",\"$L2d\",\"reboot\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/reboot\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"reboot\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ne3:[\"$\",\"$L2d\",\"subprocess\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/subprocess\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"subprocess\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ne4:[\"$\",\"$L2d\",\"journald\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/journald\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"journald\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ne5:[\"$\",\"$L2d\",\"agent-canvas\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/agent-canvas\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"agent-canvas\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ne6:[\"$\",\"$L2d\",\"recharts\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/recharts\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"recharts\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ne7:[\"$\",\"$L2d\",\"certification\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/certification\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"certification\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ne8:[\"$\",\"$L2d\",\"sticky\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/sticky\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-p"])</script><script>self.__next_f.push([1,"rimary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"sticky\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ne9:[\"$\",\"$L2d\",\"backend\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/backend\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"backend\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nea:[\"$\",\"$L2d\",\"pipeline\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/pipeline\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"pipeline\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\neb:[\"$\",\"$L2d\",\"glossary\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/glossary\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"glossary\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nec:[\"$\",\"$L2d\",\"alerting\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/alerting\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"alerting\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\ned:[\"$\",\"$L2d\",\"query-rewriting\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/query-rewriting\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"query-rewriting\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nee:[\"$\",\"$L2d\",\"srcset\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/srcset\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"srcset\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nef:[\"$\",\"$L2d\",\"ui\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ui\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ui\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nf0:[\"$\",\"$L2d\",\"vertical-slice-architecture\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/vertical-slice-architecture\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"vertical-slice-architecture\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nf1:[\"$\",\"$L2d\",\"doh\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/doh\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"doh\",[\"$\",\"span\",null,{\"className\":\"ml-1 opaci"])</script><script>self.__next_f.push([1,"ty-60\",\"children\":1}]]}]\nf2:[\"$\",\"$L2d\",\"discord\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/discord\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"discord\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nf3:[\"$\",\"$L2d\",\"coding-agent\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/coding-agent\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"coding-agent\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nf4:[\"$\",\"$L2d\",\"osm\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/osm\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"osm\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nf5:[\"$\",\"$L2d\",\"ai-agent\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ai-agent\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ai-agent\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nf6:[\"$\",\"$L2d\",\"writing-style\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/writing-style\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"writing-style\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nf7:[\"$\",\"$L2d\",\"fallback\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/fallback\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"fallback\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nf8:[\"$\",\"$L2d\",\"openrouter\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/openrouter\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"openrouter\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nf9:[\"$\",\"$L2d\",\"testcontainers\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/testcontainers\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"testcontainers\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nfa:[\"$\",\"$L2d\",\"browser-automation\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/browser-automation\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"browser-automation\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nfb:[\"$\",\"$L2d\",\"event-sourcing\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/event-sourcing\",\"loc"])</script><script>self.__next_f.push([1,"ale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"event-sourcing\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nfc:[\"$\",\"$L2d\",\"lisensi\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/lisensi\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"lisensi\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nfd:[\"$\",\"$L2d\",\"rag\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/rag\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"rag\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nfe:[\"$\",\"$L2d\",\"bandwidth\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/bandwidth\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"bandwidth\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\nff:[\"$\",\"$L2d\",\"editorial\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/editorial\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"editorial\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n100:[\"$\",\"$L2d\",\"metadata\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/metadata\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"metadata\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n101:[\"$\",\"$L2d\",\"fixture\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/fixture\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"fixture\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n102:[\"$\",\"$L2d\",\"software-engineering\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/software-engineering\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"software-engineering\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n103:[\"$\",\"$L2d\",\"chatgpt\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/chatgpt\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"chatgpt\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n104:[\"$\",\"$L2d\",\"content-pipeline\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/content-pipeline\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py"])</script><script>self.__next_f.push([1,"-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"content-pipeline\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n105:[\"$\",\"$L2d\",\"eyd\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/eyd\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"eyd\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n106:[\"$\",\"$L2d\",\"attribusi\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/attribusi\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"attribusi\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n107:[\"$\",\"$L2d\",\"searxng\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/searxng\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"searxng\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n108:[\"$\",\"$L2d\",\"hermes-agent\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/hermes-agent\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"hermes-agent\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n109:[\"$\",\"$L2d\",\"indonesian\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/indonesian\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"indonesian\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n10a:[\"$\",\"$L2d\",\"triage\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/triage\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"triage\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n10b:[\"$\",\"$L2d\",\"stateless\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/stateless\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"stateless\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n10c:[\"$\",\"$L2d\",\"privacy\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/privacy\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"privacy\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n10d:[\"$\",\"$L2d\",\"bahasa-indonesia\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/bahasa-indonesia\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"bahasa-in"])</script><script>self.__next_f.push([1,"donesia\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n10e:[\"$\",\"$L2d\",\"skill-drift\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/skill-drift\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"skill-drift\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n10f:[\"$\",\"$L2d\",\"squid\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/squid\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"squid\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n110:[\"$\",\"$L2d\",\"shellcheck\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/shellcheck\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"shellcheck\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n111:[\"$\",\"$L2d\",\"leaflet\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/leaflet\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"leaflet\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n112:[\"$\",\"$L2d\",\"svg\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/svg\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"svg\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n113:[\"$\",\"$L2d\",\"redirects\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/redirects\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"redirects\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n114:[\"$\",\"$L2d\",\"openviking\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/openviking\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"openviking\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n115:[\"$\",\"$L2d\",\"wp-cli\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/wp-cli\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"wp-cli\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n116:[\"$\",\"$L2d\",\"locale\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/locale\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"locale\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n117:[\"$\",\"$L2d\",\"quality-assurance\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/quality-assurance\",\"locale\":\"$undef"])</script><script>self.__next_f.push([1,"ined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"quality-assurance\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n118:[\"$\",\"$L2d\",\"cookie\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/cookie\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"cookie\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n119:[\"$\",\"$L2d\",\"knowledge-base\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/knowledge-base\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"knowledge-base\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n11a:[\"$\",\"$L2d\",\"php\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/php\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"php\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n11b:[\"$\",\"$L2d\",\"debian\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/debian\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"debian\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n11c:[\"$\",\"$L2d\",\"next-themes\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/next-themes\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"next-themes\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n11d:[\"$\",\"$L2d\",\"semver\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/semver\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"semver\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n11e:[\"$\",\"$L2d\",\"restic\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/restic\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"restic\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n11f:[\"$\",\"$L2d\",\"maxauthtries\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/maxauthtries\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"maxauthtries\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n120:[\"$\",\"$L2d\",\"mysql\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/mysql\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-"])</script><script>self.__next_f.push([1,"primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"mysql\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n121:[\"$\",\"$L2d\",\"sshd\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/sshd\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"sshd\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n122:[\"$\",\"$L2d\",\"clipboard\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/clipboard\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"clipboard\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n123:[\"$\",\"$L2d\",\"web-components\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/web-components\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"web-components\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n124:[\"$\",\"$L2d\",\"llms-txt\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/llms-txt\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"llms-txt\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n125:[\"$\",\"$L2d\",\"kubernetes\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/kubernetes\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"kubernetes\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n126:[\"$\",\"$L2d\",\"distributed-systems\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/distributed-systems\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"distributed-systems\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n127:[\"$\",\"$L2d\",\"google-search-console\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/google-search-console\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"google-search-console\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n128:[\"$\",\"$L2d\",\"google-trends\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/google-trends\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"google-trends\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n129:[\"$\",\"$L2d\",\"migrasi\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/migrasi\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-prim"])</script><script>self.__next_f.push([1,"ary\",\"children\":[\"#\",\"migrasi\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n12a:[\"$\",\"$L2d\",\"venv\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/venv\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"venv\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n12b:[\"$\",\"$L2d\",\"nagios\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/nagios\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"nagios\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n12c:[\"$\",\"$L2d\",\"pagination\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/pagination\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"pagination\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n12d:[\"$\",\"$L2d\",\"composer\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/composer\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"composer\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n12e:[\"$\",\"$L2d\",\"aeo\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/aeo\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"aeo\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n12f:[\"$\",\"$L2d\",\"ffprobe\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ffprobe\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ffprobe\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n130:[\"$\",\"$L2d\",\"ransomware\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/ransomware\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"ransomware\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n131:[\"$\",\"$L2d\",\"onboarding\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/onboarding\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"onboarding\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n132:[\"$\",\"$L2d\",\"crawl-budget\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/crawl-budget\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"aria-current\":\"$undefined\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"crawl-budget\",[\"$\",\"span\",null,{\"className\":\"ml-1 opacity-60\",\"children\":1}]]}]\n133:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog\",\"locale\":\"$undefined\","])</script><script>self.__next_f.push([1,"\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"transition-colors hover:text-primary\",\"children\":\"Blog\"}]\n134:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/category/tooling\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"transition-colors hover:text-primary\",\"children\":\"tooling\"}]\n"])</script><script>self.__next_f.push([1,"13c:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/memory-agent-sintesis-mingguan\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"group relative flex items-start gap-3 sm:gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative flex w-14 shrink-0 flex-col items-center gap-1.5 sm:w-16 lg:w-[4.5rem]\",\"children\":[[\"$\",\"time\",null,{\"dateTime\":\"2026-09-04T09:57:43Z\",\"className\":\"inline-flex w-max shrink-0 items-center gap-1 whitespace-nowrap rounded-full bg-[#25E2A8]/10 px-1.5 py-0.5 text-[9px] font-medium tabular-nums text-emerald-600 dark:text-[#25E2A8]\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$3d:props:children:1:props:children:1:props:children:2:props:children:0:props:iconNode\",\"className\":\"lucide-clock3 lucide-clock-3 size-2.5 shrink-0\"}],\"4 Sep 2026\"]}],[\"$\",\"$L149\",null,{\"icons\":[],\"category\":\"ai\"}],[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute -bottom-1 left-1/2 h-px w-5 bg-border\"}],[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute -bottom-1 left-1/2 size-2 -translate-x-1/2 rounded-full bg-primary opacity-40 shadow-[0_0_8px_2px_color-mix(in_srgb,var(--primary)_40%,transparent)] transition-opacity group-hover:opacity-100\"}]]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1 pt-0.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-1.5 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-bold tracking-wide text-primary uppercase sm:text-[11px]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"size-1.5 animate-pulse rounded-full bg-primary\"}],\"ai\"]}],[\"$\",\"h3\",null,{\"className\":\"mt-1.5 line-clamp-2 text-[13px] leading-snug font-semibold text-foreground transition-colors group-hover:text-primary sm:line-clamp-1 sm:text-[15px]\",\"children\":\"Memory Agent Saya Disintesis Sekali Seminggu, Bukan Tiap Chat\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 line-clamp-2 text-[11px] leading-relaxed text-muted-foreground sm:line-clamp-1 sm:text-xs\",\"children\":\"Cron mingguan no-agent membaca digest pesan tujuh hari lalu mengusulkan kandidat pembaruan memory: kandidat dulu, ratifikasi kemudian, tanpa auto-write.\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"13d:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/deskripsi-dari-riset-bukan-placeholder\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"group relative flex items-start gap-3 sm:gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative flex w-14 shrink-0 flex-col items-center gap-1.5 sm:w-16 lg:w-[4.5rem]\",\"children\":[[\"$\",\"time\",null,{\"dateTime\":\"2026-09-23T18:27:22Z\",\"className\":\"inline-flex w-max shrink-0 items-center gap-1 whitespace-nowrap rounded-full bg-[#25E2A8]/10 px-1.5 py-0.5 text-[9px] font-medium tabular-nums text-emerald-600 dark:text-[#25E2A8]\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$3d:props:children:1:props:children:1:props:children:2:props:children:0:props:iconNode\",\"className\":\"lucide-clock3 lucide-clock-3 size-2.5 shrink-0\"}],\"24 Sep 2026\"]}],[\"$\",\"$L149\",null,{\"icons\":[{\"tag\":\"nextjs\",\"icon\":{\"width\":24,\"height\":24,\"body\":\"\u003cpath fill=\\\"currentColor\\\" d=\\\"M18.665 21.978A11.94 11.94 0 0 1 12 24C5.377 24 0 18.623 0 12S5.377 0 12 0s12 5.377 12 12c0 3.583-1.574 6.801-4.067 9.001L9.219 7.2H7.2v9.596h1.615V9.251zm-3.332-8.533l1.6 2.061V7.2h-1.6z\\\"/\u003e\"}}],\"category\":\"seo\"}],[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute -bottom-1 left-1/2 h-px w-5 bg-border\"}],[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute -bottom-1 left-1/2 size-2 -translate-x-1/2 rounded-full bg-primary opacity-40 shadow-[0_0_8px_2px_color-mix(in_srgb,var(--primary)_40%,transparent)] transition-opacity group-hover:opacity-100\"}]]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1 pt-0.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-1.5 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-bold tracking-wide text-primary uppercase sm:text-[11px]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"size-1.5 animate-pulse rounded-full bg-primary\"}],\"seo\"]}],[\"$\",\"h3\",null,{\"className\":\"mt-1.5 line-clamp-2 text-[13px] leading-snug font-semibold text-foreground transition-colors group-hover:text-primary sm:line-clamp-1 sm:text-[15px]\",\"children\":\"Deskripsi Kartu Perusahaan dari Riset, Bukan Placeholder\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 line-clamp-2 text-[11px] leading-relaxed text-muted-foreground sm:line-clamp-1 sm:text-xs\",\"children\":\"Mengganti [PLACEHOLDER] dengan fakta yang bisa diverifikasi, dan kenapa teks generik justru dekat dengan sinyal spam Google.\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"13e:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/plane-pages-mirror-dokumen\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"group relative flex items-start gap-3 sm:gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative flex w-14 shrink-0 flex-col items-center gap-1.5 sm:w-16 lg:w-[4.5rem]\",\"children\":[[\"$\",\"time\",null,{\"dateTime\":\"2026-09-29T07:05:43Z\",\"className\":\"inline-flex w-max shrink-0 items-center gap-1 whitespace-nowrap rounded-full bg-[#25E2A8]/10 px-1.5 py-0.5 text-[9px] font-medium tabular-nums text-emerald-600 dark:text-[#25E2A8]\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$3d:props:children:1:props:children:1:props:children:2:props:children:0:props:iconNode\",\"className\":\"lucide-clock3 lucide-clock-3 size-2.5 shrink-0\"}],\"29 Sep 2026\"]}],[\"$\",\"$L149\",null,{\"icons\":[{\"tag\":\"git\",\"icon\":{\"width\":24,\"height\":24,\"body\":\"\u003cpath fill=\\\"currentColor\\\" d=\\\"M13.09 23.549a1.54 1.54 0 0 1-2.18 0L.451 13.089a1.54 1.54 0 0 1 0-2.179l7.191-7.19l2.733 2.733a1.85 1.85 0 0 0 .964 2.326v6.66a1.849 1.849 0 1 0 1.54 0V8.957l2.508 2.508a1.85 1.85 0 1 0 1.09-1.09l-2.634-2.634a1.85 1.85 0 0 0-2.378-2.377L8.73 2.63L10.91.451a1.54 1.54 0 0 1 2.179 0l10.459 10.46a1.54 1.54 0 0 1 0 2.179z\\\"/\u003e\"}}],\"category\":\"devops\"}],[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute -bottom-1 left-1/2 h-px w-5 bg-border\"}],[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute -bottom-1 left-1/2 size-2 -translate-x-1/2 rounded-full bg-primary opacity-40 shadow-[0_0_8px_2px_color-mix(in_srgb,var(--primary)_40%,transparent)] transition-opacity group-hover:opacity-100\"}]]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1 pt-0.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-1.5 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-bold tracking-wide text-primary uppercase sm:text-[11px]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"size-1.5 animate-pulse rounded-full bg-primary\"}],\"devops\"]}],[\"$\",\"h3\",null,{\"className\":\"mt-1.5 line-clamp-2 text-[13px] leading-snug font-semibold text-foreground transition-colors group-hover:text-primary sm:line-clamp-1 sm:text-[15px]\",\"children\":\"Mirror dokumen pindah kantor: dari work item ke Plane Pages\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 line-clamp-2 text-[11px] leading-relaxed text-muted-foreground sm:line-clamp-1 sm:text-xs\",\"children\":\"Halaman API Plane bikin mirror dokumen versi work item terasa salah tempat. Kontrak penyimpanannya berubah, desain identitas mirror ikut dibongkar.\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"13f:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/logo-theme-aware-footer\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"group relative flex items-start gap-3 sm:gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative flex w-14 shrink-0 flex-col items-center gap-1.5 sm:w-16 lg:w-[4.5rem]\",\"children\":[[\"$\",\"time\",null,{\"dateTime\":\"2026-09-24T03:03:27Z\",\"className\":\"inline-flex w-max shrink-0 items-center gap-1 whitespace-nowrap rounded-full bg-[#25E2A8]/10 px-1.5 py-0.5 text-[9px] font-medium tabular-nums text-emerald-600 dark:text-[#25E2A8]\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$3d:props:children:1:props:children:1:props:children:2:props:children:0:props:iconNode\",\"className\":\"lucide-clock3 lucide-clock-3 size-2.5 shrink-0\"}],\"24 Sep 2026\"]}],[\"$\",\"$L149\",null,{\"icons\":[{\"tag\":\"css\",\"icon\":{\"width\":24,\"height\":24,\"body\":\"\u003cpath fill=\\\"currentColor\\\" d=\\\"M1.5 0h21l-1.91 21.563L11.977 24l-8.565-2.438zm17.09 4.413L5.41 4.41l.213 2.622l10.125.002l-.255 2.716h-6.64l.24 2.573h6.182l-.366 3.523l-2.91.804l-2.956-.81l-.188-2.11h-2.61l.29 3.855L12 19.288l5.373-1.53z\\\"/\u003e\",\"hidden\":true}},{\"tag\":\"tailwind\",\"icon\":{\"width\":24,\"height\":24,\"body\":\"\u003cpath fill=\\\"currentColor\\\" d=\\\"M12.001 4.8q-4.8 0-6 4.8q1.8-2.4 4.2-1.8c.913.228 1.565.89 2.288 1.624C13.666 10.618 15.027 12 18.001 12q4.8 0 6-4.8q-1.8 2.4-4.2 1.8c-.913-.228-1.565-.89-2.288-1.624C16.337 6.182 14.976 4.8 12.001 4.8m-6 7.2q-4.8 0-6 4.8q1.8-2.4 4.2-1.8c.913.228 1.565.89 2.288 1.624c1.177 1.194 2.538 2.576 5.512 2.576q4.8 0 6-4.8q-1.8 2.4-4.2 1.8c-.913-.228-1.565-.89-2.288-1.624C10.337 13.382 8.976 12 6.001 12\\\"/\u003e\"}}],\"category\":\"frontend\"}],[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute -bottom-1 left-1/2 h-px w-5 bg-border\"}],[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute -bottom-1 left-1/2 size-2 -translate-x-1/2 rounded-full bg-primary opacity-40 shadow-[0_0_8px_2px_color-mix(in_srgb,var(--primary)_40%,transparent)] transition-opacity group-hover:opacity-100\"}]]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1 pt-0.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-1.5 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-bold tracking-wide text-primary uppercase sm:text-[11px]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"size-1.5 animate-pulse rounded-full bg-primary\"}],\"frontend\"]}],[\"$\",\"h3\",null,{\"className\":\"mt-1.5 line-clamp-2 text-[13px] leading-snug font-semibold text-foreground transition-colors group-hover:text-primary sm:line-clamp-1 sm:text-[15px]\",\"children\":\"Satu Logo, Dua File: Brand Mark yang Nurut Tema\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 line-clamp-2 text-[11px] leading-relaxed text-muted-foreground sm:line-clamp-1 sm:text-xs\",\"children\":\"Pil background ternyata cuma tambal: brand mark butuh dua aset ketika situs punya dark mode plus toggle manual yang dipersist.\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"140:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/satu-bahasa-desain-untuk-semua-halaman\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"group relative flex items-start gap-3 sm:gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative flex w-14 shrink-0 flex-col items-center gap-1.5 sm:w-16 lg:w-[4.5rem]\",\"children\":[[\"$\",\"time\",null,{\"dateTime\":\"2026-09-24T06:35:58Z\",\"className\":\"inline-flex w-max shrink-0 items-center gap-1 whitespace-nowrap rounded-full bg-[#25E2A8]/10 px-1.5 py-0.5 text-[9px] font-medium tabular-nums text-emerald-600 dark:text-[#25E2A8]\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$3d:props:children:1:props:children:1:props:children:2:props:children:0:props:iconNode\",\"className\":\"lucide-clock3 lucide-clock-3 size-2.5 shrink-0\"}],\"24 Sep 2026\"]}],[\"$\",\"$L149\",null,{\"icons\":[{\"tag\":\"css\",\"icon\":\"$13f:props:children:0:props:children:1:props:icons:0:icon\"}],\"category\":\"frontend\"}],[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute -bottom-1 left-1/2 h-px w-5 bg-border\"}],[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"absolute -bottom-1 left-1/2 size-2 -translate-x-1/2 rounded-full bg-primary opacity-40 shadow-[0_0_8px_2px_color-mix(in_srgb,var(--primary)_40%,transparent)] transition-opacity group-hover:opacity-100\"}]]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1 pt-0.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-1.5 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-bold tracking-wide text-primary uppercase sm:text-[11px]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"size-1.5 animate-pulse rounded-full bg-primary\"}],\"frontend\"]}],[\"$\",\"h3\",null,{\"className\":\"mt-1.5 line-clamp-2 text-[13px] leading-snug font-semibold text-foreground transition-colors group-hover:text-primary sm:line-clamp-1 sm:text-[15px]\",\"children\":\"Satu Bahasa Desain untuk Semua Halaman\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 line-clamp-2 text-[11px] leading-relaxed text-muted-foreground sm:line-clamp-1 sm:text-xs\",\"children\":\"Lima subpage terasa seperti website lain setelah homepage didesain ulang. Solusinya bukan mempercantik satu per satu, tapi memindahkan bahasa desain ke komponen shared.\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"141:[\"$\",\"$L2d\",\"plane\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/plane\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"plane\"]}]\n142:[\"$\",\"$L2d\",\"python\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/python\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"python\"]}]\n143:[\"$\",\"$L2d\",\"markdown\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/markdown\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"markdown\"]}]\n144:[\"$\",\"$L2d\",\"sync\",{\"ref\":\"$undefined\",\"href\":\"/id/blog/tag/sync\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"rounded-[6px] bg-primary/10 px-2.5 py-0.5 text-[11px] text-primary/80 ring-1 ring-primary/15 ring-inset transition-colors hover:bg-primary/15 hover:text-primary\",\"children\":[\"#\",\"sync\"]}]\n148:[\"$\",\"$L2d\",null,{\"ref\":\"$undefined\",\"href\":\"/id/blog/kontrak-dua-sisi-konverter\",\"locale\":\"$undefined\",\"localeCookie\":\"$1a:props:localeCookie\",\"className\":\"group min-w-0 flex-1\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex items-center gap-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground transition-colors group-hover:text-primary\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m12 19-7-7 7-7\",\"key\":\"1l729n\"}],[\"path\",{\"d\":\"M19 12H5\",\"key\":\"x3x0zl\"}]],\"className\":\"lucide-arrow-left size-3.5 transition-transform group-hover:-translate-x-0.5\"}],\"Sebelumnya\"]}],[\"$\",\"span\",null,{\"className\":\"mt-1 block line-clamp-2 text-sm font-semibold text-foreground transition-colors group-hover:text-primary sm:line-clamp-1\",\"children\":\"Unit Test Hijau Semua, Tapi Konverter Tetap Rusak\"}]]}]\n"])</script></body></html>