CSS Inliner is a command-line tools to inline CSS into style attribute of each HTML element.
HTML here…
<html> <head> <title>Sample HTML</title> <style type="text/css"> body {color: black;} p {line-height: 2em;} </style> </head> <body> <p>This is sample HTML document. In this paragraph, text is black and line has double height of font size.</p> </body> </html>
… becomes like this:
<html> <head> <title>Sample HTML</title> </head> <body style="color: black;"> <p style="line-height: 2em;">This is sample HTML document. In paragraph, text is black and line height is twice of font size.</p> </body> </html>
$ gem install css_inliner
$ git clone git://gitorious.org/css_inliner/css_inliner.git $ cd css_inliner $ rake install
Note that options are not stable.
$ css-inliner --help $ css-inliner file1.html(output to stdout) $ css-inliner file2.html > result2.html $ css-inliner file3.html --output=result3.html $ css-inliner file4.html --element=body(output only body element) $ css-inliner file5.html --in-place(overwrite file5.html) $ css-inliner file6.html --in-place=.bak(create a backup file as file6.html.bak)
$ css-inliner --help $ css-inliner-multifile ./dir1/*.html(output all result to standard output) $ css-inliner-multifile ./dir2/*.html --dir=./resultdir $ css-inliner-multifile ./dir3/*.html --element=body $ css-inliner-multifile ./dir4/*.html --in-place=.bak
Note that this is not stable at all.
require 'css_inliner' html = File.read(sample.html) CSSInliner.process html, '.' # => CSS-inlined HTML CSSInliner.process html, '.', 'body' # => body element(<body> ... </body>) CSSInliner.process html, '.', 'article' # => The first article element CSSInliner.process html, 'http://example.net/stylesheets' # Passed URI will be used as base directory when resolving relative URI of CSS
Note that
<link rel="stylesheet" href="...">
and
<style type="text/css"> ... </style>
will be removed in process.
-
Expand dimensions(top, right, bottom, left) and properties of borders(style, width, color) when inlining
-
[BUG FIX]Fix an error which occurs when parsing non-XHTML documents
-
Change homepage: Gitorious -> GitHub
-
Reimplement some tests which have pended
-
Group external CSS files refered by <link> element by “title” attribute.
-
Work on progress: CSSPool::CSS::Declaration#expand_dimension
CSS Inliner is copyright © 2011, 2012, 2013 KITAITI Makoto. Distribued under the MIT license, see LISENCE file for the term.