mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
Merge pull request #1616 from kernc/all_generators_finalized
Add signal: all_generators_finalized (see getpelican/pelican-plugins#314)
This commit is contained in:
commit
9152e021e2
3 changed files with 15 additions and 0 deletions
|
|
@ -85,6 +85,7 @@ finalized pelican object invoked after
|
||||||
- minifying js/css assets.
|
- minifying js/css assets.
|
||||||
- notify/ping search engines with an updated sitemap.
|
- notify/ping search engines with an updated sitemap.
|
||||||
generator_init generator invoked in the Generator.__init__
|
generator_init generator invoked in the Generator.__init__
|
||||||
|
all_generators_finalized generators invoked after all the generators are executed and before writing output
|
||||||
readers_init readers invoked in the Readers.__init__
|
readers_init readers invoked in the Readers.__init__
|
||||||
article_generator_context article_generator, metadata
|
article_generator_context article_generator, metadata
|
||||||
article_generator_preread article_generator invoked before a article is read in ArticlesGenerator.generate_context;
|
article_generator_preread article_generator invoked before a article is read in ArticlesGenerator.generate_context;
|
||||||
|
|
@ -138,6 +139,15 @@ request if you need them!
|
||||||
def register():
|
def register():
|
||||||
signals.content_object_init.connect(test, sender=contents.Article)
|
signals.content_object_init.connect(test, sender=contents.Article)
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
Avoid ``content_object_init`` signal if you intend to read ``summary``
|
||||||
|
or ``content`` properties of the content object. That combination can
|
||||||
|
result in unresolved links when :ref:`ref-linking-to-internal-content`
|
||||||
|
(see `pelican-plugins bug #314`_). Use ``_summary`` and ``_content``
|
||||||
|
properties instead, or, alternatively, run your plugin at a later
|
||||||
|
stage (e.g. ``all_generators_finalized``).
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
After Pelican 3.2, signal names were standardized. Older plugins
|
After Pelican 3.2, signal names were standardized. Older plugins
|
||||||
|
|
@ -222,3 +232,5 @@ Adding a new generator is also really easy. You might want to have a look at
|
||||||
return MyGenerator
|
return MyGenerator
|
||||||
|
|
||||||
signals.get_generators.connect(get_generators)
|
signals.get_generators.connect(get_generators)
|
||||||
|
|
||||||
|
.. _pelican-plugins bug #314: https://github.com/getpelican/pelican-plugins/issues/314
|
||||||
|
|
|
||||||
|
|
@ -168,6 +168,8 @@ class Pelican(object):
|
||||||
if hasattr(p, 'generate_context'):
|
if hasattr(p, 'generate_context'):
|
||||||
p.generate_context()
|
p.generate_context()
|
||||||
|
|
||||||
|
signals.all_generators_finalized.send(generators)
|
||||||
|
|
||||||
writer = self.get_writer()
|
writer = self.get_writer()
|
||||||
|
|
||||||
for p in generators:
|
for p in generators:
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ from blinker import signal
|
||||||
|
|
||||||
initialized = signal('pelican_initialized')
|
initialized = signal('pelican_initialized')
|
||||||
get_generators = signal('get_generators')
|
get_generators = signal('get_generators')
|
||||||
|
all_generators_finalized = signal('all_generators_finalized')
|
||||||
get_writer = signal('get_writer')
|
get_writer = signal('get_writer')
|
||||||
finalized = signal('pelican_finalized')
|
finalized = signal('pelican_finalized')
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue