Internal Tools

Admin Panel

Draft markdown front matter, review manifest stats, and keep the blog pipeline unblocked without touching half a dozen files manually.

Open Blog

Post Stats

Loading…
Total
—
Published
—
Drafts
—
Standalones
—

Workflow Checklist

  1. Write content under blog/content/<slug>.md.
  2. Run npm run build:blog to regenerate listings, RSS, and manifests.
  3. Review diffs (especially blog/index.html) and commit.
  4. Deploy, then bump ver in script.js if needed.

Fallback

Manual Overrides

Use these steps if the admin panel is down or GitHub auth is failing.

Blog Creation
  1. Create blog/content/<slug>.md with front matter (see README example).
  2. Add any card/hero images under images/blog/ or reference full URLs.
  3. Commit and push; let hosting rebuild, or if blocked, manually extend blog/.generated/blog-manifest.json with a copied entry.
  4. Mirror the new card markup in blog/index.html by duplicating the latest card and updating title, slug, dates, tag, and image paths.
  5. Sanity-check links and images in a preview, then commit manifest/index edits; optionally bump ver in script.js to bust caches.
Blog Deletion
  1. Delete blog/content/<slug>.md and any unused images in images/blog/.
  2. Remove the matching entry in blog/.generated/blog-manifest.json (or rely on a hosting rebuild after commit).
  3. Remove the card/row markup in blog/index.html so it disappears from listings.
  4. If there is a standalone HTML page under blog/ for this slug, delete it.
  5. Commit and push removals; bump ver in script.js if you want clients to refresh.
Webhook Setup
  1. Set DISCORD_WEBHOOK_URL in your hosting env (Vercel dashboard) so deploys can broadcast.
  2. If editing files directly, add your webhook to content/webhooks.json (same shape as the UI list).
  3. To pause webhooks, clear DISCORD_WEBHOOK_URL or remove entries from content/webhooks.json and commit.
Countdown Visibility
  1. Edit content/site-settings.json and set "countdownEnabled": false to hide it.
  2. Optionally clear releaseCountdownTarget, countdownHeading, and countdownNote if they should not render.
  3. Commit and push so the change is deployed (no local npm needed); bump ver in script.js if the cached UI lingers.

Distribution

Loading…

RSS Feed

—

Discord Webhook

Not configured

Set DISCORD_WEBHOOK_URL so builds broadcast automatically.

Generator

Blog Post Builder

Autosaves locally

Store media under images/blog/ or paste a full URL.

Leave blank to reuse the hero or card image.

Front Matter Preview

Fill out the form to generate front matter…

Save this as blog/content/<slug>.md, then run npm run build:blog.

Manifest

Existing Posts

Loading manifest…