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 bonus

Time 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-generator

Rules

  • 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