html2css has one simple function: Turn an HTML file into a CSS file. This is a functionality I’ve become increasingly aware that I need; I often find myself in a situation where I’ve mocked up the entire HTML document, and then have to perform the tedious task of applying it all in my CSS file, which often leads to a disorganized mess.
It uses the incredible Beautiful Soup library, meaning that it can tolerate even the worst piece of HTML — it manages to produce a valid representation of a Google search.
There are two files of interest in the project (discarding the bundled beautifulsoup.py). The first one is html2css.py where most of the magic happens. The other is writecss.py which is a useful extension of html2css. It allows you to turn your HTML into CSS, respecting earlier generations from html2css. This means you can generate a CSS file for one HTML structure, add some CSS rules, modify the HTML, regenerate the CSS, and your rules will still be present, given that you haven’t modified the element they’re attached to.
This is a 0.1 release, but it should be pretty stable. Comments appreciated.