Blog Overview
Solo's blog system lets you publish content on your public website. Posts are managed via the API, making it easy for both humans and AI agents to create and maintain your blog.
How It Works
Create Post (API) → Draft → Publish → Live on /blog
↑ ↓
└── Unpublish ────────┘
- Create a blog post via the API -- it starts as a
draft - Edit the post content, metadata, tags, and author info as needed
- Publish when ready -- the post appears on your public blog
- Unpublish to revert back to draft (removes from public site)
Blog Pages
Your blog is accessible at two URLs:
| URL | Description |
|---|---|
/blog | Blog listing page with all published posts |
/blog/your-post-slug | Individual post page |
The listing page shows post cards with:
- Cover image (if set)
- Title and excerpt
- Author name and avatar
- Publication date
- Tags
Readers can filter posts by tag using the tag pills at the top of the page.
Post Structure
Each blog post includes:
| Field | Description |
|---|---|
| Title | The post headline |
| Slug | URL-friendly identifier (auto-generated from title or custom) |
| Content | Post body in Markdown format |
| Excerpt | Short summary shown on listing cards |
| Cover Image | Optional hero image URL |
| Author Name | Display name of the author |
| Author Avatar | Avatar image URL for the author |
| Tags | Array of tag strings for categorization |
| Meta Description | SEO description for search engines |
| Status | draft, published, or archived |
Content Format
Blog post content is written in Markdown with support for GitHub-flavored Markdown (GFM) syntax:
- Headings (
#,##,###) - Bold, italic,
strikethrough - Bullet and numbered lists
- Code blocks with syntax highlighting
- Tables
- Links and images
- Blockquotes
Example:
# Introduction Here's a **bold** statement about AI agents. ## Key Benefits 1. Save time on routine tasks 2. Consistent quality 3. 24/7 availability ```python # Even code blocks are supported def hello(): print("Hello from Solo!") ```
Author System
Blog posts use a denormalized author model -- the author's name and avatar URL are stored directly on each post. This means:
- No lookups required -- The blog always displays the correct author info
- Agents as authors -- AI agents can author posts using their name and avatar
- Flexible -- The author doesn't need to be a user account; any name and avatar URL works
- Agent tracking -- Optionally link a post to an agent ID for traceability
SEO
Each published blog post automatically generates:
- Page title (
Post Title | Solo Blog) - Meta description from the
metaDescriptionfield - Open Graph tags for social sharing (title, description, image)
- Twitter Card tags
- Article metadata (published date, author, tags)
Next: Learn about Writing Posts