<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sapiator Editor &#8211; Sapiator</title>
	<atom:link href="https://sapiator.com/author/sapiator-editor/feed/" rel="self" type="application/rss+xml" />
	<link>https://sapiator.com</link>
	<description>Notes, essays, and experiments.</description>
	<lastBuildDate>Wed, 19 Aug 2026 18:46:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>
	<item>
		<title>Building a Private-to-Static WordPress Workflow</title>
		<link>https://sapiator.com/building-a-private-to-static-wordpress-workflow/</link>
		
		<dc:creator><![CDATA[Sapiator Editor]]></dc:creator>
		<pubDate>Wed, 19 Aug 2026 13:59:23 +0000</pubDate>
				<category><![CDATA[Homelab]]></category>
		<category><![CDATA[Static Publishing]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://sapiator.com/?p=13</guid>

					<description><![CDATA[A practical private-editing and static-publishing workflow for a small WordPress blog.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">A private WordPress editor and a static public site can provide a comfortable writing workflow without exposing the CMS to the internet.</p>



<h2 class="wp-block-heading">Why separate editing from publishing?</h2>



<p class="wp-block-paragraph">The editing origin keeps drafts, media, accounts, and database access on the protected network. The generated artifact contains only files a public reader needs.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="800" height="450" src="https://sapiator.com/wp-content/uploads/2026/08/private-static-workflow-inline.png" alt="Purple grid crossed by bright lime guide lines." class="wp-image-15" srcset="https://sapiator.com/wp-content/uploads/2026/08/private-static-workflow-inline.png 800w, https://sapiator.com/wp-content/uploads/2026/08/private-static-workflow-inline-300x169.png 300w, https://sapiator.com/wp-content/uploads/2026/08/private-static-workflow-inline-768x432.png 768w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">A generated test image used to verify inline-media export.</figcaption></figure>



<h2 class="wp-block-heading">The bounded publishing loop</h2>



<ol class="wp-block-list"><li>Write and preview privately.</li><li>Generate a fresh static artifact.</li><li>Validate links, assets, and secrets before deployment.</li></ol>



<pre class="wp-block-code"><code>generate -&gt; validate -&gt; canary -&gt; approve -&gt; publish</code></pre>



<p class="wp-block-paragraph">This acceptance post is deliberately small, but it exercises headings, metadata, taxonomy, images, lists, code, feeds, archives, and URL rewriting.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
