Carousels
Create LinkedIn carousels by writing simple Markdown files.
Frontmatter
Each file starts with YAML frontmatter:
--- title: My Carousel author: Your Name theme: default tags: [linkedin, productivity] ---
| Field | Type | Description |
|---|---|---|
| title | string | Carousel title (required) |
| author | string | Author name shown on cover slide |
| description | string | Short description (not rendered) |
| theme | string | default · ocean · forest · illuin |
| tags | string[] | Hashtags shown on cover and end slides |
Slide types
Separate slides with ---. Each slide opens with key-value directive lines, followed by an optional Markdown body.
cover
The opening slide — shown first. Displays the carousel title, optional subtitle, icon, author, and tags from frontmatter.
Available fields:
titlesubtitleicontype: cover title: My Carousel subtitle: An engaging subtitle here icon: 🚀
content
The main slide type for bullet lists, paragraphs, and callout boxes.
Available fields:
titlesubtitlehighlighticonbody (Markdown)type: content title: Key Points highlight: The most important insight - First key point to highlight - Second element with details - Third point that wraps naturally
quote
A focused quote or statement slide. The body becomes a styled blockquote.
Available fields:
iconhighlightbody (Markdown)type: quote icon: 💬 highlight: — Author Name A memorable quote or key insight that changes how you think about this topic.
end
The closing slide. Good for a call to action, contact info, or tags.
Available fields:
titlesubtitleiconbody (Markdown)type: end title: Thank you! subtitle: Follow for more insights linkedin.com/in/yourprofile
Themes
- default — Near-black, minimal
- ocean — Deep ink blue
- forest — Dark forest green
- illuin — ILLUIN Technology brand (coral → red → orange)
Battle Cards
Side-by-side comparison cards for two solutions, exported as a 1920×1080 image.
Frontmatter
--- title: Solution A vs Solution B solution_a: Solution A solution_b: Solution B logo_a: 🅰️ # emoji, URL, or omit logo_b: 🅱️ description_a: One-line pitch for Solution A. description_b: One-line pitch for Solution B. theme: default ---
| Field | Description |
|---|---|
| title | Card headline (required) |
| solution_a / solution_b | Names of the two solutions (required) |
| logo_a / logo_b | Emoji, absolute URL, or omit for letter avatar |
| description_a / description_b | Short one-line pitch |
| theme | default · ocean · forest · illuin |
Sections
After the frontmatter, separate sections with ---. Each section starts with section: <name>.
| Section name | Format | Description |
|---|---|---|
| strengths_a / strengths_b | Bullet list | Key strengths — shown prominently |
| pros_a / pros_b | Bullet list | Advantages |
| cons_a / cons_b | Bullet list | Drawbacks |
| criteria | Label: A value | B value | Comparison table rows |
| verdict | winner: a|b|tiereason: text | Closing verdict bar |
strengths_a / strengths_b
Key strengths displayed prominently below the solution name. Use bullet points.
section: strengths_a - Enterprise-grade scalability - Large ecosystem & community - Excellent observability tooling
pros_a / pros_b
Advantages of each solution. Shown as a collapsible mini-list.
section: pros_a - Easy to integrate with existing stack - Strong type safety
cons_a / cons_b
Drawbacks of each solution.
section: cons_a - Steep learning curve - Higher infrastructure cost
criteria
Comparison table rows. Format: Label: A value | B value
section: criteria Performance: ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ Learning Curve: ⭐⭐⭐ | ⭐⭐⭐⭐⭐ Ecosystem: ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ Vendor lock-in: High | Low
verdict
Closing verdict bar. winner must be a, b, or tie.
section: verdict winner: a reason: Better choice for large-scale production workloads