NAME
Template::Refine::Utils - sugar up some common Template::Refine
operations
SYNOPSIS
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.