<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Markdown on Nalar</title>
    <link>https://nalar.dev/id/tags/markdown/</link>
    <description>Recent content in Markdown 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/markdown/index.xml" rel="self" type="application/rss+xml" />
    <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>
  </channel>
</rss>
