<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="https://example.org/linen-theme/css/rss-en.xsl"?><rss version="2.0"><channel><title>Hugo Linen</title><link>https://example.org/</link><description>A clean Hugo theme for readable essays, notes, and photo-friendly posts.</description><lastBuildDate>Tue, 23 Jun 2026 07:24:18 +0000</lastBuildDate><image><url>https://example.org/linen-theme/favicon.svg</url><title>Hugo Linen</title><link>https://example.org/</link></image><item><title>Theme features</title><link>https://example.org/features/</link><guid>https://example.org/features/</guid><pubDate>Sun, 29 Mar 2026 00:02:00 +0800</pubDate><description><![CDATA[<p>Hugo Linen is a Hugo port and adaptation of <a href="https://github.com/LynanBreeze/hexo-theme-linen" target="_blank" rel="noopener noreferrer">hexo-theme-linen</a>
, originally created by LynanBreeze. This demo shows the Hugo implementation, including the theme-specific layouts, shortcodes, image behavior, and site configuration.</p>
<h2 id="content-and-layout">Content and layout</h2>
<table>
	<thead>
			<tr>
					<th>Feature</th>
					<th>Demo</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Homepage highlighted posts</td>
					<td><a href="/highlighted-posts/">Highlighted posts</a>
</td>
			</tr>
			<tr>
					<td>Latest post list</td>
					<td>Homepage latest section</td>
			</tr>
			<tr>
					<td>Cover and thumbnail images</td>
					<td><a href="/front-matter/">Front matter reference</a>
</td>
			</tr>
			<tr>
					<td>Archives, categories, tags, and series</td>
					<td><a href="/archives/">Archives</a>
</td>
			</tr>
			<tr>
					<td>Table of contents</td>
					<td>This page and long guide pages</td>
			</tr>
			<tr>
					<td>Raw Markdown panel</td>
					<td>Pages with <code>appendRawMarkdown: true</code></td>
			</tr>
	</tbody>
</table>
<h2 id="writing-features">Writing features</h2>
<table>
	<thead>
			<tr>
					<th>Feature</th>
					<th>Demo</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Headings, lists, tables, code, and footnotes</td>
					<td><a href="/write-with-markdown/">Write with Markdown</a>
</td>
			</tr>
			<tr>
					<td>Code block titles and folded state</td>
					<td><a href="/write-with-markdown/">Write with Markdown</a>
</td>
			</tr>
			<tr>
					<td>Page-level options</td>
					<td><a href="/front-matter/">Front matter reference</a>
</td>
			</tr>
			<tr>
					<td>RSS output</td>
					<td><a href="/rss/">RSS guide</a>
</td>
			</tr>
			<tr>
					<td>Optional comments</td>
					<td><a href="/comments/">Comments</a>
</td>
			</tr>
	</tbody>
</table>
<h2 id="media-features">Media features</h2>
<table>
	<thead>
			<tr>
					<th>Feature</th>
					<th>Demo</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Markdown images and lightbox</td>
					<td><a href="/image-grid/">Images and lightbox</a>
</td>
			</tr>
			<tr>
					<td>Mixed ratio image grids</td>
					<td><a href="/image-grid/">Images and lightbox</a>
</td>
			</tr>
			<tr>
					<td>Lazy loading placeholders</td>
					<td><a href="/image-grid/">Images and lightbox</a>
</td>
			</tr>
	</tbody>
</table>
<h2 id="configuration-path">Configuration path</h2>
<p>Start with <a href="/getting-started/">Getting started</a>
, then continue with <a href="/configuration-guide/">Configuration guide</a>
 and <a href="/front-matter/">Front matter reference</a>
. The example site keeps all demo content under <code>exampleSite/content/posts/</code> so each feature can be inspected as a normal Hugo post.</p>
]]></description></item><item><title>Getting started</title><link>https://example.org/getting-started/</link><guid>https://example.org/getting-started/</guid><pubDate>Sat, 28 Mar 2026 23:59:00 +0800</pubDate><description><![CDATA[<h2 id="create-a-hugo-site">Create a Hugo site</h2>
<p>Hugo Linen is designed for a regular Hugo site with Hugo Extended enabled. Start with a new site or add the theme to an existing project.</p>
<figure class="highlight">
  <figcaption><span>Create a site</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">hugo new site my-linen-site</span><span class="line">cd my-linen-site</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<p>Install the theme as a Git submodule:</p>
