http://www.perlmonks.org?node_id=400299


in reply to Switching stylesheets

I use the following fragment in my wrapper template using Template toolkit (TT):

<head> <title>$title</title> <base target="_self"/> <style type="text/css"> <!-- @import 'path/to/main.css'; [% PROCESS "path/to/color.css" %] .... other styles here ... --> </style> </head>

main.css is my default stylesheet. color.css is a template component that uses the theme selected by the user. My application saves the theme and other user preferences and puts them in session parameters. The session parameter is passed to TT. Here is a snippet from color.css:

p em { color: [% Css.${theme}.accent %]; } h1 { color: [% Css.${theme}.color %]; } h2, h3, h4, h5 { [% Css.${theme}.accent %]; } a:visited { color: [% Css.${theme}.accent %]; } table { border:thin solid [% Css.${theme}.color %]; }

My configuration template extracts the relevant session parameters and puts them into a template variable which is a hash that used by color.css.

HTH,

Anne