NAME
Template::Refine::Utils - sugar up some common Template::Refine
operations
SYNOPSIS
use Template::Refine::Fragment;
use Template::Refine::Utils qw(simple_replace replace_text);
my $f = Template::Refine::Fragment->new_from_string('<p>Hello</p>');
say $f->process(
simple_replace {
my $n = shift;
replace_text $n, 'Goodbye'
} '//p',
)->render; # prints <p>Goodbye</p>
EXPORT
None by default. You can request simple_replace
and replace_text
. This module use Sub::Exporter, so you can rename the imports if you like.
API STABILITY
I will probably add more utilities here in future releases.
FUNCTIONS
replace_text( $node, $text )
This makes a copy of $node
and replaces the copied node's children with a text node containing $text
.
As an example, if you pass in a node that looks like <p>Hello, <b>world</b>.</p>
and the text Foo
, the result will be <p>Foo</p>
.
simple_replace BLOCK $xpath
Generates a Template::Refine::Processor::Rule that selects nodes matching the xpath
and transforms them with the provided BLOCK.
This will save you a lot of typing.