<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Hugo on DevOpsTales</title>
    <link>https://devopstales.github.io/tags/hugo/</link>
    <description>Recent content in Hugo on DevOpsTales</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Thu, 10 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://devopstales.github.io/tags/hugo/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>GFM vs CommonMark vs Pandoc Markdown: Which Syntax Travels?</title>
      <link>https://devopstales.github.io/hugo/markdown-dialects-compared/</link>
      <pubDate>Thu, 10 Sep 2026 00:00:00 +0000</pubDate>
      
      <guid>https://devopstales.github.io/hugo/markdown-dialects-compared/</guid>
      <description>The same Markdown file renders differently on GitHub, Hugo, Obsidian, and Pandoc — not because Markdown is unreliable, but because &ldquo;Markdown&rdquo; names a family of syntaxes, parsers, and platform features. CommonMark defines the portable core, GFM adds software-collaboration extensions, and Pandoc Markdown expands into a full document language.
</description>
      <enclosure url="https://devopstales.github.io/img/markdown-dialects-compared-icon.webp" length="4762" type="image/png" />
    </item>
    
    <item>
      <title>GitLab CI to GitHub Pages for a Hugo Blog</title>
      <link>https://devopstales.github.io/hugo/gitlab-ci-to-github-pages-hugo/</link>
      <pubDate>Mon, 03 Aug 2026 00:00:00 +0000</pubDate>
      
      <guid>https://devopstales.github.io/hugo/gitlab-ci-to-github-pages-hugo/</guid>
      <description>This blog’s source of truth and CI live on GitLab. The public site is served from GitHub Pages at devopstales.github.io. Hugo builds in a container, the job writes into a separate Pages repository, and readers never see GitLab’s job logs—only the static tree.
</description>
      <enclosure url="https://devopstales.github.io/img/hugo.webp" length="3684" type="image/png" />
    </item>
    
    <item>
      <title>Hugo Search with Algolia and GitLab CI</title>
      <link>https://devopstales.github.io/hugo/hugo-algolia-gitlab-ci/</link>
      <pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate>
      
      <guid>https://devopstales.github.io/hugo/hugo-algolia-gitlab-ci/</guid>
      <description>Roadster’s default sidebar search sends queries to Google (or DuckDuckGo) with a site filter. That works until the corpus is large and you want typo tolerance, facets by section/tags, and results that stay on your domain. Algolia hosts the index; Hugo emits a JSON dump at build time; atomic-algolia pushes only the diff from GitLab CI after hugo succeeds.
</description>
      <enclosure url="https://devopstales.github.io/img/hugo.webp" length="3684" type="image/png" />
    </item>
    
    <item>
      <title>Image Pipeline: WebP, Lazy Load, and Medium Zoom</title>
      <link>https://devopstales.github.io/hugo/hugo-image-pipeline-webp-lazy-zoom/</link>
      <pubDate>Wed, 22 Jul 2026 00:00:00 +0000</pubDate>
      
      <guid>https://devopstales.github.io/hugo/hugo-image-pipeline-webp-lazy-zoom/</guid>
      <description>Images are usually the heaviest part of a technical post. The pipeline on this site is deliberately small: convert assets to WebP, reference them from Markdown, let a Goldmark render hook add lazy-loading attributes, and initialize Medium Zoom for click-to-enlarge.
</description>
      <enclosure url="https://devopstales.github.io/img/hugo.webp" length="3684" type="image/png" />
    </item>
    
    <item>
      <title>Hugo robots.txt Generation</title>
      <link>https://devopstales.github.io/hugo/hugo-robots-txt/</link>
      <pubDate>Thu, 16 Jul 2026 00:00:00 +0000</pubDate>
      
      <guid>https://devopstales.github.io/hugo/hugo-robots-txt/</guid>
      <description>Crawlers still look for /robots.txt before they dig through your tree. Hugo can generate that file at build time from a template, so the Sitemap URL always matches your baseURL and you can add allow/disallow rules without maintaining a hand-copied static file.
</description>
      <enclosure url="https://devopstales.github.io/img/hugo.webp" length="3684" type="image/png" />
    </item>
    
    <item>
      <title>Hugo SEO on a Multi-Section Blog</title>
      <link>https://devopstales.github.io/hugo/hugo-seo/</link>
      <pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate>
      
      <guid>https://devopstales.github.io/hugo/hugo-seo/</guid>
      <description>Search and social previews on a Hugo blog are mostly template work: consistent titles, a real summary, a thumbnail, Open Graph / Twitter tags, structured data, and a sitemap. DevOpsTales does that in layouts/_default/baseof.html plus a JSON-LD partial—no SEO plugin required.
</description>
      <enclosure url="https://devopstales.github.io/img/hugo.webp" length="3684" type="image/png" />
    </item>
    
    <item>
      <title>Coffeebox and Buy Me a Coffee on Hugo</title>
      <link>https://devopstales.github.io/hugo/hugo-coffeebox-buy-me-a-coffee/</link>
      <pubDate>Sat, 27 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://devopstales.github.io/hugo/hugo-coffeebox-buy-me-a-coffee/</guid>
      <description>Technical blogs rarely need a paywall. A clear, optional support CTA is enough. DevOpsTales uses a per-post coffeebox partial plus a floating Buy Me a Coffee widget in the footer so readers can tip without leaving the page chrome.
</description>
      <enclosure url="https://devopstales.github.io/img/hugo.webp" length="3684" type="image/png" />
    </item>
    
    <item>
      <title>Hugo Comments Using GitHub Issues</title>
      <link>https://devopstales.github.io/hugo/hugo-comments-github-issues/</link>
      <pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://devopstales.github.io/hugo/hugo-comments-github-issues/</guid>
      <description>Disqus-style comment SaaS is heavy for a static blog. Utterances stores each discussion as a GitHub Issue, loads a small client script, and authenticates with GitHub. DevOpsTales wires it through a partial and a per-post disable_comments flag.
</description>
      <enclosure url="https://devopstales.github.io/img/hugo.webp" length="3684" type="image/png" />
    </item>
    
    <item>
      <title>Hugo RSS and Atom Feeds</title>
      <link>https://devopstales.github.io/hugo/hugo-rss-and-atom-feeds/</link>
      <pubDate>Wed, 03 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://devopstales.github.io/hugo/hugo-rss-and-atom-feeds/</guid>
      <description>RSS and Atom are still how a lot of readers and tools discover new posts. Hugo can emit both from the same content tree. On DevOpsTales the site ships classic RSS plus Atom via the hugo-atom-feed component theme, with a custom Atom template that skips the filedir partial section.
</description>
      <enclosure url="https://devopstales.github.io/img/hugo.webp" length="3684" type="image/png" />
    </item>
    
    <item>
      <title>Hugo llms.txt and Plain-Text Output for AI Agents on GitHub Pages</title>
      <link>https://devopstales.github.io/hugo/hugo-llms-txt-and-plaintext-output/</link>
      <pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://devopstales.github.io/hugo/hugo-llms-txt-and-plaintext-output/</guid>
      <description>HTML is fine for humans in a browser. For AI agents it is often a pile of navigation, scripts, sidebars, and chrome wrapped around the few paragraphs that actually matter. If you run a technical Hugo site, you can serve a clean text sibling of every post plus a site-wide llms.txt index so agents skip the HTML tax.
</description>
      <enclosure url="https://devopstales.github.io/img/hugo.webp" length="3684" type="image/png" />
    </item>
    
  </channel>
</rss>
