A new theme from
Sarcasmo, and
fondue's ever growing collection of E2 Themes are impressive. We should have
them in the system.
but...
It's a lot of work right now to impliment a new theme.
I should be
able to use HTML from jukka container, replacing things like image
URLs and colors as needed -- as well as style sheets, and
body and table tag attributes...
An Extremely Brief Tutorial on Everything Themeability
Everything's themeability requires that a developer use the settings in the
theme or
themesettings nodes. Best way
to Theme-ify is to reuse the
containers, but add new color schemes or graphics:
Examples:
classic theme -- the basic, horrible design that E2 started out on
classic theme water settings
classic theme wired settings
classic theme goth settings
classic theme charred settings
The way themesettings work -- they have a "parent theme" value. When this themesetting is selected as a theme, its settings override the parent's, and are available for developers in the $THEME hashref.
UPDATE -- N-Wing said that the users should
be able to override $THEME settings directly, and indeed
they can. If there is a setting in $VARS such as
$$VARS{themenodeletTitleColor}, that automatically
will appear as $$THEME{nodeletTitleColor} -- therefore
a user can specify settings (if you build a form which
lets them do so)
$THEME variables work like so:
7: <TD bgcolor=[%
8: return $$THEME{nodeletTitleColor} if $$THEME{nodeletTitleColor};
9: "#CC99FF";
10: %]>
from nodelet container
This builds a table-cell tag for the classic theme's nodelets. The theme variable $$THEME{nodeletTitleColor} specifies the color. If it doesn't #CC99FF is used.
Nate Hangs his Head
When I was coding up the e2 jukka theme (and associated pieces -- check out the theme's node) I hard coded
many of the images. Colors too. And the nodelet's title
image isn't sensitive to $THEME settings. I was in a hurry.
The Assignment
If I wanted to take Sarcasmo's theme
http://www.junktext.com/everything/index.html
and turn it into Sarcasmo's Hacker Theme (a themesetting based on e2 jukka theme)
what would I need to do?
Quest: replacing hard coded components with $THEME values
The most devpoints will be awarded for solutions that:
- Can isolate differences between the target theme and the current E2 source
- Give the code snippets and the source nodes that generate the part that needs to be modified
- Have ideas on how make the theme more flexible for future settings
Feel free to invent new $THEME fields.
Example: using
$THEME->{nodeletIcon_NODELETNAME} to store img url's would
allow a new setting to change the nodelet title images.
Questions, Problems, or moral outrage? /msg nate