<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pengembangan Web on Nalar</title>
    <link>https://nalar.dev/id/tags/pengembangan-web/</link>
    <description>Recent content in Pengembangan Web on Nalar</description>
    <generator>Hugo</generator>
    <language>id-id</language>
    <lastBuildDate>Sat, 19 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/id/tags/pengembangan-web/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Blok Berbasis Plugin dalam Page Builder React</title>
      <link>https://nalar.dev/id/blok-page-builder-berbasis-plugin/</link>
      <pubDate>Sat, 19 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/blok-page-builder-berbasis-plugin/</guid>
      <description>&lt;p&gt;Page builder tidak harus mengompilasi semua block ke dalam satu bundle aplikasi permanen. Core dapat tetap stabil sementara plugin yang dikirim secara terpisah mendaftarkan tipe block baru, menyediakan control editor, dan menentukan bagaimana block tersebut tampil di website publik.&lt;/p&gt;&#xA;&lt;p&gt;Batas yang paling penting bukan React itu sendiri. Yang menentukan adalah kontrak antara core builder dan setiap block. Setelah kontrak itu jelas, editor dapat tetap menjadi satu aplikasi React, sementara block, CSS, dan JavaScript frontend opsional hanya dimuat saat memang dibutuhkan.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Container Markdown sebagai DSL UI Ringan</title>
      <link>https://nalar.dev/id/container-markdown-sebagai-dsl-ui-ringan/</link>
      <pubDate>Sat, 19 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/container-markdown-sebagai-dsl-ui-ringan/</guid>
      <description>&lt;p&gt;File konten tidak membutuhkan component tree hanya untuk menyatakan bahwa satu region adalah hero, callout, card, atau gallery. Ekstensi kecil pada Markdown dapat membawa maksud tersebut, sementara heading, paragraph, link, dan list tetap ditulis sebagai Markdown biasa.&lt;/p&gt;&#xA;&lt;p&gt;Dengan &lt;code&gt;markdown-it-container&lt;/code&gt;, sintaks yang dilihat penulis dapat dibuat sesingkat:&lt;/p&gt;&#xA;&lt;div&#xA;  x-data=&#34;{ code: $el.querySelector(&#39;code&#39;).innerText, copied: false }&#34;&#xA;  class=&#34;code-block group relative my-6 overflow-hidden rounded-xl border border-line bg-surface-muted dark:border-night-line dark:bg-night-surface&#34;&gt;&#xA;  &lt;button&#xA;    type=&#34;button&#34;&#xA;    @click=&#34;navigator.clipboard.writeText(code); copied = true; setTimeout(() =&gt; copied = false, 1600)&#34;&#xA;    class=&#34;absolute right-3 top-3 z-10 rounded-lg border border-line-strong bg-surface px-2 py-1 font-mono text-[0.8rem] text-muted opacity-0 transition group-hover:opacity-100 hover:bg-ink hover:text-white dark:border-night-line dark:bg-night dark:text-night-muted dark:hover:bg-white dark:hover:text-ink&#34;&gt;&#xA;    &lt;span x-text=&#34;copied ? &#39;Copied&#39; : &#39;Copy&#39;&#34;&gt;&lt;/span&gt;&#xA;  &lt;/button&gt;&#xA;  &#xA;  &lt;div class=&#34;overflow-x-auto p-4 text-sm leading-6 [&amp;_pre]:!m-0 [&amp;_pre]:!bg-transparent [&amp;_pre]:!p-0 [&amp;_code]:font-mono&#34;&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:::hero&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;# Ship the next release&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;A short description stays normal Markdown.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:::&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Struktur ini sudah cukup untuk membentuk DSL UI ringan: &lt;code&gt;hero&lt;/code&gt; memiliki arti yang ditentukan aplikasi, sedangkan konten di dalamnya tetap diproses oleh parser Markdown. Batas yang berguna justru sempit. Ketika format mulai membuka row, column, nilai padding, class CSS, event handler, dan component nesting yang dalam, file konten tidak lagi terasa seperti konten. Ia berubah menjadi source code dengan notasi lain.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Token Tema Berbasis Warna Logo untuk Antarmuka Web yang Berkarakter</title>
      <link>https://nalar.dev/id/token-tema-berbasis-warna-logo/</link>
      <pubDate>Sat, 19 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/token-tema-berbasis-warna-logo/</guid>
      <description>&lt;p&gt;Palet warna logo bukan design system. Menyalin warna dominan logo ke button, card, background, border, dan gradient biasanya membuat halaman terasa terlalu penuh warna, bukan lebih berkarakter. Langkah yang lebih berguna adalah menerjemahkan logo menjadi token tema semantik: sekumpulan role kecil yang dapat dipakai komponen secara konsisten.&lt;/p&gt;&#xA;&lt;p&gt;Pemisahan ini semakin penting ketika interface memakai pola visual yang ekspresif seperti bento grid, typography berukuran besar, surface transparan, dan scroll motion. Teknik-teknik tersebut dapat membentuk identitas yang kuat, tetapi hasilnya baru terasa utuh jika warna, hierarchy, dan movement berasal dari satu sistem yang sama, bukan dari kumpulan efek yang ditempel terpisah.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
