From 77d7e6e66a04e4b9e82ba7660a86734e31ddcc05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sascha=20I=C3=9Fbr=C3=BCcker?= Date: Sat, 8 Feb 2025 10:51:17 +0100 Subject: [PATCH] Add RSS link to shared bookmarks page (#984) --- bookmarks/templates/bookmarks/head.html | 3 +++ bookmarks/tests/test_bookmark_archived_view.py | 7 +++++++ bookmarks/tests/test_bookmark_index_view.py | 7 +++++++ bookmarks/tests/test_bookmark_shared_view.py | 8 ++++++++ bookmarks/views/bookmarks.py | 1 + 5 files changed, 26 insertions(+) diff --git a/bookmarks/templates/bookmarks/head.html b/bookmarks/templates/bookmarks/head.html index b28a1ca..c83d16e 100644 --- a/bookmarks/templates/bookmarks/head.html +++ b/bookmarks/templates/bookmarks/head.html @@ -36,5 +36,8 @@ {% if not request.global_settings.enable_link_prefetch %} {% endif %} + {% if rss_feed_url %} + + {% endif %} diff --git a/bookmarks/tests/test_bookmark_archived_view.py b/bookmarks/tests/test_bookmark_archived_view.py index 040a5f8..e6d92fb 100644 --- a/bookmarks/tests/test_bookmark_archived_view.py +++ b/bookmarks/tests/test_bookmark_archived_view.py @@ -503,3 +503,10 @@ class BookmarkArchivedViewTestCase( self.assertIsNotNone(soup.select_one("turbo-frame#details-modal")) self.assertIsNone(soup.select_one("#bookmark-list-container")) self.assertIsNone(soup.select_one("#tag-cloud-container")) + + def test_does_not_include_rss_feed(self): + response = self.client.get(reverse("bookmarks:archived")) + soup = self.make_soup(response.content.decode()) + + feed = soup.select_one('head link[type="application/rss+xml"]') + self.assertIsNone(feed) diff --git a/bookmarks/tests/test_bookmark_index_view.py b/bookmarks/tests/test_bookmark_index_view.py index 8a0c680..ff7ed70 100644 --- a/bookmarks/tests/test_bookmark_index_view.py +++ b/bookmarks/tests/test_bookmark_index_view.py @@ -481,3 +481,10 @@ class BookmarkIndexViewTestCase( self.assertIsNotNone(soup.select_one("turbo-frame#details-modal")) self.assertIsNone(soup.select_one("#bookmark-list-container")) self.assertIsNone(soup.select_one("#tag-cloud-container")) + + def test_does_not_include_rss_feed(self): + response = self.client.get(reverse("bookmarks:index")) + soup = self.make_soup(response.content.decode()) + + feed = soup.select_one('head link[type="application/rss+xml"]') + self.assertIsNone(feed) diff --git a/bookmarks/tests/test_bookmark_shared_view.py b/bookmarks/tests/test_bookmark_shared_view.py index c54886b..85a83a0 100644 --- a/bookmarks/tests/test_bookmark_shared_view.py +++ b/bookmarks/tests/test_bookmark_shared_view.py @@ -593,3 +593,11 @@ class BookmarkSharedViewTestCase( self.assertIsNotNone(soup.select_one("turbo-frame#details-modal")) self.assertIsNone(soup.select_one("#bookmark-list-container")) self.assertIsNone(soup.select_one("#tag-cloud-container")) + + def test_includes_public_shared_rss_feed(self): + response = self.client.get(reverse("bookmarks:shared")) + soup = self.make_soup(response.content.decode()) + + feed = soup.select_one('head link[type="application/rss+xml"]') + self.assertIsNotNone(feed) + self.assertEqual(feed.attrs["href"], reverse("bookmarks:feeds.public_shared")) diff --git a/bookmarks/views/bookmarks.py b/bookmarks/views/bookmarks.py index 5c110bd..585e439 100644 --- a/bookmarks/views/bookmarks.py +++ b/bookmarks/views/bookmarks.py @@ -104,6 +104,7 @@ def shared(request): "tag_cloud": tag_cloud, "details": bookmark_details, "users": users, + "rss_feed_url": reverse("bookmarks:feeds.public_shared"), }, )