diff --git a/docs/plugins.rst b/docs/plugins.rst index 0808ce04..654b18f7 100644 --- a/docs/plugins.rst +++ b/docs/plugins.rst @@ -53,10 +53,14 @@ List of signals Here is the list of currently implemented signals: -========================= ============================ ========================================= +========================= ============================ =========================================================================== Signal Arguments Description -========================= ============================ ========================================= +========================= ============================ =========================================================================== initialized pelican object +finalized pelican object invoked after all the generators are executed and just before pelican exits + usefull for custom post processing actions, such as: + - minifying js/css assets. + - notify/ping search engines with an updated sitemap. article_generate_context article_generator, metadata article_generator_init article_generator invoked in the ArticlesGenerator.__init__ get_generators generators invoked in Pelican.get_generator_classes, @@ -64,7 +68,7 @@ get_generators generators invoked in Pelican.ge generator in a tuple or in a list. pages_generate_context pages_generator, metadata pages_generator_init pages_generator invoked in the PagesGenerator.__init__ -========================= ============================ ========================================= +========================= ============================ =========================================================================== The list is currently small, don't hesitate to add signals and make a pull request if you need them! diff --git a/pelican/__init__.py b/pelican/__init__.py index b9f9bb22..0af52c44 100644 --- a/pelican/__init__.py +++ b/pelican/__init__.py @@ -179,6 +179,8 @@ class Pelican(object): if hasattr(p, 'generate_output'): p.generate_output(writer) + signals.finalized.send(self) + def get_generator_classes(self): generators = [StaticGenerator, ArticlesGenerator, PagesGenerator] if self.settings['PDF_GENERATOR']: diff --git a/pelican/signals.py b/pelican/signals.py index 7ee88a0a..408d84c9 100644 --- a/pelican/signals.py +++ b/pelican/signals.py @@ -1,6 +1,7 @@ from blinker import signal initialized = signal('pelican_initialized') +finalized = signal('pelican_finalized') article_generate_context = signal('article_generate_context') article_generator_init = signal('article_generator_init') get_generators = signal('get_generators')