<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>spectrum on jwogrady</title>
		<link>https://www.jwogrady.com/tags/spectrum/</link>
		<description>Recent content in spectrum on jwogrady</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Mon, 21 Sep 2026 16:30:00 -0500</lastBuildDate>
		
			<atom:link href="https://www.jwogrady.com/tags/spectrum/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>The fix that deletes its own evidence</title>
				<link>https://www.jwogrady.com/posts/the-fix-that-deletes-its-evidence/</link>
				<pubDate>Mon, 21 Sep 2026 16:30:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/the-fix-that-deletes-its-evidence/</guid>
				<description>&lt;p&gt;If you have ever fixed something, watched the test go green, and had a small&#xA;unplaceable feeling that the green was too easy —&lt;/p&gt;&#xA;&lt;p&gt;hold that. It&amp;rsquo;s the good instinct and this entry is about the mechanism&#xA;behind it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-happened&#34;&gt;What happened&lt;/h2&gt;&#xA;&lt;p&gt;Earlier today I reviewed a release of the theme this site runs on. One of its&#xA;features: when an entry has no &lt;code&gt;claim&lt;/code&gt; — the short assertive line that shows&#xA;under a title in the index — fall back to the &lt;code&gt;description&lt;/code&gt; rather than&#xA;leaving the row bare.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Four releases for the person before the business had one</title>
				<link>https://www.jwogrady.com/posts/personal-brand-first/</link>
				<pubDate>Mon, 21 Sep 2026 10:45:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/personal-brand-first/</guid>
				<description>&lt;p&gt;If you have ever gone back to something you wrote a few weeks ago about your&#xA;own plan, and found it describing a plan you no longer have —&lt;/p&gt;&#xA;&lt;p&gt;yes. That one. Let&amp;rsquo;s talk about that.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-i-would-have-told-you-yesterday&#34;&gt;What I would have told you yesterday&lt;/h2&gt;&#xA;&lt;p&gt;I have two Hugo themes. A theme, if you haven&amp;rsquo;t met one, is the design layer:&#xA;it decides what a page looks like and leaves the writing alone.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The feature I chose the theme for does not work on one post</title>
				<link>https://www.jwogrady.com/posts/colour-needs-repetition/</link>
				<pubDate>Sun, 20 Sep 2026 16:57:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/colour-needs-repetition/</guid>
				<description>&lt;p&gt;The index colours every subject by how often it&amp;rsquo;s used, so a table of fifty&#xA;entries is legible as a field before you&amp;rsquo;ve read a word of it. That&amp;rsquo;s why I&#xA;picked this theme.&lt;/p&gt;&#xA;&lt;p&gt;With one post and three tags it rendered flat grey, and I assumed I&amp;rsquo;d&#xA;misconfigured something.&lt;/p&gt;&#xA;&lt;p&gt;I hadn&amp;rsquo;t. Reading the partial explained it in about four lines:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-go-html-template&#34; data-lang=&#34;go-html-template&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;{{&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$counts&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;slice&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;}}&lt;/span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;{{/* distinct counts, ascending */}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;{{&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$bands&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;len&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$counts&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;{{&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$hue&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;div&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;mul&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;mul&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;.0&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$span&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;float&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$b&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;))&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;float&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$bands&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;One band per &lt;strong&gt;distinct count&lt;/strong&gt; — not per tag. Hue is the band&amp;rsquo;s index spread&#xA;around the wheel, and the top band goes white. Three tags used once each is&#xA;&lt;em&gt;one&lt;/em&gt; band: one hue, and it&amp;rsquo;s the apex, so it&amp;rsquo;s white. Nothing was broken.&#xA;There was simply nothing to distinguish.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A theme that refuses to build, and why I came around to it</title>
				<link>https://www.jwogrady.com/posts/theme-that-refuses/</link>
				<pubDate>Sun, 20 Sep 2026 16:46:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/theme-that-refuses/</guid>
				<description>&lt;p&gt;The theme hard-fails with no &lt;code&gt;timeZone&lt;/code&gt; in config. Not a warning — a failed&#xA;build, on a line I hadn&amp;rsquo;t written yet.&lt;/p&gt;&#xA;&lt;p&gt;My first reaction was irritation, and I want to record that honestly, because&#xA;I&amp;rsquo;ve been on the other side of this argument. A library that refuses to start&#xA;over a missing config line is infuriating in the moment.&lt;/p&gt;&#xA;&lt;p&gt;Then I worked out what it&amp;rsquo;s preventing. Unset, Hugo uses the build machine&amp;rsquo;s&#xA;zone. An entry filed at 00:17 UTC is September 20 on a CI runner and September&#xA;19 on my laptop. The same commit produces two different sites, and an entry&#xA;gets filed under a day its own archive page doesn&amp;rsquo;t cover.&lt;/p&gt;</description>
			</item>
			<item>
				<title>I installed the theme and the theme did not appear</title>
				<link>https://www.jwogrady.com/posts/project-layouts-shadow-theme/</link>
				<pubDate>Sun, 20 Sep 2026 16:42:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/project-layouts-shadow-theme/</guid>
				<description>&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ git submodule add https://github.com/jwogrady/hugo-spectrum themes/hugo-spectrum&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Submodule rather than Hugo Modules, because Modules wants a &lt;code&gt;go.mod&lt;/code&gt; and this&#xA;theme doesn&amp;rsquo;t ship one. The submodule pins a commit, which means a checkout a&#xA;year from now builds the same site as today. I like that property a lot.&lt;/p&gt;&#xA;&lt;p&gt;Then I rebuilt and got my own handmade templates back.&lt;/p&gt;&#xA;&lt;p&gt;The scaffold &lt;code&gt;baseof.html&lt;/code&gt; and &lt;code&gt;page.html&lt;/code&gt; I&amp;rsquo;d written an hour earlier were&#xA;still sitting in &lt;code&gt;layouts/&lt;/code&gt;, and &lt;strong&gt;a project file at the same path beats the&#xA;theme&amp;rsquo;s entirely.&lt;/strong&gt; Not merged, not layered — replaced. Five files were&#xA;quietly overriding a theme I&amp;rsquo;d just installed, and the build was perfectly&#xA;happy about it.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Every tutorial I can find predates the directory I need</title>
				<link>https://www.jwogrady.com/posts/layouts-moved/</link>
				<pubDate>Sun, 20 Sep 2026 16:38:00 -0500</pubDate>
				<guid>https://www.jwogrady.com/posts/layouts-moved/</guid>
				<description>&lt;p&gt;Almost every Hugo tutorial says to put templates in &lt;code&gt;layouts/_default/&lt;/code&gt;.&#xA;Almost every Hugo tutorial is describing a structure that changed in &lt;strong&gt;0.146&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Tutorials say&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Actually&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;layouts/_default/baseof.html&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;layouts/baseof.html&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;layouts/_default/single.html&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;layouts/page.html&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;layouts/_default/list.html&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;layouts/list.html&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;layouts/partials/&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;layouts/_partials/&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s what makes this genuinely nasty rather than merely annoying:&#xA;&lt;code&gt;_default/&lt;/code&gt; still works. Follow a three-year-old tutorial and you get a site&#xA;that builds, renders and looks fine. Nothing anywhere tells you that you&amp;rsquo;ve&#xA;just learned a structure on its way out.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
