<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog — Hoàng Lương Trần</title>
    <link>https://hoangluongtran.dev/blog/</link>
    <description>Recent Blog on Hoàng Lương Trần</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>vi</language>
    <copyright>© 2026 Hoàng Lương Trần</copyright>
    <lastBuildDate>Sat, 01 Aug 2026 09:00:00 +0700</lastBuildDate>
    <image>
      <url>https://hoangluongtran.dev/favicon.svg</url>
      <title>Hoàng Lương Trần</title>
      <link>https://hoangluongtran.dev/blog/</link>
    </image>
    <atom:link href="https://hoangluongtran.dev/blog/index.xml" rel="self" type="application/rss+xml" /><item>
      <title>Bài viết mẫu 1</title>
      <link>https://hoangluongtran.dev/blog/2026/sample-post-1/</link>
      <pubDate>Sat, 01 Aug 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/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;Đây là bài viết &lt;strong&gt;mẫu&lt;/strong&gt; (dummy content), không phải nội dung thật — chỉ dùng để&#xA;kiểm tra giao diện hiển thị các thành phần AsciiDoc: admonition, bảng, code&#xA;block có callout, ảnh và cross-reference nội bộ. Xem thêm ở&#xA;&lt;a href=&#34;https://hoangluongtran.dev/blog/2026/sample-post-1/#ket-luan&#34;&gt;phần kết luận&lt;/a&gt; cuối bài.&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/blog/2026/sample-post-1/diagram.png&#34; alt=&#34;Ảnh mẫu — 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;_code_block_mẫu&#34;&gt;&lt;a class=&#34;anchor&#34; href=&#34;https://hoangluongtran.dev/blog/2026/sample-post-1/#_code_block_mẫu&#34;&gt;&lt;/a&gt;Code block mẫu&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;Chú thích callout mẫu.&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;Inline code mẫu: &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;_admonition_mẫu&#34;&gt;&lt;a class=&#34;anchor&#34; href=&#34;https://hoangluongtran.dev/blog/2026/sample-post-1/#_admonition_mẫu&#34;&gt;&lt;/a&gt;Admonition mẫu&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;Đây là admonition NOTE mẫu, dùng để kiểm tra style hiển thị.&#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;Đây là admonition WARNING mẫu.&#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;Đây là admonition TIP mẫu.&#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;_bảng_mẫu&#34;&gt;&lt;a class=&#34;anchor&#34; href=&#34;https://hoangluongtran.dev/blog/2026/sample-post-1/#_bảng_mẫu&#34;&gt;&lt;/a&gt;Bảng mẫu&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;Cột 1&lt;/th&gt;&#xA;&lt;th class=&#34;tableblock halign-left valign-top&#34;&gt;Cột 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;Dòng 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;Dữ liệu mẫu&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;Dòng 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;Dữ liệu mẫu&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;ket-luan&#34;&gt;&lt;a class=&#34;anchor&#34; href=&#34;https://hoangluongtran.dev/blog/2026/sample-post-1/#ket-luan&#34;&gt;&lt;/a&gt;Kết luận&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Toàn bộ nội dung trên chỉ nhằm kiểm tra giao diện — không đại diện cho bài&#xA;viết thật nào.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Bài viết mẫu 2</title>
      <link>https://hoangluongtran.dev/blog/2026/sample-post-2/</link>
      <pubDate>Fri, 31 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/blog/2026/sample-post-2/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Đây là bài viết &lt;strong&gt;mẫu&lt;/strong&gt; thứ hai (dummy content), không có ảnh minh hoạ — dùng&#xA;để kiểm tra giao diện khi có nhiều hơn 1 bài trong danh sách: sắp xếp theo&#xA;ngày, hiển thị tag, và phân trang.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Nội dung ở đây không mang ý nghĩa gì — chỉ để lấp đầy trang cho mục đích&#xA;kiểm thử giao diện.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Bài viết mẫu 3</title>
      <link>https://hoangluongtran.dev/blog/2026/sample-post-3/</link>
      <pubDate>Thu, 30 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/blog/2026/sample-post-3/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Đây là bài viết &lt;strong&gt;mẫu&lt;/strong&gt; số 3 (dummy content), không mang nội dung thật — chỉ&#xA;dùng để lấp đầy danh sách bài viết cho mục đích kiểm tra phân trang&#xA;(pagination) và giao diện danh sách nhiều bài.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Bài viết mẫu 4</title>
      <link>https://hoangluongtran.dev/blog/2026/sample-post-4/</link>
      <pubDate>Wed, 29 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/blog/2026/sample-post-4/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Đây là bài viết &lt;strong&gt;mẫu&lt;/strong&gt; số 4 (dummy content), không mang nội dung thật — chỉ&#xA;dùng để lấp đầy danh sách bài viết cho mục đích kiểm tra phân trang&#xA;(pagination) và giao diện danh sách nhiều bài.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Bài viết mẫu 5</title>
      <link>https://hoangluongtran.dev/blog/2026/sample-post-5/</link>
      <pubDate>Tue, 28 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/blog/2026/sample-post-5/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Đây là bài viết &lt;strong&gt;mẫu&lt;/strong&gt; số 5 (dummy content), không mang nội dung thật — chỉ&#xA;dùng để lấp đầy danh sách bài viết cho mục đích kiểm tra phân trang&#xA;(pagination) và giao diện danh sách nhiều bài.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Bài viết mẫu 6</title>
      <link>https://hoangluongtran.dev/blog/2026/sample-post-6/</link>
      <pubDate>Mon, 27 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/blog/2026/sample-post-6/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Đây là bài viết &lt;strong&gt;mẫu&lt;/strong&gt; số 6 (dummy content), không mang nội dung thật — chỉ&#xA;dùng để lấp đầy danh sách bài viết cho mục đích kiểm tra phân trang&#xA;(pagination) và giao diện danh sách nhiều bài.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Bài viết mẫu 7</title>
      <link>https://hoangluongtran.dev/blog/2026/sample-post-7/</link>
      <pubDate>Sun, 26 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/blog/2026/sample-post-7/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Đây là bài viết &lt;strong&gt;mẫu&lt;/strong&gt; số 7 (dummy content), không mang nội dung thật — chỉ&#xA;dùng để lấp đầy danh sách bài viết cho mục đích kiểm tra phân trang&#xA;(pagination) và giao diện danh sách nhiều bài.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Bài viết mẫu 8</title>
      <link>https://hoangluongtran.dev/blog/2026/sample-post-8/</link>
      <pubDate>Sat, 25 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/blog/2026/sample-post-8/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Đây là bài viết &lt;strong&gt;mẫu&lt;/strong&gt; số 8 (dummy content), không mang nội dung thật — chỉ&#xA;dùng để lấp đầy danh sách bài viết cho mục đích kiểm tra phân trang&#xA;(pagination) và giao diện danh sách nhiều bài.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Bài viết mẫu 9</title>
      <link>https://hoangluongtran.dev/blog/2026/sample-post-9/</link>
      <pubDate>Fri, 24 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/blog/2026/sample-post-9/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Đây là bài viết &lt;strong&gt;mẫu&lt;/strong&gt; số 9 (dummy content), không mang nội dung thật — chỉ&#xA;dùng để lấp đầy danh sách bài viết cho mục đích kiểm tra phân trang&#xA;(pagination) và giao diện danh sách nhiều bài.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Bài viết mẫu 10</title>
      <link>https://hoangluongtran.dev/blog/2026/sample-post-10/</link>
      <pubDate>Thu, 23 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/blog/2026/sample-post-10/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Đây là bài viết &lt;strong&gt;mẫu&lt;/strong&gt; số 10 (dummy content), không mang nội dung thật — chỉ&#xA;dùng để lấp đầy danh sách bài viết cho mục đích kiểm tra phân trang&#xA;(pagination) và giao diện danh sách nhiều bài.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Bài viết mẫu 11</title>
      <link>https://hoangluongtran.dev/blog/2026/sample-post-11/</link>
      <pubDate>Wed, 22 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/blog/2026/sample-post-11/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Đây là bài viết &lt;strong&gt;mẫu&lt;/strong&gt; số 11 (dummy content), không mang nội dung thật — chỉ&#xA;dùng để lấp đầy danh sách bài viết cho mục đích kiểm tra phân trang&#xA;(pagination) và giao diện danh sách nhiều bài.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item><item>
      <title>Bài viết mẫu 12</title>
      <link>https://hoangluongtran.dev/blog/2026/sample-post-12/</link>
      <pubDate>Tue, 21 Jul 2026 09:00:00 +0700</pubDate>
      <guid>https://hoangluongtran.dev/blog/2026/sample-post-12/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Đây là bài viết &lt;strong&gt;mẫu&lt;/strong&gt; số 12 (dummy content), không mang nội dung thật — chỉ&#xA;dùng để lấp đầy danh sách bài viết cho mục đích kiểm tra phân trang&#xA;(pagination) và giao diện danh sách nhiều bài.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
  </channel>
</rss>
