跳转到主要内容

为Pelican添加更多细粒度信号。

项目描述

确保您的Pelican插件每次都能在正确的时间被调用。


喜欢Pelican但讨厌您的最终化插件并不总是按正确的顺序调用?不要让您的插件在finalized信号的混乱中丢失!pelican-granular-signals添加了新的最终化信号,保证您的插件每次都能在正确的时间被调用。

新的Pelican信号

当安装了pelican-granular-signals后,以下信号将在finalized信号之后立即调用

  • sitemap

  • optimize

  • minify

  • compress

  • deploy

每个信号都将携带与finalized信号相同的参数。

连接到细粒度信号

您的插件必须直接向blinker注册。以下是一个完整的示例

import blinker

import pelican.plugins.granular_signals


def register():
    # This line is highly recommended so users
    # don't have to update their configurations.
    pelican.plugins.granular_signals.register()

    # Connect your awesome plugin to a granular signal.
    blinker.signal("deploy").connect(deploy_site)


# -----------------------------------------------------
# Put your awesome plugin code here.

import subprocess

def deploy_site(instance):
    subprocess.run(instance.settings["DEPLOY_COMMAND"])

帮助用户

为了使用户的生活更轻松,请考虑以下两个步骤

  1. pelican-granular-signals作为依赖项列出,以便它将与您的插件一起自动安装。

  2. 当Pelican调用您的插件的register()函数时,调用pelican.plugins.granular_signals.register()

Pelican 4.5引入了一个新的、自动插件加载功能,并且pelican-granular-signals旨在与此功能协同工作!不幸的是,如果用户在配置文件中指定了要加载的插件,则将禁用自动插件加载。因此,建议您在插件的register()函数中调用pelican.plugins.granular_signals.register()

pelican.plugins.granular_signals.register()可以被多次调用而不会产生任何问题。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

pelican_granular_signals-1.2.0.tar.gz (3.4 kB 查看哈希值)

上传时间

构建分发

pelican_granular_signals-1.2.0-py3-none-any.whl (3.9 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面