NAME

CSS::Struct::Output::Raw - Raw printing 'CSS::Struct' structure to CSS code.

SYNOPSIS

use CSS::Struct::Output::Raw;

my $css = CSS::Struct::Output::Raw->new(%parameters);
my $ret_or_undef = $css->flush($reset_flag);
$css->put(@data);
$css->reset;

METHODS

new

my $css = CSS::Struct::Output::Raw->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:
    - ['/*', '*/']
    - ['<!--', '-->'],
  • 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 CSS string or undef.

put

$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::Output:
        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::Raw;

my $css = CSS::Struct::Output::Raw->new(
        'output_handler' => \*STDOUT,
);

$css->put(['c', 'comment']);
$css->put(['a', '@charset', 'utf-8']);
$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->put(['r', "\n"]);
$css->flush;

# Output:
# /*comment*/@charset "utf-8";selector#id,div div,.class{weight:100px;font-size:10em;}

DEPENDENCIES

CSS::Struct::Output, Readonly.

SEE ALSO

CSS::Struct

Struct oriented CSS manipulation.

CSS::Struct::Output

Base class for CSS::Struct::Output::*.

CSS::Struct::Output::Indent

Indent printing 'CSS::Struct' structure to CSS code.

AUTHOR

Michal Josef Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© 2007-2021 Michal Josef Špaček

BSD 2-Clause License

VERSION

0.05