<figure class="highlight">
  <figcaption><span>Install the theme</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">git submodule add https://github.com/zenpe/hugo-theme-linen themes/hugo-theme-linen</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<p>Set the theme name in your site configuration:</p>
<figure class="highlight">
  <figcaption><span>hugo.toml</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">theme = &#34;hugo-theme-linen&#34;</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<h2 id="enable-the-essentials">Enable the essentials</h2>
<p>The theme uses Hugo taxonomies for tags, categories, and series. A compact starting configuration looks like this:</p>
<figure class="highlight">
  <figcaption><span>hugo.toml</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">[taxonomies]</span><span class="line">  tag = &#34;tags&#34;</span><span class="line">  category = &#34;categories&#34;</span><span class="line">  series = &#34;series&#34;</span><span class="line"></span><span class="line">[params]</span><span class="line">  photoswipe = true</span><span class="line">  lazyload = true</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<h2 id="add-your-first-post">Add your first post</h2>
<p>Create a post with a title, date, excerpt, and optional cover image.</p>
<figure class="highlight">
  <figcaption><span>content/posts/hello.md</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">---</span><span class="line">title: &#34;Hello Linen&#34;</span><span class="line">date: 2026-03-28T12:00:00+08:00</span><span class="line">excerpt: &#34;A short introduction to the site.&#34;</span><span class="line">tags: [journal]</span><span class="line">---</span><span class="line"></span><span class="line">Write a concise opening paragraph, then let the typography do the rest.</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<p>Continue with <a href="/configuration-guide/">Configuration guide</a>
 to tune the homepage, site card, feed, and navigation.</p>
]]></description></item><item><title>Configuration guide</title><link>https://example.org/configuration-guide/</link><guid>https://example.org/configuration-guide/</guid><pubDate>Sat, 28 Mar 2026 23:58:00 +0800</pubDate><description><![CDATA[<h2 id="site-identity">Site identity</h2>
<p>Most visible site information lives under <code>params</code>. The example below configures the logo, author card, navigation, and feed path.</p>
<figure class="highlight">
  <figcaption><span>hugo.toml</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">[params]</span><span class="line">  description = &#34;A quiet site for notes and essays.&#34;</span><span class="line">  photoswipe = true</span><span class="line">  lazyload = true</span><span class="line"></span><span class="line">  [[params.navItems]]</span><span class="line">    name = &#34;Archives&#34;</span><span class="line">    path = &#34;/archives/&#34;</span><span class="line"></span><span class="line">  [params.logo]</span><span class="line">    src = &#34;/linen-theme/img/logo.svg&#34;</span><span class="line">    width = 225</span><span class="line">    height = 42</span><span class="line"></span><span class="line">  [params.info]</span><span class="line">    name = &#34;Hugo Linen&#34;</span><span class="line">    avatar = &#34;/linen-theme/img/vue-color-avatar.png&#34;</span><span class="line">    site_desc = &#34;Readable posts, calm spacing, and useful archives.&#34;</span><span class="line"></span><span class="line">  [params.feed]</span><span class="line">    path = &#34;/index.xml&#34;</span><span class="line">    limit = 10</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<h2 id="minimal-site-configuration">Minimal site configuration</h2>
