Skip to content

Content Management

Product Factory includes a content management system through the worker-content service. It handles blog posts, promotional banners, and friend links.

Blog Posts

Blog posts are stored in D1 and managed through the admin console. They support:

FieldDescription
post_idUnique identifier
titlePost title
slugURL-friendly identifier
contentPost body (Markdown/HTML)
excerptShort summary
statusdraft or published
published_atPublication date
tagsArray of tag strings

Blog Display

The web app renders blog posts at /blog and /blog/[slug]. The blog index shows published posts in reverse chronological order. Each post page renders the full content.

Blog content in the web app uses Astro Content Collections with MDX files in apps/web/src/content/blog/. The worker-content service is used for admin-managed dynamic content.

Banners

Banners are promotional elements displayed on the marketing pages:

FieldDescription
banner_idUnique identifier
titleBanner heading
descriptionBanner text
linkClick-through URL
image_urlBanner image (stored in R2)
enabledWhether the banner is displayed
orderDisplay order

Friend links are partner/affiliate links displayed on the site:

FieldDescription
link_idUnique identifier
namePartner name
urlPartner URL
logo_urlPartner logo
enabledWhether the link is displayed
orderDisplay order

Admin Management

All content types are managed through the admin console at /admin:

  • Posts: Create, edit, publish, and delete blog posts.
  • Banners: Upload images, configure display order, enable/disable.
  • Friend Links: Add partner links, manage display order.

API Endpoints

See the Content API Reference for the complete endpoint documentation.