The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

INTRODUCTION

This page describes how to attach custom processing handlers on the Plift template engine.

WHAT IS A HANDLER?

Besides the data interpolation feature, the Plift engine has just one core funcionality that is to search the HTML document using registered xpath expressions and triggering the associated subroutines.

A handler is just a perl subroutine bound to a xpath expression, usualy targgeting a element or attribute (like <x-include> or data-plift-include).

The following example attaches a handler to the HTML <head> element:

$plift->add_handler({
    name    => 'head_example',
    tag     => 'head',
    handler => sub {

        my ($head_element, $context) = @_;

        # do you custom processing on the <head> element:
        # - add SEO metadata?
        # - process asset files?
        # - add tracking code?

    }
});

I encourage you to read the source of the builtin handlers. They are very simple, just a few lines of code.

Plift::Handler::Include
Plift::Handler::Wrap
Plift::Handler::Render