<p>This is a compact starting point for a new site using Hugo Linen.</p>
<figure class="highlight">
  <figcaption><span>hugo.toml</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">baseURL = &#34;https://example.org/&#34;</span><span class="line">languageCode = &#34;en&#34;</span><span class="line">title = &#34;My Linen Site&#34;</span><span class="line">theme = &#34;hugo-theme-linen&#34;</span><span class="line">summaryLength = 36</span><span class="line">hasCJKLanguage = true</span><span class="line"></span><span class="line">[pagination]</span><span class="line">  pagerSize = 6</span><span class="line"></span><span class="line">[taxonomies]</span><span class="line">  tag = &#34;tags&#34;</span><span class="line">  category = &#34;categories&#34;</span><span class="line">  series = &#34;series&#34;</span><span class="line"></span><span class="line">[markup]</span><span class="line">  [markup.goldmark]</span><span class="line">    [markup.goldmark.renderer]</span><span class="line">      unsafe = true</span><span class="line">  [markup.highlight]</span><span class="line">    codeFences = true</span><span class="line">    noClasses = false</span><span class="line"></span><span class="line">[params]</span><span class="line">  description = &#34;Notes, essays, and photo-friendly posts.&#34;</span><span class="line">  photoswipe = true</span><span class="line">  lazyload = true</span><span class="line"></span><span class="line">  [params.logo]</span><span class="line">    text = &#34;My Linen Site&#34;</span><span class="line">    width = 225</span><span class="line">    height = 42</span><span class="line"></span><span class="line">  [params.info]</span><span class="line">    name = &#34;My Linen Site&#34;</span><span class="line">    avatar = &#34;/linen-theme/img/vue-color-avatar.png&#34;</span><span class="line">    site_desc = &#34;Readable posts with calm spacing.&#34;</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<h2 id="highlighted-articles">Highlighted articles</h2>
<p><code>params.topArticles</code> controls the four highlighted cards at the top of the homepage. Entries can be page references or post slugs.</p>
<figure class="highlight">
  <figcaption><span>hugo.toml</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">[params]</span><span class="line">  topArticles = [</span><span class="line">    &#34;posts/getting-started&#34;,</span><span class="line">    &#34;posts/configuration-guide&#34;,</span><span class="line">    &#34;posts/write-with-markdown&#34;,</span><span class="line">    &#34;posts/image-grid&#34;</span><span class="line">  ]</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<p>The homepage skips these highlighted posts in the latest list so readers see a broader mix of content.</p>
<h2 id="lazy-loading-and-photoswipe">Lazy loading and PhotoSwipe</h2>
<p>Images are rendered through Hugo&rsquo;s image render hook. When <code>params.lazyload</code> is enabled, images use the theme&rsquo;s placeholder and loading states. When <code>params.photoswipe</code> is enabled, content images can open in the PhotoSwipe lightbox.</p>
]]></description></item><item><title>Highlighted posts</title><link>https://example.org/highlighted-posts/</link><guid>https://example.org/highlighted-posts/</guid><pubDate>Sat, 28 Mar 2026 23:57:00 +0800</pubDate><description><![CDATA[<p>The homepage can show one large feature card and three smaller cards before the latest-post list. This is useful for onboarding articles, changelogs, or evergreen writing.</p>
<p>Configure the list with page references:</p>
<figure class="highlight">
  <figcaption><span>hugo.toml</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">[params]</span><span class="line">  topArticles = [</span><span class="line">    &#34;posts/getting-started&#34;,</span><span class="line">    &#34;posts/configuration-guide&#34;,</span><span class="line">    &#34;posts/write-with-markdown&#34;,</span><span class="line">    &#34;posts/image-grid&#34;</span><span class="line">  ]</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<p>If an entry cannot be resolved, the theme ignores it and continues with the remaining posts. Keep the list short and intentional; the layout is optimized for four valid items.</p>
]]></description></item><item><title>Write with Markdown</title><link>https://example.org/write-with-markdown/</link><guid>https://example.org/write-with-markdown/</guid><pubDate>Sat, 28 Mar 2026 23:56:00 +0800</pubDate><description><![CDATA[<p>Markdown remains the fastest way to author posts in Hugo. This page demonstrates common patterns in Hugo Linen.</p>
<h2 id="lists">Lists</h2>
<ol>
<li>Start with a direct point.</li>
<li>Keep each item focused.</li>
<li>Use paragraphs after lists when the point needs more context.</li>
</ol>
<ul>
<li>Tags support discovery.</li>
<li>Categories support broad grouping.</li>
<li>Series support ordered reading.</li>
</ul>
<h2 id="code">Code</h2>
<figure class="highlight">
  <figcaption><span>hello.go</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">package main</span><span class="line"></span><span class="line">import &#34;fmt&#34;</span><span class="line"></span><span class="line">func main() {</span><span class="line">    fmt.Println(&#34;Hello, Hugo Linen&#34;)</span><span class="line">}</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<figure class="highlight folded">
  <figcaption><span>hugo.toml</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">[params]</span><span class="line">  photoswipe = true</span><span class="line">  lazyload = true</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div><div class="fold-toggle"></div>
