Skip to main content

Pelican plugin to inject custom code before or after specific HTML tags

Project description

Injector: A Plugin for Pelican

Build Status PyPI Version License

Injector is a plugin for the Pelican static site generator that allows users to inject custom code before or after specific HTML tags, without modifying your theme.

Installation

This plugin can be installed via:

python -m pip install pelican-injector

As long as you have not explicitly added a PLUGINS setting to your Pelican settings file, then the newly-installed plugin should be automatically detected and enabled. Otherwise, you must add injector to your existing PLUGINS list. For more information, please see the How to Use Plugins documentation.

Settings

To configure the plugin, set the INJECTOR_ITEMS variable in your Pelican settings file. This should be a list of tuples, each with two or three elements, according to this table:

Tuple Element Description
First Name of the HTML tag where you want to inject your code
Second The code you want to inject
Third (optional) Specifies where to inject the code: 'before' or 'after'. If not provided, it defaults to 'after'
INJECTOR_ITEMS = [
    ('head', '<script>...</script>', 'after'),
    ('body', '<div>...</div>', 'before'),
    // add more tags and code as needed
]

In the following example, a script logging "Hello, world!" to the console is injected into the <head> tag of each page, and a style block is injected before the <body> tag.

INJECTOR_ITEMS = [
    ('head', '<script>console.log("Hello, world!");</script>'),
    ('body', '<style>.custom-style { color: red; }</style>', 'before'),
]
INJECTOR_IN_PAGES = True
INJECTOR_IN_ARTICLES = False

Contributing

Contributions are welcome and much appreciated. Every little bit helps. You can contribute by improving the documentation, adding missing features, and fixing bugs. You can also help out by reviewing and commenting on existing issues.

To start contributing to this plugin, review the Contributing to Pelican documentation, beginning with the Contributing Code section.

License

This project is licensed under the MIT license.

Contact

If you have any questions or feedback, please open an issue on GitHub.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pelican_injector-1.0.0.tar.gz (6.7 kB view hashes)

Uploaded Source

Built Distribution

pelican_injector-1.0.0-py3-none-any.whl (6.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page