aboutsummaryrefslogtreecommitdiff
path: root/skin/rss.phps
diff options
context:
space:
mode:
authorEvgeny Zinoviev <me@ch1p.io>2024-02-09 19:27:58 +0300
committerEvgeny Zinoviev <me@ch1p.io>2024-02-09 19:27:58 +0300
commitaf1044821c155221a316e0fe0ee9bdc5d4c5ac1d (patch)
tree3ed00ec89dcd13cf9e98a40e64508571eb4a9ee0 /skin/rss.phps
parent198ecc0c847f42827db44e06252384cb48457ef8 (diff)
parent9dd2345ecfff4f7d65ec106a8aee8d866c972585 (diff)
Merge branch 'master' of ch1p.io:ch1p_io_webHEADmaster
Diffstat (limited to 'skin/rss.phps')
-rw-r--r--skin/rss.phps29
1 files changed, 29 insertions, 0 deletions
diff --git a/skin/rss.phps b/skin/rss.phps
new file mode 100644
index 0000000..0806182
--- /dev/null
+++ b/skin/rss.phps
@@ -0,0 +1,29 @@
+<?php
+
+namespace skin\rss;
+
+function atom($ctx, $title, $link, $rss_link, $items) {
+return <<<HTML
+<?xml version="1.0" encoding="UTF-8"?>
+<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
+ <channel>
+ <title>{$title}</title>
+ <link>{$link}</link>
+ <description/>
+ <atom:link href="{$rss_link}" rel="self" type="application/rss+xml"/>
+ {$ctx->for_each($items, fn($item) => $ctx->item(...$item))}
+ </channel>
+</rss>
+HTML;
+}
+
+function item($ctx, $title, $link, $pub_date, $description) {
+return <<<HTML
+<item>
+ <title>{$title}</title>
+ <link>{$link}</link>
+ <pubDate>{$pub_date}</pubDate>
+ <description>{$description}</description>
+</item>
+HTML;
+} \ No newline at end of file