</figure>
<h2 id="table">Table</h2>
<table>
	<thead>
			<tr>
					<th>Feature</th>
					<th>Purpose</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Archives</td>
					<td>Browse by year, category, tag, and series</td>
			</tr>
			<tr>
					<td>Raw Markdown</td>
					<td>Compare rendered content with the source</td>
			</tr>
			<tr>
					<td>PhotoSwipe</td>
					<td>Open content images in a lightbox</td>
			</tr>
	</tbody>
</table>
<h2 id="footnote">Footnote</h2>
<p>Hugo renders footnotes through Goldmark.<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>Goldmark is Hugo&rsquo;s default Markdown renderer.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></description></item><item><title>Images and lightbox</title><link>https://example.org/image-grid/</link><guid>https://example.org/image-grid/</guid><pubDate>Sat, 28 Mar 2026 23:55:00 +0800</pubDate><description><![CDATA[<p>Hugo Linen renders Markdown images with lazy loading and PhotoSwipe support. Single images work as normal article media, while the <code>image-grid</code> shortcode groups related images into compact visual sequences.</p>
<h2 id="markdown-image">Markdown image</h2>
<p><span class="lazyload-outer-wrap" style="width: 100%;">
  <a class="gallery-item" href="/img/image-grid/landscape-1.svg" data-pswp-hassize="true" data-pswp-width="1600" data-pswp-height="900" data-cropped="true" target="_blank" rel="noopener">
    <noscript><img src="/img/image-grid/landscape-1.svg" alt="Single landscape image" width="1600" height="900" loading="lazy"></noscript>
    <span class="lazyload-wrap" data-content="%3Cimg%20src%3D%22%2Fimg%2Fimage-grid%2Flandscape-1.svg%22%20alt%3D%22Single%20landscape%20image%22%20width%3D%221600%22%20height%3D%22900%22%20loading%3D%22lazy%22%3E">
      <span class="placeholder" style="padding-bottom: 56.25000%;"></span>
    </span></a><span class="caption">Single landscape image</span>
</span>
</p>
<h2 id="landscape-grid">Landscape grid</h2>

<span class="image-grid landscape">
  <span class="grid-item"><span class="lazyload-outer-wrap" style="width: 100%;">
  <a class="gallery-item" href="/img/image-grid/landscape-1.svg" data-pswp-hassize="true" data-pswp-width="1600" data-pswp-height="900" data-cropped="true" target="_blank" rel="noopener">
    <noscript><img src="/img/image-grid/landscape-1.svg" alt="Wide panel" width="1600" height="900" loading="lazy"></noscript>
    <span class="lazyload-wrap" data-content="%3Cimg%20src%3D%22%2Fimg%2Fimage-grid%2Flandscape-1.svg%22%20alt%3D%22Wide%20panel%22%20width%3D%221600%22%20height%3D%22900%22%20loading%3D%22lazy%22%3E">
      <span class="placeholder" style="padding-bottom: 56.25000%;"></span>
    </span></a><span class="caption">Wide panel</span>
</span></span>
  <span class="grid-item"><span class="lazyload-outer-wrap" style="width: 100%;">
  <a class="gallery-item" href="/img/image-grid/landscape-2.svg" data-pswp-hassize="true" data-pswp-width="1600" data-pswp-height="900" data-cropped="true" target="_blank" rel="noopener">
    <noscript><img src="/img/image-grid/landscape-2.svg" alt="Wide blocks" width="1600" height="900" loading="lazy"></noscript>
    <span class="lazyload-wrap" data-content="%3Cimg%20src%3D%22%2Fimg%2Fimage-grid%2Flandscape-2.svg%22%20alt%3D%22Wide%20blocks%22%20width%3D%221600%22%20height%3D%22900%22%20loading%3D%22lazy%22%3E">
      <span class="placeholder" style="padding-bottom: 56.25000%;"></span>
    </span></a><span class="caption">Wide blocks</span>
