<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: CSS minifier and alphabetiser</title>
	<atom:link href="http://www.barryvan.com.au/2009/08/css-minifier-and-alphabetiser/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.barryvan.com.au/2009/08/css-minifier-and-alphabetiser/</link>
	<description>Music, Programming, Design</description>
	<lastBuildDate>Thu, 18 Feb 2010 09:23:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: sunnybear</title>
		<link>http://www.barryvan.com.au/2009/08/css-minifier-and-alphabetiser/comment-page-1/#comment-927</link>
		<dc:creator>sunnybear</dc:creator>
		<pubDate>Wed, 09 Sep 2009 07:37:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.barryvan.com.au/?p=231#comment-927</guid>
		<description>Web Optimizer ( http://code.google.com/p/web-optimizator/ ) incorporates several ways of CSS/JS minimization and use CSS rule hash to complete CSS Sprites / data:URI transformation. Can CSS Minifier return any kind of array of computed CSS rules? It will great to apply it to Web Optimizer logic.

Web Optimizer automates all possible clientside optimization actions for PHP websites.</description>
		<content:encoded><![CDATA[<p>Web Optimizer ( <a href="http://code.google.com/p/web-optimizator/" rel="nofollow">http://code.google.com/p/web-optimizator/</a> ) incorporates several ways of CSS/JS minimization and use CSS rule hash to complete CSS Sprites / data:URI transformation. Can CSS Minifier return any kind of array of computed CSS rules? It will great to apply it to Web Optimizer logic.</p>
<p>Web Optimizer automates all possible clientside optimization actions for PHP websites.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kay.L</title>
		<link>http://www.barryvan.com.au/2009/08/css-minifier-and-alphabetiser/comment-page-1/#comment-925</link>
		<dc:creator>Kay.L</dc:creator>
		<pubDate>Sat, 05 Sep 2009 09:34:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.barryvan.com.au/?p=231#comment-925</guid>
		<description>zero value give error
p{ padding:0}</description>
		<content:encoded><![CDATA[<p>zero value give error<br />
p{ padding:0}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Barry van Oudtshoorn</title>
		<link>http://www.barryvan.com.au/2009/08/css-minifier-and-alphabetiser/comment-page-1/#comment-924</link>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
		<pubDate>Fri, 04 Sep 2009 00:10:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.barryvan.com.au/?p=231#comment-924</guid>
		<description>@John: In a way, yes. Basically, I have a bunch of classes that represent the various &#039;bits&#039; that make up a CSS file: Selectors, Properties, and what I&#039;m calling &quot;Parts&quot; (comma separated values for properties). So the way my system works is that it basically parses the CSS file into a bunch of these classes -- selectors have properties, and properties have parts. This means that, unlike YUI, I&#039;m not looking at the ENTIRE file when I&#039;m minifying -- rather, I&#039;m dealing with it on a much smaller scale. Regular expressions are still used within the parts themselves, and I also do some basic pre-formatting before I actually parse the file, like removing comments and tabs, newlines and carriage returns.</description>
		<content:encoded><![CDATA[<p>@John: In a way, yes. Basically, I have a bunch of classes that represent the various &#8216;bits&#8217; that make up a CSS file: Selectors, Properties, and what I&#8217;m calling &#8220;Parts&#8221; (comma separated values for properties). So the way my system works is that it basically parses the CSS file into a bunch of these classes &#8212; selectors have properties, and properties have parts. This means that, unlike YUI, I&#8217;m not looking at the ENTIRE file when I&#8217;m minifying &#8212; rather, I&#8217;m dealing with it on a much smaller scale. Regular expressions are still used within the parts themselves, and I also do some basic pre-formatting before I actually parse the file, like removing comments and tabs, newlines and carriage returns.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Ryding</title>
		<link>http://www.barryvan.com.au/2009/08/css-minifier-and-alphabetiser/comment-page-1/#comment-923</link>
		<dc:creator>John Ryding</dc:creator>
		<pubDate>Thu, 03 Sep 2009 13:23:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.barryvan.com.au/?p=231#comment-923</guid>
		<description>@Barry in one of your comments you noted &quot;my code actually parses the string replacement while YUI has a string replacement system.&quot;

Could you elaborate more on this? Did you actually build a java based CSS parser, or are you using regular expressions to do the replacements and minifying?

Thanks.</description>
		<content:encoded><![CDATA[<p>@Barry in one of your comments you noted &#8220;my code actually parses the string replacement while YUI has a string replacement system.&#8221;</p>
<p>Could you elaborate more on this? Did you actually build a java based CSS parser, or are you using regular expressions to do the replacements and minifying?</p>
<p>Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matjaz Lipus</title>
		<link>http://www.barryvan.com.au/2009/08/css-minifier-and-alphabetiser/comment-page-1/#comment-922</link>
		<dc:creator>Matjaz Lipus</dc:creator>
		<pubDate>Wed, 02 Sep 2009 06:10:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.barryvan.com.au/?p=231#comment-922</guid>
		<description>you should check out this CSS compressor
http://www.andy-roberts.net/software/csscompressor/index.html</description>
		<content:encoded><![CDATA[<p>you should check out this CSS compressor<br />
<a href="http://www.andy-roberts.net/software/csscompressor/index.html" rel="nofollow">http://www.andy-roberts.net/software/csscompressor/index.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Michaux</title>
		<link>http://www.barryvan.com.au/2009/08/css-minifier-and-alphabetiser/comment-page-1/#comment-921</link>
		<dc:creator>Peter Michaux</dc:creator>
		<pubDate>Wed, 02 Sep 2009 04:48:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.barryvan.com.au/?p=231#comment-921</guid>
		<description>Barry, Ordering based on the frequency in the file may be better but it won&#039;t lead to an optimal ordering either. An optimization algorithm (e.g. something like simulated annealing or genetic algorithms) with the gzip size as the cost function will (probabilistically.)</description>
		<content:encoded><![CDATA[<p>Barry, Ordering based on the frequency in the file may be better but it won&#8217;t lead to an optimal ordering either. An optimization algorithm (e.g. something like simulated annealing or genetic algorithms) with the gzip size as the cost function will (probabilistically.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Barry van Oudtshoorn</title>
		<link>http://www.barryvan.com.au/2009/08/css-minifier-and-alphabetiser/comment-page-1/#comment-920</link>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
		<pubDate>Wed, 02 Sep 2009 00:10:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.barryvan.com.au/?p=231#comment-920</guid>
		<description>You&#039;re right, Peter, there are further ordering optimisations that can be made. I will definitely investigate implementing a more &#039;intelligent&#039; ordering of the properties based on their frequency within the file.</description>
		<content:encoded><![CDATA[<p>You&#8217;re right, Peter, there are further ordering optimisations that can be made. I will definitely investigate implementing a more &#8216;intelligent&#8217; ordering of the properties based on their frequency within the file.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Barry van Oudtshoorn</title>
		<link>http://www.barryvan.com.au/2009/08/css-minifier-and-alphabetiser/comment-page-1/#comment-919</link>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
		<pubDate>Wed, 02 Sep 2009 00:09:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.barryvan.com.au/?p=231#comment-919</guid>
		<description>It&#039;s the consistent ordering of the properties that results in better compression, rather than their alphabetical ordering. It just happens that ordering alphabetically is a) easier to implement, and b) semantically simpler (for me at least).</description>
		<content:encoded><![CDATA[<p>It&#8217;s the consistent ordering of the properties that results in better compression, rather than their alphabetical ordering. It just happens that ordering alphabetically is a) easier to implement, and b) semantically simpler (for me at least).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Barry van Oudtshoorn</title>
		<link>http://www.barryvan.com.au/2009/08/css-minifier-and-alphabetiser/comment-page-1/#comment-918</link>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
		<pubDate>Wed, 02 Sep 2009 00:08:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.barryvan.com.au/?p=231#comment-918</guid>
		<description>Unfortunately I can&#039;t publish the exact CSS file because of an NDA, but hopefully later today I will publish a &#039;sanitised&#039; version of it. (Basically, ensuring that there aren&#039;t any comments in there that shouldn&#039;t be in there.) :)</description>
		<content:encoded><![CDATA[<p>Unfortunately I can&#8217;t publish the exact CSS file because of an NDA, but hopefully later today I will publish a &#8217;sanitised&#8217; version of it. (Basically, ensuring that there aren&#8217;t any comments in there that shouldn&#8217;t be in there.) <img src='http://www.barryvan.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Barry van Oudtshoorn</title>
		<link>http://www.barryvan.com.au/2009/08/css-minifier-and-alphabetiser/comment-page-1/#comment-917</link>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
		<pubDate>Wed, 02 Sep 2009 00:07:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.barryvan.com.au/?p=231#comment-917</guid>
		<description>Yes, grouping by selector would be much better -- it&#039;s actually an optimisation that I&#039;ve considered in the past. In the example, though, your final output would have to be something like

&lt;code&gt;.pony, .lemur {
  border: solid red 1px;
  font-weight: normal;
}
.pony {
  font-weight: bold;
}&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Yes, grouping by selector would be much better &#8212; it&#8217;s actually an optimisation that I&#8217;ve considered in the past. In the example, though, your final output would have to be something like</p>
<p><code>.pony, .lemur {<br />
  border: solid red 1px;<br />
  font-weight: normal;<br />
}<br />
.pony {<br />
  font-weight: bold;<br />
}</code></p>
]]></content:encoded>
	</item>
</channel>
</rss>
