NAME
CSS::Tidy - reformat CSS
SYNOPSIS
use CSS::Tidy 'tidy_css';
my $output = tidy_css ($input);
VERSION
This documents version 0.01 of CSS-Tidy corresponding to git commit 50d0ef7baaf1754a2cd58fd02be293916c3270e6 released on Fri Jan 29 22:55:52 2021 +0900.
DESCRIPTION
This reformats CSS.
The idea is to have a formatting script which can be used to consistently format CSS.
FUNCTIONS
tidy_css
my $output = tidy_css ($input);
Given CSS in $input
, reformat it into a consistent format and return the value.
TRANSFORMATIONS APPLIED
- Indentation
-
Indentation is changed to multiples of four spaces.
- Trailing whitespace
-
Trailing whitespace (blanks after the end of the line) is removed.
- Property/value pairs
-
The spacing between property/value pairs such as
font-size:21em;
is altered to put a single space after the colon:
font-size: 21em;
- Declaration blocks
-
A blank line is inserted between declaration blocks.
- Single-line braces are expanded out
-
.something { something:something; }
is expanded to
.something { something: something; }
- Comments have a blank line before and after
-
If the comment is on a line by itself, it will be given one blank line before and after itself.
SCRIPT
The script csstidy runs "tidy_css" on STDIN and prints the result to STDOUT. There is also css-tidy.el in the distribution which enables one to run csstidy on the current buffer.
SEE ALSO
About CSS
- CSS Specification
-
CSS Syntax Module Level 3 at the W3 Consortium.
Other CPAN modules
Parsers
- CSS
-
[Author: IAMCAL; Date:
2011-03-22
; Version:1.09
] - CSS::Croco
-
[Author: GUGU; Date:
2009-12-26
; Version:0.09
] - CSS::DOM
-
[⭐ Author: SPROUT; Date:
2018-01-29
; Version:0.17
] - CSS::Object
-
[⭐ Author: JDEGUEST; Date:
2020-08-12
; Version:v0.1.3
] - CSS::SAC
-
[Author: BJOERN; Date:
2008-07-05
; Version:0.08
]👎 This seems to be unusable, it fails on the CSS stylesheets we've tried it on.
- CSS::Simple
-
[Author: KAMELKEV; Date:
2017-11-16
; Version:3224
] - CSS::Struct
-
[Author: SKIM; Date:
2020-08-11
; Version:0.03
] - CSS::Tiny
-
[⭐ Author: CHORNY; Date:
2016-03-10
; Version:1.20
]
Preprocessors
- CSS::LESS
-
[Author: MUGIFLY; Date:
2013-09-20
; Version:v0.0.3
] - CSS::Sass
-
[⭐ Author: OCBNET; Date:
2020-05-04
; Version:v3.6.3
]Unfortunately this is built on top of a deprecated library which is being replaced with Dart Sass.
Minifiers
- CSS::Compressor
-
[⭐ Author: JANUS; Date:
2018-12-03
; Version:0.05
] - CSS::Minifier
-
[⭐ Author: PMICHAUX; Date:
2007-08-03
; Version:0.01
] - CSS::Minifier::XS
-
[⭐ Author: GTERMARS; Date:
2020-12-31
; Version:0.11
] - CSS::Packer
-
[⭐ Author: LEEJO; Date:
2018-11-06
; Version:2.07
] - CSS::Squish
-
[Author: TSIBLEY; Date:
2010-11-05
; Version:0.10
]
Other
- CSS::Coverage
-
[⭐ Author: SARTAK; Date:
2013-08-08
; Version:0.04
]👎 Test whether your styles are actually in use or not. Unfortunately it depends on "CSS::SAC" which seems to be unusable.
- CSS::Inliner
-
[⭐ Author: KAMELKEV; Date:
2020-01-01
; Version:4014
] - Graphics::ColorNames::CSS
-
This provides a map from the names of colours valid in CSS to their RGB values.
- Test::CSS
-
[Author: MANWAR; Date:
2017-09-09
; Version:0.08
]Test CSS files or strings using regular expressions and a list of properties. The properties list is somewhat out of date, for example it doesn't have the
touch-action
property. See https://github.com/manwar/Test-CSS/issues/2.
AUTHOR
Ben Bullock, <bkb@cpan.org>
COPYRIGHT & LICENCE
This package and associated files are copyright (C) 2021 Ben Bullock.
You can use, copy, modify and redistribute this package and associated files under the Perl Artistic Licence or the GNU General Public Licence.