From 17b37358e9046ad840b37ff9fa20ed1a673ca727 Mon Sep 17 00:00:00 2001 From: Sergei K Date: Tue, 17 Oct 2017 07:38:18 +0500 Subject: [PATCH] Add a new signal: page_generator_write_page --- docs/plugins.rst | 1 + pelican/generators.py | 1 + pelican/signals.py | 1 + 3 files changed, 3 insertions(+) diff --git a/docs/plugins.rst b/docs/plugins.rst index 008e7551..10780b66 100644 --- a/docs/plugins.rst +++ b/docs/plugins.rst @@ -108,6 +108,7 @@ page_generator_preread page_generator invoked befor use if code needs to do something before every page is parsed. page_generator_init page_generator invoked in the PagesGenerator.__init__ page_generator_finalized page_generator invoked at the end of PagesGenerator.generate_context +page_generator_write_page page_generator, content invoked before writing each page, the page is passed as content page_writer_finalized page_generator, writer invoked after all pages have been written, but before the page generator is closed. static_generator_context static_generator, metadata diff --git a/pelican/generators.py b/pelican/generators.py index eb97c115..19c1d5a8 100644 --- a/pelican/generators.py +++ b/pelican/generators.py @@ -642,6 +642,7 @@ class PagesGenerator(CachingGenerator): def generate_output(self, writer): for page in chain(self.translations, self.pages, self.hidden_translations, self.hidden_pages): + signals.page_generator_write_page.send(self, content=page) writer.write_file( page.save_as, self.get_template(page.template), self.context, page=page, diff --git a/pelican/signals.py b/pelican/signals.py index 0b10fdfa..18a745b4 100644 --- a/pelican/signals.py +++ b/pelican/signals.py @@ -27,6 +27,7 @@ article_writer_finalized = signal('article_writer_finalized') page_generator_init = signal('page_generator_init') page_generator_finalized = signal('page_generator_finalized') +page_generator_write_page = signal('page_generator_write_page') page_writer_finalized = signal('page_writer_finalized') static_generator_init = signal('static_generator_init')