<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog — Hoang Luong Tran</title>
    <link>https://hoangluongtran.dev/en/blog/</link>
    <description>Recent Blog on Hoang Luong Tran</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 Hoang Luong Tran</copyright>
    <lastBuildDate>Sat, 01 Aug 2026 09:00:00 +0700</lastBuildDate>
    <image>
      <url>https://hoangluongtran.dev/favicon.svg</url>
      <title>Hoang Luong Tran</title>
      <link>https://hoangluongtran.dev/en/blog/</link>
    </image>
    <atom:link href="https://hoangluongtran.dev/en/blog/index.xml" rel="self" type="application/rss+xml" /><item>
      <title>Sample post 1</title>
      <link>https://hoangluongtran.dev/en/blog/2026/sample-post-1/</link>
      <pubDate>Sat, 01 Aug 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/en/blog/2026/sample-post-1/</guid>
      <description>&lt;div id=&#34;preamble&#34;&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is a &lt;strong&gt;sample&lt;/strong&gt; post (dummy content, not real) — used only to check how&#xA;AsciiDoc elements render: admonitions, a table, a code block with a callout,&#xA;an image, and an internal cross-reference. See the&#xA;&lt;a href=&#34;https://hoangluongtran.dev/en/blog/2026/sample-post-1/#conclusion&#34;&gt;conclusion&lt;/a&gt; at the end for more.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;imageblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;img src=&#34;https://hoangluongtran.dev/en/blog/2026/sample-post-1/diagram.png&#34; alt=&#34;Sample image — placeholder&#34;/&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_sample_code_block&#34;&gt;&lt;a class=&#34;anchor&#34; href=&#34;https://hoangluongtran.dev/en/blog/2026/sample-post-1/#_sample_code_block&#34;&gt;&lt;/a&gt;Sample code block&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;listingblock&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;rouge highlight&#34;&gt;&lt;code data-lang=&#34;java&#34;&gt;&lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;record&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;SamplePost&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;String&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;slug&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;String&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;List&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;String&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tags&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;&#xA;&#xA;    &lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;boolean&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;hasTag&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;String&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tag&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;&#xA;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tags&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;contains&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tag&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;);&lt;/span&gt; // &lt;b class=&#34;conum&#34;&gt;(1)&lt;/b&gt;&#xA;    &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&#xA;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;colist arabic&#34;&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Sample callout note.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Sample inline code: &lt;code&gt;hugo &amp;amp;&amp;amp; npx pagefind --site public&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_sample_admonitions&#34;&gt;&lt;a class=&#34;anchor&#34; href=&#34;https://hoangluongtran.dev/en/blog/2026/sample-post-1/#_sample_admonitions&#34;&gt;&lt;/a&gt;Sample admonitions&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;admonitionblock note&#34;&gt;&#xA;&lt;table&gt;&#xA;&lt;tbody&gt;&lt;tr&gt;&#xA;&lt;td class=&#34;icon&#34;&gt;&#xA;&lt;div class=&#34;title&#34;&gt;Note&lt;/div&gt;&#xA;&lt;/td&gt;&#xA;&lt;td class=&#34;content&#34;&gt;&#xA;This is a sample NOTE admonition, used to check its display style.&#xA;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;admonitionblock warning&#34;&gt;&#xA;&lt;table&gt;&#xA;&lt;tbody&gt;&lt;tr&gt;&#xA;&lt;td class=&#34;icon&#34;&gt;&#xA;&lt;div class=&#34;title&#34;&gt;Warning&lt;/div&gt;&#xA;&lt;/td&gt;&#xA;&lt;td class=&#34;content&#34;&gt;&#xA;This is a sample WARNING admonition.&#xA;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;admonitionblock tip&#34;&gt;&#xA;&lt;table&gt;&#xA;&lt;tbody&gt;&lt;tr&gt;&#xA;&lt;td class=&#34;icon&#34;&gt;&#xA;&lt;div class=&#34;title&#34;&gt;Tip&lt;/div&gt;&#xA;&lt;/td&gt;&#xA;&lt;td class=&#34;content&#34;&gt;&#xA;This is a sample TIP admonition.&#xA;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_sample_table&#34;&gt;&lt;a class=&#34;anchor&#34; href=&#34;https://hoangluongtran.dev/en/blog/2026/sample-post-1/#_sample_table&#34;&gt;&lt;/a&gt;Sample table&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;table class=&#34;tableblock frame-all grid-all stretch&#34;&gt;&#xA;&lt;colgroup&gt;&#xA;&lt;col style=&#34;width: 33.3333%;&#34;/&gt;&#xA;&lt;col style=&#34;width: 66.6667%;&#34;/&gt;&#xA;&lt;/colgroup&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th class=&#34;tableblock halign-left valign-top&#34;&gt;Column 1&lt;/th&gt;&#xA;&lt;th class=&#34;tableblock halign-left valign-top&#34;&gt;Column 2&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Row 1&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Sample data&lt;/p&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Row 2&lt;/p&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;tableblock halign-left valign-top&#34;&gt;&lt;p class=&#34;tableblock&#34;&gt;Sample data&lt;/p&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;conclusion&#34;&gt;&lt;a class=&#34;anchor&#34; href=&#34;https://hoangluongtran.dev/en/blog/2026/sample-post-1/#conclusion&#34;&gt;&lt;/a&gt;Conclusion&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;All of the above exists purely to check the UI — it doesn’t represent any&#xA;real post.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Sample post 2</title>
      <link>https://hoangluongtran.dev/en/blog/2026/sample-post-2/</link>
      <pubDate>Fri, 31 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/en/blog/2026/sample-post-2/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is a second &lt;strong&gt;sample&lt;/strong&gt; post (dummy content), with no image — used to&#xA;check how the UI looks with more than one post in the list: date ordering,&#xA;tag display, and pagination.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The content here carries no meaning — it only fills the page for UI-testing&#xA;purposes.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Sample post 3</title>
      <link>https://hoangluongtran.dev/en/blog/2026/sample-post-3/</link>
      <pubDate>Thu, 30 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/en/blog/2026/sample-post-3/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is &lt;strong&gt;sample&lt;/strong&gt; post number 3 (dummy content, not real) — used only to&#xA;fill out the post list for testing pagination and the multi-post list UI.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Sample post 4</title>
      <link>https://hoangluongtran.dev/en/blog/2026/sample-post-4/</link>
      <pubDate>Wed, 29 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/en/blog/2026/sample-post-4/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is &lt;strong&gt;sample&lt;/strong&gt; post number 4 (dummy content, not real) — used only to&#xA;fill out the post list for testing pagination and the multi-post list UI.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Sample post 5</title>
      <link>https://hoangluongtran.dev/en/blog/2026/sample-post-5/</link>
      <pubDate>Tue, 28 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/en/blog/2026/sample-post-5/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is &lt;strong&gt;sample&lt;/strong&gt; post number 5 (dummy content, not real) — used only to&#xA;fill out the post list for testing pagination and the multi-post list UI.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Sample post 6</title>
      <link>https://hoangluongtran.dev/en/blog/2026/sample-post-6/</link>
      <pubDate>Mon, 27 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/en/blog/2026/sample-post-6/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is &lt;strong&gt;sample&lt;/strong&gt; post number 6 (dummy content, not real) — used only to&#xA;fill out the post list for testing pagination and the multi-post list UI.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Sample post 7</title>
      <link>https://hoangluongtran.dev/en/blog/2026/sample-post-7/</link>
      <pubDate>Sun, 26 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/en/blog/2026/sample-post-7/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is &lt;strong&gt;sample&lt;/strong&gt; post number 7 (dummy content, not real) — used only to&#xA;fill out the post list for testing pagination and the multi-post list UI.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Sample post 8</title>
      <link>https://hoangluongtran.dev/en/blog/2026/sample-post-8/</link>
      <pubDate>Sat, 25 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/en/blog/2026/sample-post-8/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is &lt;strong&gt;sample&lt;/strong&gt; post number 8 (dummy content, not real) — used only to&#xA;fill out the post list for testing pagination and the multi-post list UI.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Sample post 9</title>
      <link>https://hoangluongtran.dev/en/blog/2026/sample-post-9/</link>
      <pubDate>Fri, 24 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/en/blog/2026/sample-post-9/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is &lt;strong&gt;sample&lt;/strong&gt; post number 9 (dummy content, not real) — used only to&#xA;fill out the post list for testing pagination and the multi-post list UI.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Sample post 10</title>
      <link>https://hoangluongtran.dev/en/blog/2026/sample-post-10/</link>
      <pubDate>Thu, 23 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/en/blog/2026/sample-post-10/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is &lt;strong&gt;sample&lt;/strong&gt; post number 10 (dummy content, not real) — used only to&#xA;fill out the post list for testing pagination and the multi-post list UI.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Sample post 11</title>
      <link>https://hoangluongtran.dev/en/blog/2026/sample-post-11/</link>
      <pubDate>Wed, 22 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/en/blog/2026/sample-post-11/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is &lt;strong&gt;sample&lt;/strong&gt; post number 11 (dummy content, not real) — used only to&#xA;fill out the post list for testing pagination and the multi-post list UI.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Sample post 12</title>
      <link>https://hoangluongtran.dev/en/blog/2026/sample-post-12/</link>
      <pubDate>Tue, 21 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/en/blog/2026/sample-post-12/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is &lt;strong&gt;sample&lt;/strong&gt; post number 12 (dummy content, not real) — used only to&#xA;fill out the post list for testing pagination and the multi-post list UI.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
  </channel>
</rss>
