Spillway CMSStructured content like Drupal. Page building like Puck. Setup like Ghost. AI that drafts, people who approve.
Menu

Schedule a post

Write a blog post now and have it go live at a set time, with the checks still applied at that moment, and optionally come down again later.

Before you start: an author to write and an editor to schedule (content.publish). The server's ticker must be running (it is by default; hosts that set SPILLWAY_TICKER=0 run spillway run-scheduled from cron instead).

Steps

  1. Content → Posts → New post. Title, summary (one or two sentences for lists), body, a hero image with alt text, and the publish date you want shown on the post. Save: it is a draft.
  2. Run Checks and fix any error now; a failing check at publish time leaves the post unpublished.
  3. An editor opens the post and chooses Schedule… in the action bar: Publish at the launch time in their local time zone, and, for a limited-time announcement, Unpublish at. The action bar shows a badge ("Publishes 12 Jan 2026, 09:00") with a Cancel link.
  4. Leave it. The post can still be edited until the time comes; the status stays draft (or in review) until then.

Check the result

  • The content list shows a scheduled badge next to the post and the Scheduled chip filters to it; Review queue → Scheduled lists it soonest first.
  • Within 30 seconds of the time, the post is published: it answers 200 at /blog/<slug>, appears in the blog collection and in /feeds/<collection>.rss, and the audit log records the publish as the system actor.
  • If a check failed at that moment, the badge is red with the message and a schedule.failed notification went out; fix the post and the next tick publishes it.
  • At the Unpublish at time the post moves to Archived and its URL answers 404 (add a redirect if the link was shared).

Going further

Spillway 0.1.0 · Edit this page on GitHub

Was this page helpful?