Templates
Welcome Page
home.twig
The home.twig template renders the homepage of the Minniark site.
Its layout and content depend on the style setting defined in home.yml.
Depending on this configuration, it can act as a welcome page, a photo showcase, or redirect to another section such as Blog or Page.
What it does
- Serves as the main entry point (
/or/home) - Reads configuration from
/userdata/content/home.yml - Supports multiple styles:
- start – Default hero-style homepage with text and optional image
- album – Displays a specific album as the homepage
- page – Redirects to a static page (
/p/{slug}) - blog – Redirects to the blog overview (
/blog) - collection – (reserved for collection-style home, not yet active)
- Integrates navigation, theme, and global settings automatically
Available Twig Variables
Depending on the chosen style, the following variables are available:
Global Variables (available in all home styles)
| Variable | Type | Description |
|---|---|---|
| title | string | Page title (usually the same as the site headline) |
| site_title | string | Site name from settings |
| theme | string | Active theme name |
| themepath | string | Path to theme directory (/userdata/template/{theme}) |
| settings | array | Global configuration (site-wide settings) |
| navItems | array | Navigation structure built from theme |
| current_path | string | Current path (home or empty) |
| current_url | string | Full URL to the current page |
Style: start (default homepage)
| Variable | Type | Description |
|---|---|---|
| headline | string | Main heading text |
| sub_headline | string | Optional subheading |
| content | string | Optional text content (HTML-safe) |
| home_image | string | (optional) Cached single image (if default_image_style: image) |
| home_images | array | (optional) Array of image objects (if default_image_style: album) |
Example Twig usage:
<section class="text-center py-12">
{% if home_image %} <img src="{{ home_image }}" alt="{{ title }}" class="mx-auto rounded-xl shadow mb-8 max-w-3xl" /> {% endif %}
{% if headline %}
<h1 class="text-4xl font-bold mb-2">{{ headline }}</h1>
{% endif %}
{% if sub_headline %}
<h2 class="text-lg text-gray-500 mb-6">{{ sub_headline }}</h2>
{% endif %}
{% if content %}
<div class="prose mx-auto text-gray-700 text-center">
{{ content|raw }}
</div>
{% endif %}
</section>
If default_image_style is set to album, you’ll instead have home_images:
<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3">
{% for image in home_images %}
<img src="{{ image.file }}" alt="{{ image.title }}" class="rounded-lg shadow-md w-full h-auto" />
{% endfor %}
</div>
- Previous
- Collection