Skip to content

Commit faf4722

Browse files
committed
fix(plugin): fill created and updated dates just before file creation to avoid "last called is right" effect
1 parent 2fa14bf commit faf4722

File tree

1 file changed

+24
-18
lines changed

1 file changed

+24
-18
lines changed

mkdocs_rss_plugin/plugin.py

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -402,25 +402,15 @@ def on_post_build(self, config: config_options.Config) -> None:
402402
f"and {len(self.feed_updated.entries)} pages by update"
403403
)
404404

405-
for page in self.feed_created.entries:
406-
# set pub date
407-
page.pub_date = format_datetime(dt=page.created)
408-
page.pub_date_3339 = page.created.isoformat("T")
409-
# fetch image
410-
if page.image is None:
411-
page.image = self.util.get_image(
412-
in_page=page._mkdocs_page_ref, base_url=config.site_url
413-
)
405+
processed_refs = set()
406+
self.util.load_images_for_pages(
407+
self.feed_created.entries, config.site_url, processed_refs
408+
)
409+
self.util.load_images_for_pages(
410+
self.feed_updated.entries, config.site_url, processed_refs
411+
)
414412

415-
for page in self.feed_updated.entries:
416-
# set pub date
417-
page.pub_date = format_datetime(dt=page.updated)
418-
page.pub_date_3339 = page.updated.isoformat("T")
419-
# fetch image
420-
if page.image is None:
421-
page.image = self.util.get_image(
422-
in_page=page._mkdocs_page_ref, base_url=config.site_url
423-
)
413+
# Set updated and created dates
424414

425415
# RSS
426416
if self.config.rss_feed_enabled:
@@ -435,9 +425,25 @@ def on_post_build(self, config: config_options.Config) -> None:
435425
template = env.get_template(self.tpl_file.name)
436426

437427
# write feeds to files
428+
logger.debug(
429+
"Fill creation dates and dump created feed into RSS template."
430+
)
431+
# set pub date as created
432+
for page in self.feed_created.entries:
433+
page.pub_date = format_datetime(dt=page.created)
434+
page.pub_date_3339 = page.created.isoformat("T")
435+
# write file
438436
with out_feed_created.open(mode="w", encoding="UTF8") as fifeed_created:
439437
fifeed_created.write(template.render(feed=self.feed_created))
440438

439+
logger.debug(
440+
"Fill update dates and dump udpated feed into RSS template."
441+
)
442+
# set pub date as updated
443+
for page in self.feed_updated.entries:
444+
page.pub_date = format_datetime(dt=page.updated)
445+
page.pub_date_3339 = page.updated.isoformat("T")
446+
# write file
441447
with out_feed_updated.open(mode="w", encoding="UTF8") as fifeed_updated:
442448
fifeed_updated.write(template.render(feed=self.feed_updated))
443449

0 commit comments

Comments
 (0)