Skip to content

Commit

Permalink
Feature: Add setting to append ref parameter to links in feeds (#3249)
Browse files Browse the repository at this point in the history
  • Loading branch information
GiovanH committed Apr 19, 2024
1 parent 0f5179b commit 0b5934a
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 0 deletions.
5 changes: 5 additions & 0 deletions docs/settings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1008,6 +1008,11 @@ the ``TAG_FEED_ATOM`` and ``TAG_FEED_RSS`` settings:
to ``False``, the full content will be included instead. This setting
doesn't affect Atom feeds, only RSS ones.

.. data:: FEED_APPEND_REF = False

If set to ``True``, ``?ref=feed`` will be appended to links in generated
feeds for the purpose of referrer tracking.

If you don't want to generate some or any of these feeds, set the above
variables to ``None``.

Expand Down
1 change: 1 addition & 0 deletions pelican/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ def load_source(name: str, path: str) -> ModuleType:
"TRANSLATION_FEED_ATOM": "feeds/all-{lang}.atom.xml",
"FEED_MAX_ITEMS": 100,
"RSS_FEED_SUMMARY_ONLY": True,
"FEED_APPEND_REF": False,
"SITEURL": "",
"SITENAME": "A Pelican Blog",
"DISPLAY_PAGES_ON_MENU": True,
Expand Down
3 changes: 3 additions & 0 deletions pelican/writers.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ def _add_item_to_the_feed(self, feed, item):
title = Markup(item.title).striptags()
link = self.urljoiner(self.site_url, item.url)

if self.settings["FEED_APPEND_REF"]:
link = link + "?ref=feed"

if isinstance(feed, Rss201rev2Feed):
# RSS feeds use a single tag called 'description' for both the full
# content and the summary
Expand Down

0 comments on commit 0b5934a

Please sign in to comment.