XHTML, HTML and CSS compressor

07 April 2004   16 comments   Python, Web development


Mind That Age!

This blog post is 13 years old! Most likely, it's content is outdated. Especially if it's technical.

Powered by Fusion×

Last week Fry-IT released CheckoutableTemplates which is a templating module add-on for Zope. It includes a module called slimmer.py which can compress XHTML, HTML and CSS. The CSS had a flaw in it that I hadn't foreseen. This flaw arises when you use M$ Internet Explorer hacks like this for example:

#centercontent {
   margin-left: 259px;
   voice-family: "\"}\"";
   voice-family: inherit;
   margin-left: 271px;

Now that bug has been fixed, so I give you: The XHTML, HTML and CSS compressor It's a little application of slimmer.py so that the compressing can be tested and so that one can see the effect.


These guys have done it with JavaScript but not as good and they hope to sell each license for $7.
hey, i've been working on something like this for a while now http://flumpcakes.co.uk/css/optimiser/
I like it. It's much more clever than mine. We should combine our efforts since we obviously take two completely different approaches and that they would work together. What programming language do you use?
Jake Lafcraft
Congratulations on a great web site. I am a new computer user and finding you was like coming home. Continued success.
Qween Lorry
Congratulations on a great web site. I am a new computer user and finding you was like coming home. Continued success.
Marrick Linn
Congratulations on a great web site. I am a new computer user and finding you was like coming home. Continued success.
Linda Right
How do you think. If I quit using internet... No, CAN I quit?
incest videos
Nadeem Afana
I was trying your nice tool for compressing an XHTML file, but the compressor removes white-spaces from an attribute value (that is between double quotation marks).

I hope you can correct this,
Peter Bengtsson
Really?? That's a bug. Can you provide me with an example where it happens and I'll try to fix it.
Nadeem Afana
Here is an example:

<example attribute="This is a test." />
Nadeem Afana
Well, add spaces between the double quotation marks.

It seems that this tool removes spaces too.
Peter Bengtsson
I see the problem. It actually saves whitespace before and after but not inside the attribute. example (. replaces whitespace):

>>> from slimmer import html_slimmer
>>> html='''<example attribute="....This is....a test...." />'''
>>> html_slimmer(html)
'<example attribute="....This is a test...." />'

You're right. It is a bug.

However, I can't find the time to work on this now. To begin with, whitespace slimming on HTML is often less important since HTML is often regenerated every time unlike CSS and Javascript which is often more static and needs only to be slimmed once per build.

I've taken note of the bug but not going to commit any time to it now I'm afraid. Thanks for spotting it!
Nadeem Afana
It does not matter.

Is not there an executable version or source code of your code?
Peter Bengtsson
No but you could quite easily make one yourself with py2exe. The instructions are quite easy.
Good afternoon. I feel like a tiny bird with a big song!
I am from Cyprus and now study English, tell me right I wrote the following sentence: "More than 16,000 graphics and more than 60 card girls banked in the system defence, easyhome prepaid mastercard."

Thanks :o. Deborah.
Thank you for posting a comment

Your email will never ever be published

Related posts

PostgreSQL, MySQL or SQLite 04 April 2004
How to fold clothes 07 April 2004
CSS Bloat Comparison 03 June 2016
How to no-mincss links with django-pipeline 03 February 2016
Advanced Closure Compiler vs UglifyJS2 20 January 2016
django-semanticui-form 14 September 2015
Premailer.io 08 July 2015
premailer now excludes pseudo selectors by default 27 May 2013
This site is now 100% inline CSS and no bytes are wasted 05 March 2013
mincss in action - sample report from the wild 22 January 2013
mincss "Clears the junk out of your CSS" 21 January 2013
How to use premailer as a command line script 13 July 2012