Hi, What is the best way of handling CSS? I've looked at ZStylesheets, but it is buggy and uses depreciated functions that will not be available in 2.10. All advice welcome, --John
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 20 Mar 2006, at 22:26, John Huttley wrote:
Hi, What is the best way of handling CSS? I've looked at ZStylesheets, but it is buggy and uses depreciated functions that will not be available in 2.10.
They are just simple text files and do not need any "handling". You could just put them in a simple Zope File object, give it content type text/css, and be done with it. jens -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (Darwin) iD8DBQFEHzjjRAx5nvEhZLIRAsz1AJ9UmzAkpjHYfq96MkVFoJTJg19MhACePPa9 71huwoMNp75MkxpD2lBBNWk= =Oig9 -----END PGP SIGNATURE-----
John Huttley wrote:
Hi, What is the best way of handling CSS? I've looked at ZStylesheets, but it is buggy and uses depreciated functions that will not be available in 2.10.
I recommend a DTML Document as an upgrade to File objects. If you use DTML you can a) easily set some custom cache headers in the css b) refer to images by a dynamic URL to the imagefolder. * * example: #body { background:#fff url(<dtml-var images url>/bg.png); }
All advice welcome, --John
_______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
-- Peter Bengtsson, work www.fry-it.com home www.peterbe.com hobby www.issuetrackerproduct.com
Peter Bengtsson schrieb:
John Huttley wrote:
Hi, What is the best way of handling CSS? I've looked at ZStylesheets, but it is buggy and uses depreciated functions that will not be available in 2.10.
I recommend a DTML Document as an upgrade to File objects. If you use DTML you can a) easily set some custom cache headers in the css
Or use a cache manager :-)
b) refer to images by a dynamic URL to the imagefolder. *
* example: #body { background:#fff url(<dtml-var images url>/bg.png); }
Which runs against (a) because if you aggressive cache (which is a good idea) you shouldn't have dynamic elements in it. I believe file objects are good enough and you could probably split the CSS across some files to get the dynamics w/o loosing performance. ++Tino
Tino Wildenhain schrieb:
Peter Bengtsson schrieb:
John Huttley wrote:
Hi, What is the best way of handling CSS? I've looked at ZStylesheets, but it is buggy and uses depreciated functions that will not be available in 2.10.
I recommend a DTML Document as an upgrade to File objects. If you use DTML you can a) easily set some custom cache headers in the css
Or use a cache manager :-)
b) refer to images by a dynamic URL to the imagefolder. *
* example: #body { background:#fff url(<dtml-var images url>/bg.png); }
Which runs against (a) because if you aggressive cache (which is a good idea) you shouldn't have dynamic elements in it.
I believe file objects are good enough and you could probably split the CSS across some files to get the dynamics w/o loosing performance.
I also use DTML for dynamic stylesheets plus a HTTPCacheManager and a set_header script to set the text/css media type (and /* vim: set syn=css: */). Only because I'm lazy to change the paths (mainly for @import) in the stylesheets. Tonico
Tino Wildenhain wrote:
Peter Bengtsson schrieb:
John Huttley wrote:
Hi, What is the best way of handling CSS? I've looked at ZStylesheets, but it is buggy and uses depreciated functions that will not be available in 2.10.
I recommend a DTML Document as an upgrade to File objects. If you use DTML you can a) easily set some custom cache headers in the css
Or use a cache manager :-) true
b) refer to images by a dynamic URL to the imagefolder. *
* example: #body { background:#fff url(<dtml-var images url>/bg.png); }
Which runs against (a) because if you aggressive cache (which is a good idea) you shouldn't have dynamic elements in it.
You mustn't use any dtml-if or other crap like that because then, as you say Tino, you lose the ability cache the css file.
I believe file objects are good enough and you could probably split the CSS across some files to get the dynamics w/o loosing performance.
++Tino
-- Peter Bengtsson, work www.fry-it.com home www.peterbe.com hobby www.issuetrackerproduct.com
Anyone have any idea whether dynamic css via dtml will remain possible as CMF gets more Z3'ish? Or will only possibility be overrides in css itself. Regards, David Peter Bengtsson wrote:
Tino Wildenhain wrote:
Peter Bengtsson schrieb:
John Huttley wrote:
Hi, What is the best way of handling CSS? I've looked at ZStylesheets, but it is buggy and uses depreciated functions that will not be available in 2.10.
I recommend a DTML Document as an upgrade to File objects. If you use DTML you can a) easily set some custom cache headers in the css
Or use a cache manager :-)
true
b) refer to images by a dynamic URL to the imagefolder. *
* example: #body { background:#fff url(<dtml-var images url>/bg.png); }
Which runs against (a) because if you aggressive cache (which is a good idea) you shouldn't have dynamic elements in it.
You mustn't use any dtml-if or other crap like that because then, as you say Tino, you lose the ability cache the css file.
I believe file objects are good enough and you could probably split the CSS across some files to get the dynamics w/o loosing performance.
++Tino
David Pratt schrieb:
Anyone have any idea whether dynamic css via dtml will remain possible as CMF gets more Z3'ish? Or will only possibility be overrides in css itself.
What do you expect to change with Z3? Otoh, not using runtime-generated CSS is usually a better approach anyway. Regards Tino
Tino Wildenhain schrieb:
David Pratt schrieb:
Anyone have any idea whether dynamic css via dtml will remain possible as CMF gets more Z3'ish? Or will only possibility be overrides in css itself.
What do you expect to change with Z3? Otoh, not using runtime-generated CSS is usually a better approach anyway.
Just out of interest, why do you think this is *usually* better? This does strongly depend on your use case, no? You could say something like "it is usually better to serve static HTML pages" as well. Tonico
Tonico Strasser wrote:
Tino Wildenhain schrieb:
David Pratt schrieb:
Anyone have any idea whether dynamic css via dtml will remain possible as CMF gets more Z3'ish? Or will only possibility be overrides in css itself.
What do you expect to change with Z3? Otoh, not using runtime-generated CSS is usually a better approach anyway.
Just out of interest, why do you think this is *usually* better? This does strongly depend on your use case, no?
You could say something like "it is usually better to serve static HTML pages" as well.
usually = significantly more then 50% of the time ;) better = when the web application is faster and easier to maintain :-) with CSS coming slow from server its even worser then dynamic pages when they get slow - you see the page and then while you look or even start to scroll, elements jump around/get recolored while CSS arrives. I'd try to avoid this. Regards Tino
participants (6)
-
David Pratt -
Jens Vagelpohl -
John Huttley -
Peter Bengtsson -
Tino Wildenhain -
Tonico Strasser