Skip to content

Commit

Permalink
Resolve inter-site links in summaries.
Browse files Browse the repository at this point in the history
  • Loading branch information
MinchinWeb committed Jan 22, 2024
1 parent f2ab4a1 commit ee782e7
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
6 changes: 5 additions & 1 deletion pelican/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,15 @@ def run(self):
if hasattr(p, "generate_context"):
p.generate_context()

# for plugins that create/edit the summary
logger.debug("Signal all_generators_finalized.send(<generators>)")
signals.all_generators_finalized.send(generators)

# update links in the summary, etc
for p in generators:
if hasattr(p, "refresh_metadata_intersite_links"):
p.refresh_metadata_intersite_links()

signals.all_generators_finalized.send(generators)

writer = self._get_writer()

Expand Down
17 changes: 10 additions & 7 deletions pelican/contents.py
Original file line number Diff line number Diff line change
Expand Up @@ -513,19 +513,22 @@ def relative_dir(self):

def refresh_metadata_intersite_links(self):
for key in self.settings["FORMATTED_FIELDS"]:
if key in self.metadata and key != "summary":
if key in self.metadata and key is not "summary":
value = self._update_content(self.metadata[key], self.get_siteurl())
self.metadata[key] = value
setattr(self, key.lower(), value)

# _summary is an internal variable that some plugins may be writing to,
# so ensure changes to it are picked up
if (
"summary" in self.settings["FORMATTED_FIELDS"]
and "summary" in self.metadata
):
self._summary = self._update_content(self._summary, self.get_siteurl())
self.metadata["summary"] = self._summary
if "summary" in self.settings["FORMATTED_FIELDS"]:
if hasattr(self, "_summary"):
self.metadata["summary"] = self._summary

if "summary" in self.metadata:
self.metadata["summary"] = self._update_content(self.metadata["summary"], self.get_siteurl())

if hasattr(self, "_summary") and "summary" in self.metadata:
self._summary = self.metadata["summary"]


class Page(Content):
Expand Down

0 comments on commit ee782e7

Please sign in to comment.