NAME
Template::LiquidX::Tidy - Indentation for Liquid template documents
SYNOPSIS
use
Template::Liquid;
my
$parsed
= Template::Liquid->parse(
$template_string
);
my
$tidy_string
=
$parsed
->{document}->tidy(\
%options
);
DESCRIPTION
The LiquidX::Tidy module enhances a parsed Template::Liquid::Document with a method to indent the document source code according to some options.
You can also use the command line client liquid_tidy to indent your template source codes.
METHODS
Template::Liquid::Document::tidy(%options)
This method is to be called on a Template::Liquid::Document, i.e. some node in the document created by Template::Liquid->parse
.
It returns a string of the formatted and indented document node.
Th following options are possible:
- html => boolean
-
Indent HTML code. Defaults to on.
- indent => number
-
The number of spaces for each indentation level. Default 4.
- force_nl => boolean
-
Whether to forcibly add line breaks into tags listed as force_nl_tags.
Default no for the module, yes for the command line client.
- short_if => number
-
The length of a text inbetween
{% if %}
that should be exempt from force_nl -
A space separated list of tags where
force_nl
will add line breaks.Default tags: for endfor comment endcomment if unless elsif else endif endunless case when endcase
Template::Liquid::Document::dump()
This method is to be called on a Template::Liquid::Document, i.e. some node in the document created by Template::Liquid->parse
.
It returns a copy of the source document.
Template::Liquid::Document::transform()
my
(
$transformed_document
,
$replacement_map
) =
$document
->transform();
my
$new_document
= Template::LiquidX::Tidy::transform_back(
$transformed_document
,
$replacement_map
);
This method is to be called on a Template::Liquid::Document, i.e. some node in the document created by Template::Liquid->parse
.
It returns a tuple with the source document where all Liquid tags have been replaced by HTML entities and blank <div>
and <i>
tags. This HTML document can the be further processed before using the transform_back
method to put back the Liquid tags.
Template::LiquidX::Tidy::transform_back($transformed_document, $replacement_map)
This method returns a new template string undoing a transform operation.