From 069ce389ea8f2e1ff353faa18378a7db8c6c2483 Mon Sep 17 00:00:00 2001 From: Ruben Date: Fri, 6 Feb 2026 18:24:39 +0100 Subject: [PATCH] Add Atom feed support to list pages Introduce `feed` metadata option to enable Atom feeds Update list item structure with standardized fields Add `$feedUrl` template variable for autodiscovery Improve date handling with raw/processed date separation Document feed generation in architecture and rendering docs Update template examples to use new item structure --- docs/03-reference/02-metadata.md | 47 ++++++++++------ docs/03-reference/03-template-variables.md | 63 +++++++++++++--------- docs/04-development/01-architecture.md | 17 ++++-- docs/04-development/02-content-system.md | 15 +++++- docs/04-development/04-context-api.md | 12 +++++ docs/04-development/06-templates.md | 3 ++ docs/04-development/07-rendering.md | 19 +++++-- 7 files changed, 128 insertions(+), 48 deletions(-) diff --git a/docs/03-reference/02-metadata.md b/docs/03-reference/02-metadata.md index 7f8d806..4dd742c 100644 --- a/docs/03-reference/02-metadata.md +++ b/docs/03-reference/02-metadata.md @@ -194,6 +194,20 @@ hide_list = true **Type:** Boolean **Use case:** Section landing pages that should show content instead of list +### `feed` + +Enable an Atom feed for this list page, served at `/{list-path}/feed.xml`. + +```ini +feed = true +``` + +**Default:** `false` (no feed generated) +**Values:** `true` or `false` +**Type:** Boolean +**Applies to:** List pages only (directories with subdirectories) +**Effect:** Generates an Atom XML feed containing the full rendered content of each list item. Also adds an autodiscovery `` tag in the HTML ``. + ## Language-Specific Overrides Add language-specific sections to override fields: @@ -327,20 +341,19 @@ Folder: content/blog/2024-12-15-my-post/ ## Metadata in List Items -When rendering list views, each item receives these metadata fields: +When rendering list views, each item in the `$items` array has these keys: ```php $item = [ - 'url' => '/blog/my-post/', - 'path' => '/content/blog/2024-12-15-my-post', - 'title' => 'My Post', - 'summary' => 'Short description', - 'date' => '2024-12-15', - 'formatted_date' => '15. desember 2024', // Language-specific - 'cover_image' => '/blog/my-post/cover.jpg', // If exists - // All custom metadata fields... - 'author' => 'Jane Doe', - 'tags' => 'web,design', + 'title' => 'My Post', // From metadata, heading, or folder name + 'url' => '/blog/my-post/', // Full URL with trailing slash + lang prefix + 'date' => '15. desember 2024', // Formatted for display (plugin-processed) + 'rawDate' => '2024-12-15', // ISO YYYY-MM-DD (for feeds,