Skip to content

Commit

Permalink
Move register() function to __init__.py
Browse files Browse the repository at this point in the history
  • Loading branch information
MinchinWeb committed Jan 22, 2024
1 parent 4882d70 commit a91aea6
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 18 deletions.
15 changes: 14 additions & 1 deletion minchin/pelican/plugins/summary/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,17 @@
__url__ = "https://github.com/MinchinWeb/minchin.pelican.plugins.summary"
__license__ = "GNU Affero General Public License v3"

from .summary import *
from pelican import signals

from .summary import initialized, run_plugin, extract_summary


def register():
signals.initialized.connect(initialized)
try:
signals.all_generators_finalized.connect(run_plugin)
except AttributeError:
# NOTE: This results in #314 so shouldn't really be relied on
# https://github.com/getpelican/pelican-plugins/issues/314
# Fixed in Pelican 3.6
signals.content_object_init.connect(extract_summary)
27 changes: 10 additions & 17 deletions minchin/pelican/plugins/summary/summary.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import semantic_version

from pelican import __version__ as pelican_version
from pelican import signals
from pelican.generators import ArticlesGenerator, PagesGenerator

LOG_PREFIX = "[Summary]"
Expand Down Expand Up @@ -42,22 +41,24 @@ def _pelican_summary_as_metadata():
return False


def initialized(pelican):
def initialized(pelican_instance):
from pelican.settings import DEFAULT_CONFIG

DEFAULT_CONFIG.setdefault("SUMMARY_BEGIN_MARKER", "<!-- PELICAN_BEGIN_SUMMARY -->")
DEFAULT_CONFIG.setdefault("SUMMARY_END_MARKER", "<!-- PELICAN_END_SUMMARY -->")
DEFAULT_CONFIG.setdefault("SUMMARY_USE_FIRST_PARAGRAPH", False)
if pelican:
pelican.settings.setdefault(
if pelican_instance:
pelican_instance.settings.setdefault(
"SUMMARY_BEGIN_MARKER", "<!-- PELICAN_BEGIN_SUMMARY -->"
)
pelican.settings.setdefault(
pelican_instance.settings.setdefault(
"SUMMARY_END_MARKER", "<!-- PELICAN_END_SUMMARY -->"
)
pelican.settings.setdefault("SUMMARY_USE_FIRST_PARAGRAPH", False)
pelican_instance.settings.setdefault("SUMMARY_USE_FIRST_PARAGRAPH", False)

logger.debug("%s initalized" % LOG_PREFIX)
logger.debug("%s initalized", LOG_PREFIX)

logger.debug("%s FORMATTED_FIELDS=%s", LOG_PREFIX, pelican_instance.settings["FORMATTED_FIELDS"])


def extract_summary(instance):
Expand Down Expand Up @@ -119,27 +120,19 @@ def extract_summary(instance):

instance._content = content
if _pelican_summary_as_metadata():
# Pelican >= 4.0.0
instance.metadata["summary"] = summary
else:
instance._summary = summary
instance.has_summary = True


def run_plugin(generators):
# Pelican >= 3.6
for generator in generators:
if isinstance(generator, ArticlesGenerator):
for article in generator.articles:
extract_summary(article)
elif isinstance(generator, PagesGenerator):
for page in generator.pages:
extract_summary(page)


def register():
signals.initialized.connect(initialized)
try:
signals.all_generators_finalized.connect(run_plugin)
except AttributeError:
# NOTE: This results in #314 so shouldn't really be relied on
# https://github.com/getpelican/pelican-plugins/issues/314
signals.content_object_init.connect(extract_summary)

0 comments on commit a91aea6

Please sign in to comment.