Theming: Not modular enough (in General)

QBPixel Sage December 11 2005 10:01 PM EST

Hey everyone,

Some of you know that I've started getting into making themes, such as PsionicBlue. However, the way that CBII is coded makes it difficult and a bit annoying to theme. In other words, it has limitations that keep me from making themes better.

This is more or less a question for John, but feel free to respond with your opinions.

Is there any chance that something will be done to allow more flexibility to themers? Right now it is limited to custom CSS styles and images. You can't even create your own webpage with frames that loads CBII... if it tries to load main.tlc, the entire webpage will reload out of the custom webpage and into the default CBII website.

A code could be written to allow completely customization. For example, I would be coding something in HTML, and would call {character-name} to display the character name or {clans} to insert a link to the clans page.

Of course, this would be more or less a long-term addition, and I as a programmer know its no easy task. Theming isn't a large part of the game, but it does add to the experience... and may urge more to sign up for supportership =P jk.

Maelstrom December 11 2005 10:47 PM EST

I'm just guessing, but it may be intentional that you can't use a custom webpage. Jon is very careful about the server load, and if you were to do something "different" with the info, it could make quite a difference.

QBPixel Sage December 11 2005 11:26 PM EST

I'm pretty sure he did, which is why loading main.tlc causes it to go back to the original webpage. As for the server load, you could allow only certain pages to access information that the original skin does. I'm willing to contemplate on ideas to prevent server overloads, or even work with Jonathan on more cusomized skins.

Of course, most ideas will come with cons, including this one. Part of the reason I created this thread was to talk out how we could work it all out. To "bake" this into a better idea.

AdminJonathan December 11 2005 11:40 PM EST

If you'd like to volunteer to code this, I can get you access to the development machine and subversion repository.

AdminJonathan December 11 2005 11:51 PM EST

... but as Mael guessed, it's quite intentional that CB won't run inside other frames. That's not negotiable. :)

bartjan December 12 2005 1:55 PM EST

CSS *is* how layout in HTML should be done. So using CSS for themes is the only sane way to do it.
Maybe the various things on the page should be divided in more/better detailed classes than we have right now, but given that you can do whatever layout you like in CSS.

Sukotto [lookingglas] December 12 2005 1:56 PM EST

Since we're brainstorming...

Perhaps supporter-only versions of the pages written up in anal retentive CSS allowing for unusual page designs without changing the actual info on each page?

QBPixel Sage December 12 2005 2:05 PM EST

@ Jonathan: That's quite a generous offer, though I'd have to contemplate on it more before deciding whether or not to take up the job.

@ bartjan: That's the problem. The contents of the webpage weren't divided into good detailed classes. As of now, there are many parts of the website that share the same classes and such. Thus, when I want to change only one part of the design, it effects other parts, giving undesirable effects. Of course, if we could do layout in HTML as well, that'd help. Browsers don't all interpret CSS like each other as well as they do HTML.

@ Sukotto: Yeah, that'd be nice. I actually don't want to change any information on the page. The way the site is laid out is great. Its just the customizing of the look that's limited.

bartjan December 12 2005 2:14 PM EST

CB's favorite browser obeys the W3C CSS specs very good.

AdminJonathan December 12 2005 2:42 PM EST

and I agree that CB's css kinda blows. that's why I'm offering pixel a chance to fix it. :)

Hyrule Castle December 12 2005 9:32 PM EST

how about a Christmas theme, since Christmas is coming up :D eh!??. just a thought since you talking about making a new theme

QBsutekh137 December 12 2005 10:40 PM EST

Actually, they are discussing a new "theme" for running the themes. Yeah, the indirection is getting thick. *smile*

Hyrule Castle December 12 2005 10:59 PM EST

i know, im just saying, a holiday (Christmas) theme would be pretty cool, to have during the holidays, like maybe a winter one...

Stephen December 12 2005 11:11 PM EST

CB isn't Google! ;)

QBsutekh137 December 12 2005 11:27 PM EST

Oh, it's a rocking good idea, peanut.

Maelstrom December 12 2005 11:32 PM EST

Well, to be politically correct, we couldn't have just a Christmas theme. We'd have to have Hannukkah, Kwanzaa, Ramadan and any other important religious ones of Buddhists, Hindus, B'Hai, and let's not forget the Rastafarians!

Hmm, that last might be a good year long theme... ;)

Maelstrom December 13 2005 1:58 AM EST

Bast has corrected me: that should have been "Pastafarians".

Forgive me for my mistake, O Great Noodly One.

Xiaz on Hiatus December 13 2005 3:55 AM EST

yeh the classes are limited, and takes a while to find what sections on the actual page belong to what class. this would indeed be a welcome change :)

i mean, better flexible themes? why not! it gets my vote (if my vote counts) :D

QBPixel Sage December 13 2005 3:14 PM EST

I'm wondering... is there any way I could create a more modular HTML code to use, in such a way that only certain themes will use this new clean/flexible code?

We could implement something where only certain themes will use this HTML, such as making it detect for a file in the theme's root directory.

I think this would be a much easier solution than having to create a boat load of code to allow absolute theme customization.

Your thoughts everyone?

AdminShade December 13 2005 3:17 PM EST

Perhaps the same way that you pick a theme now, just have the addition attached to it?

bartjan December 13 2005 3:46 PM EST

Does that subversion repository only contain the user interface part of the game, or the entire game? Maybe I could help a little on this (but I'm seriously swamped with work, so don't expect too much...), but also want the way the game works kept a secret to me, so I can continue playing CB like I'm used to.

AdminJonathan December 13 2005 5:56 PM EST

pixel: I don't want to modernize the html generation while trying to keep the old crufty stuff around too. That would mean every time I made a change to the UI from then out, I'd have to make changes in two places instead of one. Not a good idea for maintenance.

bart: a lot (most?) of the "how CB works" is in modules that don't affect the html generation, but a fair amount is not.

QBPixel Sage December 14 2005 4:07 AM EST

Very true, hadn't thought of that. Well, we'll see. If bartjan is willing to help out, that'd be great.
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=001dQ9">Theming: Not modular enough</a>