</span></span>
</span>
<h2 id="portrait-grid">Portrait grid</h2>

<span class="image-grid portrait">
  <span class="grid-item"><span class="lazyload-outer-wrap" style="width: 100%;">
  <a class="gallery-item" href="/img/image-grid/portrait-1.svg" data-pswp-hassize="true" data-pswp-width="900" data-pswp-height="1200" data-cropped="true" target="_blank" rel="noopener">
    <noscript><img src="/img/image-grid/portrait-1.svg" alt="Tall card" width="900" height="1200" loading="lazy"></noscript>
    <span class="lazyload-wrap" data-content="%3Cimg%20src%3D%22%2Fimg%2Fimage-grid%2Fportrait-1.svg%22%20alt%3D%22Tall%20card%22%20width%3D%22900%22%20height%3D%221200%22%20loading%3D%22lazy%22%3E">
      <span class="placeholder" style="padding-bottom: 133.33333%;"></span>
    </span></a><span class="caption">Tall card</span>
</span></span>
  <span class="grid-item"><span class="lazyload-outer-wrap" style="width: 100%;">
  <a class="gallery-item" href="/img/image-grid/portrait-2.svg" data-pswp-hassize="true" data-pswp-width="900" data-pswp-height="1200" data-cropped="true" target="_blank" rel="noopener">
    <noscript><img src="/img/image-grid/portrait-2.svg" alt="Tall hills" width="900" height="1200" loading="lazy"></noscript>
    <span class="lazyload-wrap" data-content="%3Cimg%20src%3D%22%2Fimg%2Fimage-grid%2Fportrait-2.svg%22%20alt%3D%22Tall%20hills%22%20width%3D%22900%22%20height%3D%221200%22%20loading%3D%22lazy%22%3E">
      <span class="placeholder" style="padding-bottom: 133.33333%;"></span>
    </span></a><span class="caption">Tall hills</span>
</span></span>
  <span class="grid-item"><span class="lazyload-outer-wrap" style="width: 100%;">
  <a class="gallery-item" href="/img/image-grid/portrait-3.svg" data-pswp-hassize="true" data-pswp-width="900" data-pswp-height="1200" data-cropped="true" target="_blank" rel="noopener">
    <noscript><img src="/img/image-grid/portrait-3.svg" alt="Tall leaf" width="900" height="1200" loading="lazy"></noscript>
    <span class="lazyload-wrap" data-content="%3Cimg%20src%3D%22%2Fimg%2Fimage-grid%2Fportrait-3.svg%22%20alt%3D%22Tall%20leaf%22%20width%3D%22900%22%20height%3D%221200%22%20loading%3D%22lazy%22%3E">
      <span class="placeholder" style="padding-bottom: 133.33333%;"></span>
    </span></a><span class="caption">Tall leaf</span>
</span></span>
</span>
<h2 id="mixed-ratios">Mixed ratios</h2>
<p>The shortcode supports <code>r73</code>, <code>r37</code>, <code>r64</code>, and <code>r46</code> for two-image mixed layouts.</p>

<span class="image-grid r73">
  <span class="grid-item"><span class="lazyload-outer-wrap" style="width: 100%;">
  <a class="gallery-item" href="/img/image-grid/landscape-1.svg" data-pswp-hassize="true" data-pswp-width="1600" data-pswp-height="900" data-cropped="true" target="_blank" rel="noopener">
    <noscript><img src="/img/image-grid/landscape-1.svg" alt="Wide sample" width="1600" height="900" loading="lazy"></noscript>
    <span class="lazyload-wrap" data-content="%3Cimg%20src%3D%22%2Fimg%2Fimage-grid%2Flandscape-1.svg%22%20alt%3D%22Wide%20sample%22%20width%3D%221600%22%20height%3D%22900%22%20loading%3D%22lazy%22%3E">
      <span class="placeholder" style="padding-bottom: 56.25000%;"></span>
    </span></a><span class="caption">Wide sample</span>
