diff --git a/src/reader/_app/__init__.py b/src/reader/_app/__init__.py
index d44beaf3..977e60c5 100644
--- a/src/reader/_app/__init__.py
+++ b/src/reader/_app/__init__.py
@@ -157,12 +157,8 @@ def __getattr__(self, name):
def title(self):
highlight = self._search_result.metadata.get('.title')
if highlight:
- return str(highlight)
- return None
-
- @property
- def feed(self):
- return FeedProxy(self._search_result, self._entry)
+ return highlighted(highlight)
+ return self._entry.title
@property
def summary(self):
@@ -184,21 +180,12 @@ def content(self):
def get_content(self, prefer_summary=False):
return _get_entry_content(self, prefer_summary)
-
-@dataclass(frozen=True)
-class FeedProxy:
- _search_result: EntrySearchResult
- _entry: Entry
-
- def __getattr__(self, name):
- return getattr(self._entry.feed, name)
-
@property
- def title(self):
- highlight = self._search_result.metadata.get('.feed.title')
+ def feed_resolved_title(self):
+ highlight = self._search_result.metadata.get('.feed_resolved_title')
if highlight:
- return str(highlight)
- return self._entry.feed.title
+ return highlighted(highlight)
+ return self._entry.feed_resolved_url
@dataclass
diff --git a/src/reader/_app/templates/entries.html b/src/reader/_app/templates/entries.html
index 9a4c660d..cc77d1a1 100644
--- a/src/reader/_app/templates/entries.html
+++ b/src/reader/_app/templates/entries.html
@@ -265,7 +265,7 @@
-
- {{ macros.feed_title(entry.feed) }}
+ {{ entry.feed_resolved_title or feed.url }}
-
{%- set published = entry.published or entry.updated_not_none -%}
{{ published | humanize_naturaltime }}
diff --git a/src/reader/_app/templates/entry.html b/src/reader/_app/templates/entry.html
index 04847437..46df1694 100644
--- a/src/reader/_app/templates/entry.html
+++ b/src/reader/_app/templates/entry.html
@@ -19,7 +19,7 @@
-
{% if entry.author %} by {{ entry.author }}{% endif %}
- in {{ macros.feed_title(entry.feed) }}
+ in {{ entry.feed_resolved_title or feed.url }}
-
{%- set published = entry.published or entry.updated_not_none -%}
{{ published | humanize_naturaltime }}
diff --git a/src/reader/_app/templates/macros.html b/src/reader/_app/templates/macros.html
index 111abefc..6155cf90 100644
--- a/src/reader/_app/templates/macros.html
+++ b/src/reader/_app/templates/macros.html
@@ -6,17 +6,11 @@
{%- endmacro %}
{% macro feed_title(feed) %}
-{%- if feed.user_title and feed.user_title.strip() -%}
- {{ feed.user_title }}
-{%- elif feed.title and feed.title.strip() -%}
- {{ feed.title }}
-{%- else -%}
- {{ feed.url }}
-{%- endif -%}
+{{ feed.resolved_title or feed.url }}
{% endmacro %}
{% macro feed_title_secondary(feed) %}
-{%- if feed.user_title and feed.user_title.strip() and feed.title and feed.title.strip() -%}
+{%- if feed.title and feed.resolved_title != feed.title -%}
{{ feed.title }}
{%- endif -%}
{% endmacro %}