---
name: beautiful-html
description: Turn any document, proposal, report, or outline into a stunning single-file HTML presentation using 34 pre-built professional templates. Use when the user wants to convert a markdown file, proposal, or written content into a beautiful visual HTML document ready to share or convert to PDF.
---
# Beautiful HTML
Convert any written content into a polished, single-file HTML presentation using templates from the [beautiful-html-templates](https://github.com/zarazhangrui/beautiful-html-templates) library.
## Template Library
34 templates available. Key ones by use case:
| Use Case | Template | Style | Raw URL |
|---|---|---|---|
| B2B proposals, consulting, investor updates | `blue-professional` | Light / Cobalt Blue | https://raw.githubusercontent.com/zarazhangrui/beautiful-html-templates/main/templates/blue-professional/template.html |
| Investor decks, board presentations | `signal` | Mixed / Navy & Gold | https://raw.githubusercontent.com/zarazhangrui/beautiful-html-templates/main/templates/signal/template.html |
| White papers, research, policy briefs | `monochrome` | Light / Black & White | https://raw.githubusercontent.com/zarazhangrui/beautiful-html-templates/main/templates/monochrome/template.html |
| Investment theses, research reports | `cartesian` | Light / Neutral Warm | https://raw.githubusercontent.com/zarazhangrui/beautiful-html-templates/main/templates/cartesian/template.html |
| Leadership presentations, strategy | `emerald-editorial` | Mixed / Emerald-Navy | https://raw.githubusercontent.com/zarazhangrui/beautiful-html-templates/main/templates/emerald-editorial/template.html |
| Research findings, white papers | `vellum` | Dark / Navy & Gold | https://raw.githubusercontent.com/zarazhangrui/beautiful-html-templates/main/templates/vellum/template.html |
| Design reports, studio annuals | `cobalt-grid` | Light / Cobalt Blue | https://raw.githubusercontent.com/zarazhangrui/beautiful-html-templates/main/templates/cobalt-grid/template.html |
| Startup pitches, founder presentations | `raw-grid` | Light / Multi | https://raw.githubusercontent.com/zarazhangrui/beautiful-html-templates/main/templates/raw-grid/template.html |
| Quarterly reviews, studio updates | `editorial-forest` | Mixed / Forest Green | https://raw.githubusercontent.com/zarazhangrui/beautiful-html-templates/main/templates/editorial-forest/template.html |
| Design studios, creative agencies | `studio` | Dark / Electric Yellow | https://raw.githubusercontent.com/zarazhangrui/beautiful-html-templates/main/templates/studio/template.html |
Full list of all 34 templates at: https://github.com/zarazhangrui/beautiful-html-templates
---
## Workflow
### Phase 1 — Gather Content
Ask the user:
1. "What's the content? (paste text, share a .md file path, or describe what to build)"
2. "What's the purpose? (proposal, report, pitch, research, internal update)"
3. "Who's the audience?"
If a file path is provided, read it. If it's a markdown proposal, parse it into sections.
---
### Phase 2 — Template Selection
Based on the purpose and audience, recommend 3 templates from the library above with a one-line reason for each. Show them as options (A, B, C).
For professional B2B proposals → default recommend `blue-professional`, `signal`, `cartesian`.
For research/reports → default recommend `monochrome`, `vellum`, `cartesian`.
For creative/agency → default recommend `studio`, `editorial-forest`, `cobalt-grid`.
Wait for the user to pick one — or auto-select if they say "you choose."
---
### Phase 3 — Fetch Template
Use WebFetch to retrieve the raw HTML template from GitHub:
```
WebFetch: https://raw.githubusercontent.com/zarazhangrui/beautiful-html-templates/main/templates//template.html
```
Read the template structure carefully:
- Identify all slide layout types available (cover, content, metrics, quote, split, timeline, etc.)
- Note the CSS variable names for colors and fonts
- Identify placeholder text patterns to replace
---
### Phase 4 — Populate Content
Map the user's content onto the template's slide layouts:
**Mapping rules:**
- Cover slide → title, subtitle, date, submitted by
- Agenda slide → top-level sections as bullet list
- Content slides → one section per slide, headline = the key insight (not the topic label)
- Metrics slide → any numbers, KPIs, success metrics
- Quote slide → testimonials, key statements, pull quotes
- Split slide → before/after, problem/solution, two-column comparisons
- Timeline slide → roadmaps, horizons, phased plans
- Table slide → pricing, commercials, structured breakdowns
**Content rules:**
- Every slide headline = one complete insight
- Bad: "Section 3"
- Good: "90% of the team will have a live AI agent in production by month six"
- Never dump raw sections — rewrite as slide-friendly statements
- Keep bullets to 4–5 max per slide
- Numbers and metrics get their own slide
Replace all placeholder text in the template HTML with the user's actual content. Preserve all CSS, JS, navigation, and structure — only change the text content and optionally adjust CSS color variables if needed to better match the client's brand.
---
### Phase 5 — Save and Open
Save the populated HTML file with a descriptive filename (e.g. `sb-ai-proposal.html`).
Offer to:
- **Convert to PDF** using Playwright:
```bash
npx playwright install chromium --with-deps
node -e "
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.setViewportSize({ width: 1280, height: 720 });
await page.goto('file://' + require('path').resolve('.html'));
const slideCount = await page.evaluate(() => document.querySelectorAll('.slide').length);
await page.pdf({
path: '.pdf',
width: '1280px',
height: '720px',
printBackground: true,
pageRanges: '1-' + slideCount
});
await browser.close();
console.log('Saved: .pdf');
})();
"
```
- **Deploy to Vercel** for a shareable link
---
## Source
Templates from [beautiful-html-templates](https://github.com/zarazhangrui/beautiful-html-templates) by Zara Zhang Rui. MIT licensed.