{% extends "base.html" %}
{#
================================================================================
Single Release Template (Kida-Native)
================================================================================
Individual release/changelog page.
FRONTMATTER EXAMPLE:
---
title: Version 1.2.0
type: changelog
date: 2025-10-12
name: "Feature Release"
status: stable
summary: Major new features and improvements
added:
- New feature A
- New feature B
changed:
- Updated feature C
fixed:
- Fixed bug D
---
KIDA FEATURES USED:
- {% let %} for template-scoped variables
- Optional chaining (?.) for null-safe access
- Null coalescing (??) for smart defaults
- {% def %} for reusable category component
================================================================================
#}
{% from 'partials/navigation-components.html' import breadcrumbs, page_navigation %}
{# =============================================================================
CHANGE CATEGORY COMPONENT
============================================================================= #}
{% def change_category(title, icon, items, is_breaking=false) %}
{% if items and items is iterable and items is not string and items | length > 0 %}
{{ icon }} {{ title }}
{% for item in items %}
{{ item }}
{% end %}
{% end %}
{% end %}
{# =============================================================================
MAIN TEMPLATE
============================================================================= #}
{% block content %}
{# Template-scoped variables with null-safe access #}
{% let page_title = page?.title ?? 'Release' %}
{% let page_date = page?.date %}
{# Params with null-safe access #}
{% let release_name = params?.name ?? '' %}
{% let release_status = params?.status ?? '' %}
{% let release_desc = params?.description ?? params?.summary ?? '' %}
{% let release_github = params?.github_release ?? '' %}
{% let release_download = params?.download_url ?? '' %}
{# Change categories #}
{% let changes_added = params?.added ?? [] %}
{% let changes_changed = params?.changed ?? [] %}
{% let changes_fixed = params?.fixed ?? [] %}
{% let changes_deprecated = params?.deprecated ?? [] %}
{% let changes_removed = params?.removed ?? [] %}
{% let changes_security = params?.security ?? [] %}
{% let changes_breaking = params?.breaking ?? [] %}
{# Action Bar: Breadcrumbs + Share #}
{% include 'partials/action-bar.html' %}
{{ page_title }}
{% if release_name %}
{{ release_name }}
{% end %}
{% if page_date %}
{% end %}
{% if release_status %}
{{ release_status }}
{% end %}