Introducing ThemeEngine.NFL, an experiment in BlogEngine dynamic theming.
I have been working on lots of ideas around BlogEngine lately, and I have found lots of themes that I would like to convert from lots of other places. But, for the most part, I am pretty conservative when it comes to my blog design, and I tend to really like the 2 or 3 column pages, with a header, menu, and footer. And, with that being the case, I thought it would be really easy to create a base structure, 2 column in this instance, and generate a whole bunch of color schemes for it, and let the visitors decide which they like the best. And, with that idea, ThemeEngine was born, and built as a proof of concept.
After I got the initial structure and scheme defined, I just needed a bunch of color schemes to fill it out. I needed a set that was big enough to prove the point, but not just a random set of colors. Somewhere along the line, I decided to generate a color scheme for each team in the NFL. Unfortunately, some teams have really ugly colors, and it reflects in the theme. (Sorry Bills fans.) This theme is not meant to be a perfect set of themes for all the NFL teams, but a base to prove what could be done with BlogEngine, so please forgive some of the unpolished themes contained here.
The visitor preference is set in a cookie, and is completely managed in the template, so no modifications to BlogEngine are required. And, if you open the site.master.cs file, you can turn off the visitor selectable theme by setting the COOKIE_ENABLED constant to false, and it will use the theme in the DEFAULT_THEME constant. Maybe it would be cool to build an extension to enable you to set these configuration values from the administration section of BlogEngine, but that's not available right now.
The following screenshots were all taken of the same theme, with a visitor-selectable color scheme.
Demo: http://www.gravitycube.net/blog/?theme=ThemeEngine.NFL.1.0
Download: ThemeEngine.NFL.1.0.zip
This opens up lots of doors for people running different kinds of blogs. Say you ran a celebrity gossip blog, and you could design themes for your favorite celebrities and let the user pick their favorite while they browsed your site. Or, if you actually did run a sports/NFL blog, this implementation would be great. And, the same idea could be applied to all sports, or practically any other genre out there. The options are limitless, and this is just one more example of how BlogEngine enables you to do whatever you want with YOUR blog.
Anyway, check out my experiment, and let me know what you think, or if you find any bugs. And, please forgive some the lack of tuning on the actual designs.
Special thanks go out to Adam Zastawski and Jason Lay for all their help and inspiration.
Jesse Foster | jf26028