</span></span>
  <span class="grid-item"><span class="lazyload-outer-wrap" style="width: 100%;">
  <a class="gallery-item" href="/img/image-grid/portrait-2.svg" data-pswp-hassize="true" data-pswp-width="900" data-pswp-height="1200" data-cropped="true" target="_blank" rel="noopener">
    <noscript><img src="/img/image-grid/portrait-2.svg" alt="Tall sample" width="900" height="1200" loading="lazy"></noscript>
    <span class="lazyload-wrap" data-content="%3Cimg%20src%3D%22%2Fimg%2Fimage-grid%2Fportrait-2.svg%22%20alt%3D%22Tall%20sample%22%20width%3D%22900%22%20height%3D%221200%22%20loading%3D%22lazy%22%3E">
      <span class="placeholder" style="padding-bottom: 133.33333%;"></span>
    </span></a><span class="caption">Tall sample</span>
</span></span>
</span>

<span class="image-grid r37">
  <span class="grid-item"><span class="lazyload-outer-wrap" style="width: 100%;">
  <a class="gallery-item" href="/img/image-grid/portrait-1.svg" data-pswp-hassize="true" data-pswp-width="900" data-pswp-height="1200" data-cropped="true" target="_blank" rel="noopener">
    <noscript><img src="/img/image-grid/portrait-1.svg" alt="Tall sample" width="900" height="1200" loading="lazy"></noscript>
    <span class="lazyload-wrap" data-content="%3Cimg%20src%3D%22%2Fimg%2Fimage-grid%2Fportrait-1.svg%22%20alt%3D%22Tall%20sample%22%20width%3D%22900%22%20height%3D%221200%22%20loading%3D%22lazy%22%3E">
      <span class="placeholder" style="padding-bottom: 133.33333%;"></span>
    </span></a><span class="caption">Tall sample</span>
</span></span>
  <span class="grid-item"><span class="lazyload-outer-wrap" style="width: 100%;">
  <a class="gallery-item" href="/img/image-grid/landscape-2.svg" data-pswp-hassize="true" data-pswp-width="1600" data-pswp-height="900" data-cropped="true" target="_blank" rel="noopener">
    <noscript><img src="/img/image-grid/landscape-2.svg" alt="Wide sample" width="1600" height="900" loading="lazy"></noscript>
    <span class="lazyload-wrap" data-content="%3Cimg%20src%3D%22%2Fimg%2Fimage-grid%2Flandscape-2.svg%22%20alt%3D%22Wide%20sample%22%20width%3D%221600%22%20height%3D%22900%22%20loading%3D%22lazy%22%3E">
      <span class="placeholder" style="padding-bottom: 56.25000%;"></span>
    </span></a><span class="caption">Wide sample</span>
</span></span>
</span>
<h2 id="unknown-size-images">Unknown-size images</h2>
<p>External or migrated image URLs may not have dimensions available during the Hugo build. The theme measures those images in the browser before PhotoSwipe opens them.</p>
]]></description></item><item><title>RSS feed</title><link>https://example.org/rss/</link><guid>https://example.org/rss/</guid><pubDate>Sat, 28 Mar 2026 23:54:00 +0800</pubDate><description><![CDATA[<p>Hugo Linen uses Hugo&rsquo;s RSS output and adds a themed XSL stylesheet for a more readable browser view.</p>
<p>Enable RSS output in the site configuration:</p>
<figure class="highlight">
  <figcaption><span>hugo.toml</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">[outputs]</span><span class="line">  home = [&#34;HTML&#34;, &#34;RSS&#34;]</span><span class="line">  section = [&#34;HTML&#34;, &#34;RSS&#34;]</span><span class="line">  taxonomy = [&#34;HTML&#34;, &#34;RSS&#34;]</span><span class="line">  term = [&#34;HTML&#34;, &#34;RSS&#34;]</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<p>Then configure the feed metadata:</p>
