Skip to content

Add draft content support foundations#884

Draft
jpurnell wants to merge 1 commit into
twostraws:mainfrom
jpurnell:feature/draft-foundations
Draft

Add draft content support foundations#884
jpurnell wants to merge 1 commit into
twostraws:mainfrom
jpurnell:feature/draft-foundations

Conversation

@jpurnell
Copy link
Copy Markdown
Contributor

@jpurnell jpurnell commented May 21, 2026

Summary

  • Adds ContentStatus enum (draft/scheduled/published/expired) with Comparable conformance
  • Extends Article with isDraft, scheduledDate, expiresDate, and contentStatus(at:) computed properties
  • Adds DraftBanner component rendering fixed-position status banners with color coding
  • 35 new tests covering all status transitions, date parsing, and banner rendering

Design

Purely additive — new files and one Article extension. No modifications to the publishing pipeline. Integration with BuildOptions and content filtering is planned as a follow-up PR.

Test plan

  • All 35 new tests pass
  • Full test suite passes (1353 tests)
  • swift build clean with no warnings

…aftBanner component

Introduces a content lifecycle system for Ignite:

- ContentStatus enum (draft/scheduled/published/expired) with Comparable
- Article extensions for isDraft, scheduledDate, expiresDate, contentStatus(at:)
- DraftBanner component showing fixed-position status banners with color coding

These are purely additive foundations. Integration with BuildOptions
and the publishing pipeline is planned as a follow-up.
@jpurnell jpurnell marked this pull request as draft May 21, 2026 22:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant