<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>ngockhoi96.dev</title><description>Web engineering, Astro, Cloudflare, and the craft of building lasting software.</description><link>https://ngockhoi96.dev/</link><language>en-US</language><item><title>Why I built this blog</title><link>https://ngockhoi96.dev/blog/why-i-built-this-blog/</link><guid isPermaLink="true">https://ngockhoi96.dev/blog/why-i-built-this-blog/</guid><description>Every developer eventually builds their own blog. Here&apos;s why I built mine from scratch instead of reaching for a template — and what I&apos;m actually hoping to get out of it.</description><pubDate>Sun, 31 May 2026 00:00:00 GMT</pubDate><category>thoughts</category><category>meta</category><category>writing</category><category>motivation</category></item><item><title>Modern responsive design: the three-layer approach</title><link>https://ngockhoi96.dev/blog/modern-responsive-three-layer-approach/</link><guid isPermaLink="true">https://ngockhoi96.dev/blog/modern-responsive-three-layer-approach/</guid><description>Media queries alone are showing their age. Modern responsive design layers three techniques — fluid foundations, container queries, and media queries — each doing the job it&apos;s best at.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>dev</category><category>css</category><category>responsive</category><category>container-queries</category><category>layout</category></item><item><title>My daily phin: from green beans to the morning cup</title><link>https://ngockhoi96.dev/blog/my-daily-phin-coffee-ritual/</link><guid isPermaLink="true">https://ngockhoi96.dev/blog/my-daily-phin-coffee-ritual/</guid><description>A slow coffee ritual, start to finish — buying green beans, roasting them at home, and brewing a cup with the traditional Vietnamese phin filter every morning.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>life</category><category>coffee</category><category>ritual</category><category>slow-living</category></item><item><title>Build an accessible disclosure with details and summary</title><link>https://ngockhoi96.dev/blog/accessible-disclosure-details-summary/</link><guid isPermaLink="true">https://ngockhoi96.dev/blog/accessible-disclosure-details-summary/</guid><description>The native &lt;details&gt;/&lt;summary&gt; element is the most underrated component in HTML — a fully accessible show/hide toggle with zero JavaScript. Here&apos;s how to style it without breaking it.</description><pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate><category>dev</category><category>html</category><category>accessibility</category><category>css</category><category>components</category></item><item><title>How this blog renders Markdown</title><link>https://ngockhoi96.dev/blog/markdown-components/</link><guid isPermaLink="true">https://ngockhoi96.dev/blog/markdown-components/</guid><description>A living reference for every directive, plugin, and MDX component available when writing posts — what each one is, how to use it, and what it renders.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><category>dev</category><category>meta</category><category>mdx</category><category>authoring</category></item></channel></rss>