diff --git a/main/feeds.py b/main/feeds.py
new file mode 100644
index 0000000000000000000000000000000000000000..4b6c9d63d8efe44c83d0679f30f1acaf9d593d40
--- /dev/null
+++ b/main/feeds.py
@@ -0,0 +1,58 @@
+from django.contrib.syndication.views import Feed
+from django.shortcuts import render
+from django.urls import reverse
+from main.models import MainArticlesPage, MainArticlePage
+
+class LatestArticlesFeed(Feed):
+    def get_object(
+        self: LatestArticlesFeed,
+        request,
+        title: str
+    ) -> MainArticlesPage:
+        return MainArticlesPage.objects.get(title=title)
+
+    def title(
+        self: LatestArticlesFeed,
+        obj: MainArticlesPage
+    ) -> str:
+        return obj.title
+
+    def link(
+        self: LatestArticlesFeed,
+        obj: MainArticlesPage
+    ) -> str:
+        return obj.get_full_url()
+
+    def description(
+        self: LatestArticlesFeed,
+        obj: MainArticlesPage
+    ) -> str:
+        return obj.perex
+
+    def items(
+        self: LatestArticlesFeed,
+        obj: MainArticlesPage
+    ) -> list:
+        return obj.get_children().type(MainArticlePage)[:32]
+
+    def item_title(
+        self: LatestArticlesFeed,
+        obj: MainArticlePage
+    ) -> str:
+        return obj.title
+
+    def item_description(
+        self: LatestArticlesFeed,
+        item: MainArticlePage
+    ):
+        return render(
+            None,
+            "main/feed_item_description.html",
+            {"item": item},
+        )
+
+    def item_link(
+        self: LatestArticlesFeed,
+        item: MainArticlePage
+    ) -> str:
+        return item.get_full_url()
diff --git a/main/templates/main/blocks/card_link_block.html b/main/templates/main/blocks/card_link_block.html
index e642f0c4becab46273c67392664112c08e5e9fc3..06bc1bdd5144e7df80134d91204b46d4a60f63ea 100644
--- a/main/templates/main/blocks/card_link_block.html
+++ b/main/templates/main/blocks/card_link_block.html
@@ -16,7 +16,7 @@
       <a href="{{ target_url }}">
         {{ self.title }}
       </a>
-    </h1>
+    </h2>
     <div class="font-light text-sm break-words">
       {{ self.text | default_if_none:'' | richtext }}
     </div>
diff --git a/main/templates/main/feed_item_description.html b/main/templates/main/feed_item_description.html
new file mode 100644
index 0000000000000000000000000000000000000000..e44f14f74b25f545705ed5a3431fb4c89d3b325a
--- /dev/null
+++ b/main/templates/main/feed_item_description.html
@@ -0,0 +1,3 @@
+{% for block in item.content %}
+    {% include_block block %}
+{% endfor %}