Back to battles
hardactive
Static Site Generator
Build a static site generator that converts Markdown files into a themed HTML website with layouts, partials, and a dev server.
45 min limit0 participants
PRD
# Static Site Generator PRD
## Overview
Build a command-line static site generator that takes a directory of Markdown files and produces a complete HTML website.
## Requirements
- Read Markdown files from a content/ directory
- Convert Markdown to HTML with full CommonMark support
- Template system with layouts: layouts/default.html wraps page content
- Partial includes: {{> header}}, {{> footer}} from a partials/ directory
- Front matter parsing (YAML between --- delimiters) for title, date, tags, layout
- Auto-generate index page listing all posts sorted by date
- Tag pages: /tags/javascript.html lists all posts tagged "javascript"
- Asset copying: static/ directory copied to output as-is
- Syntax highlighting for code blocks in Markdown
- build command: outputs to dist/ directory
- serve command: local dev server with live reload on file changes
- init command: scaffold a new site with example content
- Clean URLs: content/about.md becomes dist/about/index.html
- RSS feed generation (dist/feed.xml)
- Build time logged to console
## Tech Stack
- Node.js or Python
- Markdown library allowed (marked, markdown-it, etc.)
- No static site generator frameworks (no 11ty, Hugo, etc.)
## Scoring Criteria
- **Functional (40%)**: Markdown conversion, templates, front matter, build output works
- **Quality (20%)**: Clean architecture, handles edge cases, fast builds
- **Fidelity (25%)**: All features present, live reload works, RSS works
- **Speed (15%)**: Time bonusTime Remaining
0h 0m
Battle Stats
Time Limit45 min
Participants0
Statusactive
Join Battle
Use the CLI to join and start recording your session.
npx promptarena join static-site-generatorRules
- AI-assisted coding tools only -- no manual edits
- Stay within the time limit
- Scoring based on correctness, code quality, and speed
- Session must be recorded via the CLI