post: shipping an AI photo editor as a WordPress plugin (case study, EN+ZH, og+banner)
Deploy / build (push) Successful in 20s

This commit is contained in:
2026-09-18 01:31:46 +08:00
parent cdc3475f61
commit 937a114e30
6 changed files with 536 additions and 1 deletions
+18
View File
@@ -342,6 +342,24 @@ const BANNERS = {
],
},
'shipping-an-ai-photo-editor-as-a-wordpress-plugin': {
titlebar: 'wp-admin — AI Remix Photo plugin',
lines: [
{ t: 'prompt', text: '$' }, { t: 'cmd', text: 'wp plugin list · hre-ai-remix 0.0.1 → 0.0.22' },
{ t: 'err', text: '404 …/v1admin/photos — rest_url() has no trailing slash' },
{ t: 'dim', text: 'routes in is_admin() ✗ · watermark silent-fallback ✗' },
{ t: 'prompt', text: '$' }, { t: 'cmd', text: "join REST with '/admin/…' · log root cause · warn admin" },
{ t: 'prompt', text: '' }, { t: 'ok', text: '→ 22 releases · 58 commits · 4 were the AI ✓' },
],
flow: [
{ n: '1', label: 'PoC → plugin' },
{ n: '2', label: 'v1admin 404', err: true },
{ n: '3', label: 'silent watermark', err: true },
{ n: '4', label: 'server-side gates' },
{ n: '5', label: '0.0.22 ✓' },
],
},
'best-ai-video-generators-2026': {
titlebar: '~/blog — AI video free vs paid 2026',
lines: [
+6 -1
View File
@@ -139,7 +139,12 @@ const TERMINALS = {
<div class="line"><span class="prompt">$</span><span class="cmd">curl -X POST :20015/memories · X-Api-Key</span></div>
<div class="line"><span class="prompt">&nbsp;</span><span class="err">infer=true → LLM hop · slow write</span></div>
<div class="line"><span class="prompt">$</span><span class="cmd">infer=false · pgvector · LiteLLM gateway</span><span class="fix">→ remembers across chats ✓</span></div>`,
};
'shipping-an-ai-photo-editor-as-a-wordpress-plugin': `
<div class="line"><span class="prompt">$</span><span class="cmd">wp plugin list · hre-ai-remix 0.0.1 → 0.0.22</span></div>
<div class="line"><span class="prompt">&nbsp;</span><span class="err">404 …/wp-json/hre/v1<span class="hl">admin</span>/photos — rest_url() has no trailing slash</span></div>
<div class="line"><span class="prompt">$</span><span class="cmd">fix = '/admin/…' · 58 commits · 4 were the AI</span><span class="fix">→ shipped ✓</span></div>`,
};
const DEFAULT_TERMINAL = `
<div class="line"><span class="prompt">$</span><span class="cmd">engineering · devops · self-hosting</span></div>