Bengal provides built-in templates to quickly create sites with common information architectures. This tutorial covers three ways to scaffold a site.
Quick Start: Template-Based Creation
The fastest way to start is with a template:
1 2 3 4 5 6 | |
Openhttp://localhost:5173to see your scaffolded site.
Available Templates
| Template | Best For | Command |
|---|---|---|
docs |
Technical documentation, knowledge bases | bengal new site --template docs |
blog |
Personal blogs, news sites | bengal new site --template blog |
portfolio |
Developer portfolios, project showcases | bengal new site --template portfolio |
resume |
CV/Resume with structured data | bengal new site --template resume |
landing |
Marketing landing pages | bengal new site --template landing |
changelog |
Version history, release notes | bengal new site --template changelog |
What Gets Created
When you runbengal new site my-docs --template docs, Bengal creates:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Method 1: Interactive Wizard
For a guided experience, run without arguments:
bengal new site
The wizard prompts for:
- Site name (creates directory)
- Base URL (for production deployment)
- Template (select from list)
Method 2: Direct Template Selection
Skip prompts with explicit options:
1 2 3 4 5 | |
Method 3: Add Sections to Existing Site
Already have a site? Add sections without recreating:
1 2 3 4 5 | |
Section Type Inference
Bengal infers section types from names:
| Name Pattern | Inferred Type | Behavior |
|---|---|---|
| blog, posts, articles, news | blog |
Date-sorted, post-style |
| docs, documentation, guides, tutorials | doc |
Weight-sorted, doc-style |
| projects, portfolio | section |
Standard section |
| about, contact | section |
Standard section |
Customizing After Scaffolding
- 1
Update Site Identity
Replace placeholder values with your project's actual metadata.
Edit
config/_default/site.yaml:1 2 3 4 5
site: title: "My Documentation" description: "Documentation for my project" author: "Your Name" baseurl: "https://docs.example.com" - 2
Configure Features
Enable RSS feeds, search, sitemaps, and other built-in features.
Edit
config/_default/features.yaml:1 2 3 4 5 6
features: rss: true # Generate RSS feed sitemap: true # Generate sitemap.xml search: true # Enable search json: true # Generate JSON API llm_txt: true # Generate llms.txt - 3
Add Your Content
Replace placeholder content in
content/:1 2 3 4 5
# Edit home page $EDITOR content/index.md # Add new page touch content/getting-started/configuration.md
Preview and Build
1 2 3 4 5 6 7 8 | |
Coming Soon: Skeleton Manifests
Bengal will soon support skeleton manifests - shareable YAML files that define complete site structures with frontmatter, cascades, and content stubs.
1 2 3 4 5 6 7 8 | |
Skeletons will enable:
- Community patterns - Browse and use proven site structures
- Org standards - Enforce consistent IA across projects
- Theme compatibility - Find skeletons optimized for your theme
See RFC: Skeleton Manifests for the full proposal.
Next Steps
- Configuration Reference - Detailed config options
- Content Organization - Structuring your content
- Theming Guide - Customize appearance
Troubleshooting
"Directory already exists"
1 2 3 4 5 | |
"Section already exists"
Use--forceto overwrite:
bengal project init --sections blog --force
Preview Without Creating
Use--dry-runto see what would be created:
bengal project init --sections api --sections guides --dry-run