CSS-Adaptor-Whitelist

 view release on metacpan or  search on metacpan

lib/CSS/Adaptor/Whitelist.pm  view on Meta::CPAN

# margin, padding
my $re_margin = qr/(?: auto \b | $re_ndim )/x;
my $re_margin_all = qr/(?: $re_margin ( \s+ $re_margin ){0,3} )/x;
my $re_padding_all = qr/(?: $re_ndim ( \s+ $re_ndim ){0,3} )/x;

# font
my $re_font_family = qr/(?: [-a-zA-Z0-9 ,"']+ \b )/x;  # maybe too generous, should we list possible families?
my $re_font_size = qr/(?: (?:x?x-)?(?:small|large)\b | small(?:er)? \b | larger? \b | medium \b | $re_dim )/x;
my $re_font_style = qr/(?: normal \b | oblique \b | italic \b )/x;
my $re_font_variant = qr/(?: normal \b | small-caps \b )/x;
my $re_font_weight = qr/(?: (?: normal | lighter | bold(?:er)? | \d{3} ) \b )/x;

# list style
my $re_list_style_position = qr/(?: (?:in|out)side \b )/x;
my $re_list_style_type = qr/(?: (?:
      none | circle | disc | square | armenian
    | decimal(?:-leading-zero)? | georgian | lower-greek | (?:lower|upper)-(?:alpha|latin|roman)
) \b )/x;

# various
my $re_cursor = qr/(?:

t/01-filter.t  view on Meta::CPAN

my ($filtered, $parsed);

# safe CSS
$parsed = $css->parse_string( <<EOCSS );
body {
    background: #EEDDFF url(http://example.com/img.jpg) repeat scroll left -2px;
    padding: 5px 3px 0;
}
.highlighted {
    background-color: yellow;
    font-weight: bold;
}
EOCSS
ok(defined($parsed), 'Parsed safe CSS');
$filtered = $css->output;
is($filtered, <<EOCSS, 'Left safe CSS alone');
body {
    background: #EEDDFF url(http://example.com/img.jpg) repeat scroll left -2px;
    padding: 5px 3px 0;
}
.highlighted {
    background-color: yellow;
    font-weight: bold;
}
EOCSS
$css->purge;

# one unrecognized property
$parsed = $css->parse_string( <<EOCSS );
.foo {
    margin-left: 2px;
    content-after: 'GENERATED CONTENT';
    margin-right: 0.5pt;



( run in 0.226 second using v1.01-cache-2.11-cpan-3989ada0592 )