Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
Re: rvm_css (v1.2)
Or use the <txp:rvm_css />
tag, which should work (otherwise it’s a bug).
_
Offline
#86 2009-02-03 12:10:29
- isellsoap
- New Member
- Registered: 2009-02-03
- Posts: 2
Re: rvm_css (v1.2)
I have a strange problem.
My CSS implementation: <style type=“text/css”>@import url(“<txp:rvm_css />”);</style>
This works fine for the frontpage and for all section pages but when I go to a single article it displays the site as if there isn’t any css file. When I look into the page source code the CSS implementation is there, so normally there shouldn’t be any problem. Can someone help me on this?
Last edited by isellsoap (2009-02-03 12:11:38)
Offline
Re: rvm_css (v1.2)
you could use <txp:rvm_css n="name_of_styles" />
. The disadvantage would be that you can’t hook up a new stylesheet easily under the sections tab.
Last edited by JanDW (2009-02-03 16:12:12)
TXPDream – A Textpattern Tag Library for Adobe Dreamweaver. (updated for 4.2.0) | jdw_if_ajax – Only serve certain parts of a page when requested with AJAX
Offline
Re: rvm_css (v1.2)
isellsoap wrote:
My CSS implementation: <style type=“text/css”>@import url(“<txp:rvm_css />”);</style>
This works fine for the frontpage and for all section pages but when I go to a single article it displays the site as if there isn’t any css file. When I look into the page source code the CSS implementation is there, so normally there shouldn’t be any problem. Can someone help me on this?
So the URL that rvm_css inserts in the HTML code is correct? In that case it’s not a plugin problem.
Offline
#89 2009-03-04 02:48:13
- johnnie
- Member
- Registered: 2007-03-10
- Posts: 58
Re: rvm_css (v1.2)
Ruud, I have an idea. See this as a feature request:
To further speed up CSS serving, would it be possible to add some simple minification to the locally stored css file? e.g. removing newlines, removing comments etc. It should all be possible using some regular expresions. That way CSS would still be editable in a nice manner, but the actually served version is a lot smaller! See http://www.refresh-sf.com/yui/ for an example CSS minifier.
Offline
#90 2009-03-04 03:50:29
- johnnie
- Member
- Registered: 2007-03-10
- Posts: 58
Re: rvm_css (v1.2)
There, I’ve done the work for you. Replace the rvm_css_save() function with this to get minified CSS stored to the server (not the DB, so you can still edit the easily workable ‘beautiful’ version of your CSS!). On larger CSS files, the savings can be quite good! Ofcourse you might want to add an option for this or something like that, but here’s the code for it:
function rvm_css_save()
{
global $path_to_site, $rvm_css_dir;
$name = (ps('copy') or ps('savenew')) ? ps('newname') : ps('name');
$filename = strtolower(sanitizeForUrl($name));
if (empty($rvm_css_dir) or !$filename)
{
return;
}
$css = safe_field('css', 'txp_css', "name='".doSlash($name)."'");
if ($css)
{
$minicss = base64_decode($css);
$minicss = preg_replace("/\r\n/","",$minicss);
$minicss = preg_replace("/:(\s*|\t*)/",":",$minicss);
$minicss = preg_replace("/;(\s*|\t*)/",";",$minicss);
$minicss = preg_replace("/,\s*/",",",$minicss);
$minicss = preg_replace("/(\s*|\t*){/","{",$minicss);
$minicss = preg_replace("/}(\s*|\t*)/","}",$minicss);
$minicss = preg_replace("/\/\*(.*?)\*\//","",$minicss);
$file = $path_to_site.'/'.$rvm_css_dir.'/'.$filename.'.css';
$handle = fopen($file, 'wb');
fwrite($handle, $minicss);
fclose($handle);
}
}
Last edited by johnnie (2009-03-04 03:51:45)
Offline
Re: rvm_css (v1.2)
Fantastic. Thank you very much for this plugin.
Please can I ask, if my CSS tab textarea is not full of the actual CSS but just:
@import url(‘/_my-stuff/style/my-style.css’);
will the plugin only cache those 50 or so characters (so I am gaining little benefit), or does it import the CSS and cache the full file?
If only the 50 or so characters, then the answer is presumably to just copy the CSS in and forget the @import?
Sorry if this is a newbie-ish question and thanks in advance for any comment.
Cheers, -Alan
At LAST I’ve cheerfully donated to the core devs at #TXP. I only wish I were able to give more. Thanks to the devs and ALL fellow TXPers. -A
Offline
Re: rvm_css (v1.2)
@johnnie, if you really want to minify, you can optimize a lot more. For example (91 chars):
body {
border-left: 1px;
border-right: 1px;
border-top: 1px;
border-bottom: 1px;
}
Can be compressed to (72 chars, 21% reduction):
body{border-left:1px;border-right:1px;border-top:1px;border-bottom:1px;}
But can also be re-written to (16 chars, 82% reduction), which is also easier to read:
body{border:1px}
I think the benefits of minifying don’t outweigh the added code complexity (especially if you’re already compressing CSS using deflate/gzip). It reduces bandwidth usage, but I suspect that on most websites the bandwidth used by serving CSS files is only a few percent of total bandwidth used.
Offline
Re: rvm_css (v1.2)
@alanfluff, you’ll benefit from this plugin, because you avoid the use of textpattern to serve that single import line (instead it’s served from a separate static file, which is many times faster than serving stuff through a PHP script). So basically when CSS loads, it first loads a static file containing the import line, which then in turn loads another static file with the bulk of your CSS code.
You could benefit slightly more if you put the contents of my-style.css directly in the CSS tab textarea.
Offline
Re: rvm_css (v1.2)
Thanks Ruud — I am using the plugin and it is making a mASSIVe difference – quite brilliant :)
At LAST I’ve cheerfully donated to the core devs at #TXP. I only wish I were able to give more. Thanks to the devs and ALL fellow TXPers. -A
Offline
Re: rvm_css (v1.2)
Thanks a lot man!
Great plug in
Sonríe | Smile . <txp:lover />
Offline
Re: rvm_css (v1.2)
I disabled the plugin. then i deleted it. but in my Preferences > Advanced >
i still see this:
rvm_css_dir _mycss
Should it not revert back to the default line?
…. texted postive
Offline