Specialized Site Scenarios

i18n, landing pages, resume, and changelog site patterns

3 min read 511 words
Edit this page

Was this page helpful?

Patterns for i18n, marketing landing pages, resume/CV sites, and changelogs.

Note

Do I need this? Use when your site type is not covered in User Scenarios (blog, docs, portfolio, mixed, multi-variant). For a faster first run, start with Writer Quickstart.

Multi-Language Site

Create content in multiple languages using directory-based structure.

What you'll get: A multilingual site with language-specific content directories, SEO-friendly hreflang tags, and language switcher support.

Content Organization

Bengal supports directory-based i18n for content organization:

TREE-SITTER-QUERY
content/
├── en/
│   ├── _index.md       # lang: en
│   ├── about.md
│   └── docs/
│       └── guide.md
└── fr/
    ├── _index.md       # lang: fr
    ├── about.md
    └── docs/
        └── guide.md

Configuration

Inbengal.toml or config/_default/i18n.yaml:

YAML
i18n:
  default_language: en
  content_structure: dir
  languages:
    - code: en
      name: English
      weight: 1
    - code: fr
      name: Français
      weight: 2

Template Functions

Use these in templates for language switching:

  • languages()- Get list of configured languages
  • alternate_links(page)- Generate hreflang tags for SEO (takes optional page parameter)

Limitations

  • UI translation (strings) requires separate i18n YAML files
  • See i18n documentation for full details

Landing Page

Build a marketing or product landing page.

What you'll get: A single-page marketing site with hero section, feature highlights, and call-to-action elements.

1. Scaffold Landing

BASH
bengal new site mylanding --template landing
cd mylanding

2. Customize Hero Section

Editcontent/index.md:

MARKDOWN
---
title: "Welcome to MyProduct"
type: landing
layout: landing
hero:
  title: "Build Faster"
  subtitle: "The modern way to create static sites"
  cta:
    text: "Get Started"
    url: "/docs/getting-started/"
---

3. Add Sections

Use shortcodes and directives for landing page sections:

MARKDOWN
:::{features}
- title: Fast
  icon: rocket
  description: Builds in seconds

- title: Flexible
  icon: puzzle
  description: Customize everything
:::

Resume/CV Site

Build a professional resume or CV site.

What you'll get: A professional resume site with structured data for experience, education, and contact information.

1. Scaffold Resume

BASH
bengal new site myresume --template resume
cd myresume

2. Edit Resume Data

Updatedata/resume.yamlwith your information:

YAML
name: "Jane Developer"
title: "Senior Software Engineer"
contact:
  email: "jane@example.com"
  github: "janedeveloper"
  linkedin: "in/janedeveloper"

experience:
  - title: "Senior Engineer"
    company: "Tech Corp"
    dates: "2022 - Present"
    description: "Led development of..."

education:
  - degree: "B.S. Computer Science"
    school: "University"
    year: 2018

Changelog Site

Maintain a project changelog with releases.

What you'll get: A changelog site with versioned releases, categorized changes (added, fixed, changed), and chronological organization.

1. Scaffold Changelog

BASH
bengal new site mychangelog --template changelog
cd mychangelog

2. Add Releases

Updatedata/changelog.yaml:

YAML
releases:
  - version: "1.2.0"
    date: 2025-06-15
    changes:
      - type: added
        description: "New feature X"
      - type: fixed
        description: "Bug in Y"
      - type: changed
        description: "Updated Z"

  - version: "1.1.0"
    date: 2025-05-01
    changes:
      - type: added
        description: "Initial feature set"

Next Steps