<figure class="highlight">
  <figcaption><span>hugo.toml</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">[params.feed]</span><span class="line">  path = &#34;/index.xml&#34;</span><span class="line">  limit = 10</span><span class="line">  icon = &#34;/linen-theme/favicon.svg&#34;</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<p>The feed link in the header uses <code>params.feed.path</code>, so it can point to Hugo&rsquo;s default <code>/index.xml</code> or to a custom output filename.</p>
]]></description></item><item><title>Comments</title><link>https://example.org/comments/</link><guid>https://example.org/comments/</guid><pubDate>Sat, 28 Mar 2026 23:53:00 +0800</pubDate><description><![CDATA[<p>The theme includes Gitalk integration hooks, but the example site keeps comments disabled. A real site should provide its own GitHub OAuth application and repository settings.</p>
<figure class="highlight">
  <figcaption><span>hugo.toml</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">[params.comment]</span><span class="line">  enable = false</span><span class="line">  client_id = &#34;&#34;</span><span class="line">  client_secret = &#34;&#34;</span><span class="line">  repo = &#34;&#34;</span><span class="line">  owner = &#34;&#34;</span><span class="line">  admin = &#34;&#34;</span><span class="line">  pager_direction = &#34;last&#34;</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<p>When comments are disabled, the theme simply skips the comment container. This keeps the example site buildable without external credentials.</p>
]]></description></item><item><title>Front matter reference</title><link>https://example.org/front-matter/</link><guid>https://example.org/front-matter/</guid><pubDate>Sat, 28 Mar 2026 23:52:00 +0800</pubDate><description><![CDATA[<h2 id="common-fields">Common fields</h2>
<figure class="highlight">
  <figcaption><span>Post front matter</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">title: Front matter reference</span><span class="line">date: 2026-03-28T23:52:00+08:00</span><span class="line">excerpt: A short summary for cards, feeds, and metadata.</span><span class="line">categories: Reference</span><span class="line">tags: [front-matter, reference]</span><span class="line">series: Theme Guide</span><span class="line">cover: /linen-theme/img/pattern-randomized.jpg</span><span class="line">appendRawMarkdown: true</span><span class="line">tocType: flat</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<p><code>excerpt</code> controls card summaries. <code>cover</code> and <code>thumbnail</code> provide visual context. <code>series</code> connects posts into a series taxonomy.</p>
<h2 id="visibility-controls">Visibility controls</h2>
<figure class="highlight">
  <figcaption><span>Hide from lists</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">hide:</span><span class="line">  recent: true</span><span class="line">  archive: true</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
<p>These options hide a post from the homepage latest list or archive counts while keeping the page available at its permalink.</p>
<h2 id="inline-comments">Inline comments</h2>
<p>This sentence contains an inline note that appears on hover.</p>
<figure class="highlight">
  <figcaption><span>customComments</span></figcaption>
  <table><tbody><tr><td class="code"><pre><span class="line">customComments:</span><span class="line">  - text: &#34;inline note&#34;</span><span class="line">    comment: &#34;This text uses the customComments front matter option.&#34;</span></pre></td></tr></tbody></table>
  <div class="copy-btn"></div>
</figure>
]]></description></item><item><title>Long-form sample</title><link>https://example.org/sample/</link><guid>https://example.org/sample/</guid><pubDate>Sat, 28 Mar 2026 23:51:00 +0800</pubDate><description><![CDATA[<p>Good blog themes stay quiet while the article does the work. Hugo Linen keeps line length, spacing, and metadata compact so readers can scan a post without losing the rhythm of longer paragraphs.</p>
<p>The sample text below is intentionally plain. It tests body copy, headings, blockquotes, lists, and repeated sections without bringing in external demo content.</p>
<h2 id="a-measured-pace">A measured pace</h2>
<p>Readable pages need room to breathe, but they also need enough density for repeated use. Linen&rsquo;s cards are compact on index pages, while post pages use a calmer column with clear headings and enough contrast for code and captions.</p>
<blockquote>
<p>A theme should make the next sentence easy to find.</p>
</blockquote>
<h3 id="notes">Notes</h3>
<ul>
<li>Keep excerpts short.</li>
<li>Use covers when they add context.</li>
<li>Prefer a small number of meaningful tags.</li>
</ul>
<h2 id="another-section">Another section</h2>
<p>The archive, taxonomy, and series views reuse the same article card language. This keeps the site predictable: a reader can move from a homepage card to an archive entry and still understand the same metadata pattern.</p>
<p>Longer sites benefit from this consistency. The visual system does not need many decorative states; it needs reliable spacing, stable links, and useful fallback behavior when a post has no image.</p>
]]></description></item></channel></rss>