Getting Started with jam-gen
Getting Started with jam-gen
This guide walks you through setting up your first jam-gen site from scratch.
Prerequisites
Before you begin, ensure you have:
- Node.js 22 or later
- npm or pnpm
- Git
Tip: Use
nix developif you’re using NixOS for a pre-configured development environment.
Quick Start
Get a site running in under a minute:
# Clone the repository
git clone https://github.com/your-org/jam-gen.git
cd jam-gen
# Install dependencies
npm install
# Start the development server
npm run dev
Visit http://localhost:4321 to see your site.
Project Structure
A jam-gen project follows this structure:
your-site/
├── content/
│ ├── blog/
│ │ └── my-first-post.md
│ └── pages/
│ └── about.md
├── site.json
└── (optional) theme/
Content Organization
Blog Posts
Place your blog posts in content/blog/. We recommend naming files with dates:
content/blog/
├── 2026-01-01-hello-world.md
├── 2026-01-15-another-post.md
└── draft-upcoming-feature.md
Static Pages
Pages live in content/pages/:
content/pages/
├── about.md
├── contact.md
└── privacy.md
Frontmatter Schema
Every content file needs frontmatter:
---
title: Required - Your post title
description: Optional - SEO description
date: 2026-01-05T10:00:00-06:00
author: Optional - Author name
tags: [optional, list, of, tags]
draft: false # Set true to hide from listings
---
Important: Always include the timezone in dates (e.g.,
-06:00for CST) to ensure consistent scheduling.
Choosing a Theme
jam-gen ships with three themes:
| Theme | Command | Description |
|---|---|---|
| Minimalist | npm run theme:minimalist | Clean, content-focused |
| Noir | npm run theme:noir | Dark, developer-focused |
| Bold | npm run theme:bold | Neubrutalist, creative |
Switch themes instantly:
npm run theme:noir
Building for Production
Generate static files:
npm run build
Your site will be in the dist/ directory, ready for deployment.
For a specific theme:
npm run build --theme=noir
Next Steps
- Check out the Component Showcase to see available components
- Read the FAQ for common questions
- Explore the Blog for more tutorials
Happy building with jam-gen!