Your opinion on the new Theme Engine (in General)


QBPixel Sage October 11 2006 2:16 AM EDT

Alright guys, for the past few days I've been in a dilemma. There are two generic approaches I can go with the theme engine.

1) Make it fully customizable, from head to toe. However, this would mean a higher learning curve and may take a lot more work for each theme.

2) Make it more customizable than the current one. Lower learning curve, but not quite as robust.

I'd like to have opinions especially from those capable of making themes (meaning you know how to use CSS considerably well). Right now, the mockup engine I've created is on the more customizable side. However, the HTML is a bit more confusing. In making it more modular, I added a Top, Main, and Bottom tag for each little section. Here is some example code:



< div id="forums">
< div class="sidebarSectionTop">< /div>
< div class="sidebarSection">

< div class="sidebarHeader" onMouseClick="collapse('forums')">
< span onclick="collapse('forums')">Forums< /span>
< /div>

< div class="sidebarContent" id="forumsContent">
< span id="categoriesForums">Categories< /span>
< img alt=""" id="categoriesArrow" class="menuArrow" src="images/blank.gif"/>
< a id="activeThreadsForums" href="">Active Threads< /a>
< /div>
< /div>
< div class="sidebarSectionBottom">

< /div>


As seen in this example, there are extra blank sections such as < div class="sidebarSectionTop">< /div>

The purpose of this is for you to add whatever you'd like to that section. With this method, I was able to create a theme such as Jet.

Now here's the dealy. Great themes can still be made without these extra tags. Though these extra tags may be simple to some, it can confuse new players who have no clue what they are, and may scare them away from doing any theming.

Thoughts? Confused?

AdminShade October 11 2006 2:31 AM EDT

I'd say make it fully customisable, people should learn when making such themes.

bartjan October 11 2006 3:04 AM EDT

Couldn't :first-child be used instead?

Slashundhack [We Forge Our Own Stuff] October 11 2006 4:01 AM EDT

Just reading this has scared me away from themeing , heck even this new theme I'm has me nervous.But then I was amazed I managed to make a gif for my throbber.

AdminNightStrike October 11 2006 4:05 AM EDT

Every html tag should have an id and class associated with it to allow total customization.

PoisoN October 11 2006 7:01 AM EDT

I'd like to see the full CSS package.

Xiaz on Hiatus October 11 2006 7:14 AM EDT

Definitely #1, means themers need to put effort in. More effort usually means better quality themes ;)

bartjan October 11 2006 8:50 AM EDT

NightStrike: No, a clever use of selectors is what we want...

Slash: A well documented example theme may help.

Flamey October 11 2006 9:59 AM EDT

i did want to try and make a theme on the new engine, though the current one seems pretty complicated. what bart suggested is pretty good, an *documented* example would be perfect, that way, anyone who actually wanted to put in the effort and some common sense could make a theme :)

AdminJonathan October 11 2006 10:04 AM EDT

I'm with bart on the selectors-vs-give-everything-an-id thing.

It's okay if not all themes work with IE6 (although the default theme should), now that it's a tossup whether IE7 will be out before the new theme work. :)

AdminNightStrike October 13 2006 2:46 PM EDT

It's standard practice to give everything an id so that a theme can override anything. Most of the ids would never be used, but they are placed there for the sake of completeness. It doesn't add overhead to have ids that aren't used. The classes then provide for your more generic theming.

AdminQBVerifex October 13 2006 4:01 PM EDT

Adding ID's gives a theme that extra kick in the pants it needs.

Also, Pixel, this is the idea I had. Make all themes basically so that when you load the page without CSS, it looks something like this:

Sidebar Test

I don't have any fancy stuff on the page obviously, but with some work, you could make a fancy menu system to add, and use CSS and magic to add the rest. I wouldn't make it very restrictive, but if you can't help it, atleast use most of the CSS cross-browser stuff.

Also, Jon, I've played CB on IE7 and it works fine. I think they added some new CSS compatibility too. The bad thing is that they added some new Ajax functions because when I visit some sites, the ajax detection mechanism breaks. So far as I can tell though, CB works fine with it as it is.

AdminJonathan October 13 2006 4:05 PM EDT

"It's standard practice to give everything an id so that a theme can override anything."

It might be standard, but it's lazy and confusing to put in ids that won't be used.

It's also a sign that the author doesn't know how to use alternatives to "ids everywhere."

(Which is most CSS authors, so I can well believe that it's standard.)

AdminJonathan October 13 2006 4:07 PM EDT

"CB works fine"

yay mochikit

bartjan October 13 2006 4:10 PM EDT

Good thing the army's standard practice is not to use a MOAB for every mission ;)

Admindudemus [jabberwocky] October 13 2006 4:12 PM EDT

ie7 doesn't work for me with carnage blender. all it will do is keep bumping me back to the login page. i have tried it on 4 different computers and i get the same issue on each. two of those were fresh installs of windows and immediately gettng ie7. sometimes i can get it to work for one session, but then it goes back to the same behavior if i leave cb and then go back.

in summary, i think many people who have used ie in the past may be using firefox instead of ie7 for cb at least.

AdminJonathan October 13 2006 4:29 PM EDT

Sigh, i really don't have enough memory to run VMware well on my laptop (hence, both ie6 and ie7).

Guess I'd better upgrade.

AdminJonathan October 13 2006 4:32 PM EDT

One more point re css id's: it's easy to add id's later if someone wants to do something Pixel doesn't think of in the initial design. It's harder to remove unnecessary ids after the fact (because I'd have to write a CSS parser that asks all of the themes what ids they use).

AdminQBVerifex October 13 2006 4:54 PM EDT

You know, I never knew about :first-child, that combined with specific tags would make it alot easier to write themes without tons of ID tags for massive amounts of customization. Thanks Bart :)
This thread is closed to new posts. However, you are welcome to reference it from a new thread; link this with the html <a href="/bboard/q-and-a-fetch-msg.tcl?msg_id=001vUd">Your opinion on the new Theme Engine</a>