NAME
CSS::Struct::Output::Indent - Indent printing 'CSS::Struct' structure to
CSS code.
SYNOPSIS
use CSS::Struct::Output::Indent;
my $css = CSS::Struct::Output::Indent->new(%parameters);
my $ret_or_undef = $css->flush($reset_flag);
$css->put(@data);
$css->reset;
METHODS
"new"
my $css = CSS::Struct::Output::Indent->new(%parameters);
Constructor.
Returns instance of object.
* "auto_flush"
Auto flush flag.
Default is 0.
* "comment_delimeters"
Reference to array with begin and end comment delimeter.
Default value is ['/*', '*/'].
Possible values are:
- ['/*', '*/']
- ['<!--', '-->'],
* "next_indent"
Indent string.
Default value is TAB.
* "output_handler"
Handler for print output strings.
Must be a GLOB.
Default is undef.
* "skip_bad_types"
Flag, that means bad 'CSS::Struct' types skipping.
Default value is 0.
* "skip_comments"
Flag, that means comment skipping.
Default value is 0.
"flush"
my $ret_or_undef = $css->flush($reset_flag);
Flush CSS structure in object. If defined 'output_handler' flush to its.
Or return CSS. If enabled $reset_flag, then resets internal variables
via reset method.
Returns output string or undef.
"put(@data)"
$css->put(@data);
Put CSS structure in format specified in CSS::Struct.
Returns undef.
"reset"
$css->reset;
Resets internal variables.
Returns undef.
ERRORS
From CSS::Struct::Core:
Auto-flush can't use without output handler.
Bad comment delimeters.
Bad data.
Bad number of arguments.
('CSS::Struct' structure array),
Bad type of data.
Cannot write to output handler.
No opened selector.
Output handler is bad file handler.
Unknown parameter '%s'.
EXAMPLE
use strict;
use warnings;
use CSS::Struct::Output::Indent;
my $css = CSS::Struct::Output::Indent->new(
'output_handler' => \*STDOUT,
);
$css->put(['s', 'selector#id']);
$css->put(['s', 'div div']);
$css->put(['s', '.class']);
$css->put(['d', 'weight', '100px']);
$css->put(['d', 'font-size', '10em']);
$css->put(['e']);
$css->flush;
print "\n";
# Output:
# selector#id, div div, .class {
# weight: 100px;
# font-size: 10em;
# }
DEPENDENCIES
CSS::Struct::Output, Indent, Readonly.
SEE ALSO
CSS::Struct
Struct oriented CSS manipulation.
CSS::Struct::Output
Base class for CSS::Struct::Output::*.
CSS::Struct::Output::Raw
Raw printing 'CSS::Struct' structure to CSS code.
REPOSITORY
<
https://github.com/michal-josef-spacek/CSS-Struct-Output-Indent>
AUTHOR
Michal Josef Špaček <mailto:
[email protected]>
<
http://skim.cz>
LICENSE AND COPYRIGHT
© 2011-2021 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.03