<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Architecture Documentation on Rocasta Dot Com</title><link>https://www.rocasta.com/arch/</link><description>Recent content in Architecture Documentation on Rocasta Dot Com</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 07 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.rocasta.com/arch/index.xml" rel="self" type="application/rss+xml"/><item><title>Architecture Overview</title><link>https://www.rocasta.com/arch/architecture/</link><pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate><guid>https://www.rocasta.com/arch/architecture/</guid><description>&lt;div class="paragraph"&gt;
&lt;p&gt;This document describes the architecture of the rocasta.com static site.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_technology_stack"&gt;&lt;a class="anchor" href="#_technology_stack"&gt;&lt;/a&gt;Technology Stack&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="ulist"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Static Site Generator:&lt;/strong&gt; Hugo (Extended) v0.164+&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Theme:&lt;/strong&gt; PaperMod&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Content Format:&lt;/strong&gt; AsciiDoc (processed by Asciidoctor)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Deployment:&lt;/strong&gt; GitHub Pages via GitHub Actions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Local Development:&lt;/strong&gt; Hugo development server with live reload&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_directory_structure"&gt;&lt;a class="anchor" href="#_directory_structure"&gt;&lt;/a&gt;Directory Structure&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;table class="tableblock frame-all grid-all stretch"&gt;
&lt;colgroup&gt;
&lt;col style="width: 50%;"/&gt;
&lt;col style="width: 50%;"/&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th class="tableblock halign-left valign-top"&gt;Path&lt;/th&gt;
&lt;th class="tableblock halign-left valign-top"&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="tableblock halign-left valign-top"&gt;&lt;p class="tableblock"&gt;&lt;code&gt;content/posts/&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class="tableblock halign-left valign-top"&gt;&lt;p class="tableblock"&gt;Blog posts in AsciiDoc&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="tableblock halign-left valign-top"&gt;&lt;p class="tableblock"&gt;&lt;code&gt;content/arch/&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class="tableblock halign-left valign-top"&gt;&lt;p class="tableblock"&gt;Architecture and build documentation&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="tableblock halign-left valign-top"&gt;&lt;p class="tableblock"&gt;&lt;code&gt;content/about.md&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class="tableblock halign-left valign-top"&gt;&lt;p class="tableblock"&gt;About page&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="tableblock halign-left valign-top"&gt;&lt;p class="tableblock"&gt;&lt;code&gt;static/images/&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class="tableblock halign-left valign-top"&gt;&lt;p class="tableblock"&gt;Static images served at &lt;code&gt;/images/&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="tableblock halign-left valign-top"&gt;&lt;p class="tableblock"&gt;&lt;code&gt;themes/PaperMod/&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class="tableblock halign-left valign-top"&gt;&lt;p class="tableblock"&gt;Git submodule for theme&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="tableblock halign-left valign-top"&gt;&lt;p class="tableblock"&gt;&lt;code&gt;public/&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class="tableblock halign-left valign-top"&gt;&lt;p class="tableblock"&gt;Built site output (gitignored)&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;</description></item><item><title>Design Guide</title><link>https://www.rocasta.com/arch/design-guide/</link><pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate><guid>https://www.rocasta.com/arch/design-guide/</guid><description>&lt;div class="paragraph"&gt;
&lt;p&gt;This document explains the design decisions behind the site.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_why_hugo_over_jekyll"&gt;&lt;a class="anchor" href="#_why_hugo_over_jekyll"&gt;&lt;/a&gt;Why Hugo over Jekyll&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;The site was originally built with Jekyll 4.4.1 + Chirpy theme. It was migrated to Hugo + PaperMod for the following reasons:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="sect2"&gt;
&lt;h3 id="_ruby_version_incompatibility"&gt;&lt;a class="anchor" href="#_ruby_version_incompatibility"&gt;&lt;/a&gt;Ruby Version Incompatibility&lt;/h3&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Jekyll’s dependency chain (specifically the &lt;code&gt;jekyll-theme-chirpy&lt;/code&gt; gem) requires Ruby &lt;code&gt;~&amp;gt; 3.1&lt;/code&gt;. Modern systems ship with Ruby 4.x, requiring a version manager (&lt;code&gt;chruby&lt;/code&gt;, &lt;code&gt;rbenv&lt;/code&gt;) to build locally. Hugo is a single Go binary with no runtime dependencies.&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>Build Guide</title><link>https://www.rocasta.com/arch/build-guide/</link><pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate><guid>https://www.rocasta.com/arch/build-guide/</guid><description>&lt;div class="paragraph"&gt;
&lt;p&gt;Step-by-step instructions to build and maintain a Hugo + PaperMod + AsciiDoc static site on GitHub Pages.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_prerequisites"&gt;&lt;a class="anchor" href="#_prerequisites"&gt;&lt;/a&gt;Prerequisites&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="ulist"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Homebrew (macOS) or equivalent package manager&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Git&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hugo Extended (installed via Homebrew)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="rouge highlight"&gt;&lt;code data-lang="sh"&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;hugo
hugo version&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Verify the output includes &lt;code&gt;extended&lt;/code&gt;:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="literalblock"&gt;
&lt;div class="content"&gt;
&lt;pre&gt;hugo v0.164.0+extended ...&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_asciidoctor"&gt;&lt;a class="anchor" href="#_asciidoctor"&gt;&lt;/a&gt;Asciidoctor&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Hugo requires &lt;code&gt;asciidoctor&lt;/code&gt; to process &lt;code&gt;.adoc&lt;/code&gt; files:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="rouge highlight"&gt;&lt;code data-lang="sh"&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;asciidoctor
gem &lt;span class="nb"&gt;install &lt;/span&gt;asciidoctor&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Verify:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="literalblock"&gt;
&lt;div class="content"&gt;
&lt;pre&gt;asciidoctor --version&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_project_setup"&gt;&lt;a class="anchor" href="#_project_setup"&gt;&lt;/a&gt;Project Setup&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="sect2"&gt;
&lt;h3 id="_create_a_new_site"&gt;&lt;a class="anchor" href="#_create_a_new_site"&gt;&lt;/a&gt;Create a New Site&lt;/h3&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="rouge highlight"&gt;&lt;code data-lang="sh"&gt;hugo new site my-site
&lt;span class="nb"&gt;cd &lt;/span&gt;my-site&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;</description></item></channel></rss>