-
Notifications
You must be signed in to change notification settings - Fork 28
Home
CSSEmbed is a simple utility to automate creation of CSS files with embedded data URIs. It can read in any CSS file, detect the image files referenced, and then replace them with data URIs. The result is a CSS file that is exactly the same as the original with the exception that all valid image files have been replaced with data URIs.
CSSEmbed is used as follows:
java -jar cssembed-0.1.0.jar <options> <css file>
For example:
java -jar cssembed-0.1.0.jar -v styles.css
The -v
or --verbose
flags result in additional messages and warnings being output to the console, which can be useful if you run into problems.
Using the -h
option shows all of the options:
Usage: java -jar cssembed-x.y.z.jar [options] [input files]
Global Options -h, --help Displays this information. --charset <charset> Character set of the input file. -v, --verbose Display informational messages and warnings. -root <root> Prepends <root> to all relative URLs. -o <file> Place the output into <file>. Defaults to stdout.
When CSSEmbed comes across a URL reference in CSS (url(filename)
), it inspects the filename to determine where the file is actually located. If the filename begins with “http://”, then the file is downloaded from that location. Files that don’t begin with “http://” are assumed to be local and their location is resolved relative to the location of the CSS file. If, for example, the CSS code contains url(../../image.png)
, then CSSEmbed looks to the directory that is two levels above the CSS file for image.png
.
You can force a specific resolution by using the --root
option on the command line and specifying what the root should be. For example:
java -jar cssembed-0.1.0.jar --root http://www.nczonline.net/images styles.css
This causes all image URLs to be prepended with http://www.nczonline.net/images
before attempting resolution (this happens only for those URLs that don’t already have “http://” at the beginning.
Copyright © 2009 Nicholas C. Zakas. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.