Today I launched a new project that will port hundreds, probably thousands of Joomla, Wordpress and other CMS themes to Drupal.
3rdWorld Themes will become the home of a large repository of free, high quality ported-to-Drupal themes.
The idea has been nearly a year in the making. Phase one was the development of a highly flexible and extensible starter theme called Genesis. I needed a theme I knew like the back of my hand and that I could bend and twist to suit most themes. Unknown to most of you I also built a rather wicked grids based starter-theme but caught a lucky break when Ninesixty came on the scene. I mention these two themes because all the themes at 3rdWorld will be subthemes, either of Genesis or Ninesixty.
UPDATE: I have added both Zen and Blueprint themes as possible base themes for subthemes, this should open it up to more themers and provide some competitive spirit:)
Phase two was amassing a gigantic repo of free and open source themes that were not only free, but beautiful as well. I have around 500 to-be-ported at the moment but believe me when I tell you there are thousands, possibly in the realm of 3000+.
Phase three was more tricky, scheming a year off work so I can do this. I have taken a year sabbatical and will work on this nearly full time from August onwards. The downside is I actually have to study at the same time and write a thesis so I can only be "mostly full time".
Phase four is now - building the 3rdWorld Themes websites and porting the first couple of themes. I have only done two themes so far due to all my other commitments and the need to wind up professional contracts up until late June. Then I take a month off in July and start back in earnest in August.
Please understand the site is in early beta, I will be adding Views soon enough so we can sort and filter more effectively.
Right now I only plan to support Drupal 6. Post code freeze I'll start looking at the Drupal 7 situation more closely. Sorry, no plans to support Drupal 5.
Why Port themes, what about original works?
First, I am not a designer, so I have to do what I do best and thats building themes from other peoples designs. Second, I don't have time to design 1000 unique and original works. Third, there is an abundance of free and open source themes that look great on Drupal, so why not.
Whats the Catch?
No support, no forum, nothing. Just download and use. This is how almost every other project operates. I cannot afford to run busy forums or provide any support in any way. If you email me it will be ignored.
Can I Participate?
Dam strait you can. There will be many ways to contribute:
1) Port themes and upload them
2) Add PSD designs you want ported to Drupal
3) Nominate open source themes you would like ported
4) Give me money so I can eat (and go to Drupalcon Paris)
Of these options only number #1 is currently possible, and you will need to sign up an account and have it approved. Because we do not have support or version control it is very important you build themes of high quality that don't break, easily.
I know theres going to be detractors to this. Well, Drupal is a do-ocracy, and I'm doing it. Enough of this talk that Drupal cant look great, because it can, and I for one am putting my hand up and making a monumental effort to redress the situation, starting now.
Download our first themes now - 3rdWorld Themes.
Comments
Neat idea
I really love the idea and I understand you can't support tons of themes for free. But I'd like to suggest maybe adding something where folks who are interested in offering support can "adopt" a theme and bring it over to drupal.org.
Michelle
...
As long as the licenses permit then sure, my part is all GPL so anyone can do what they like with it. If a theme got real popular I would probably do that myself and then seek maintainers etc. Cool, thanks for the feedback.
Pimp your Drupal 8 Toolbar - make it badass.
Adaptivetheme - theming system for people who don't code.
.
Well, I was just meaning that, once a theme was adopted, there would be a note on your site pointing at the project.
I've always thought that there should be an easier way for folks who just want to contribute a theme without all the baggage of learning CVS and long term support. It's a pity it didn't happen on d.o, but hopefully your site will be it. :)
Michelle
...
Actually, this is a great idea Michelle, I really like it. Looks like another use for Flag? Yes, I am going to do that asap, its brilliant.
I totally agree about CVS, what a minefield that is for budding themers and designers. And the support thing, well, sucks also. Sorry but it does. I like helping people but I want to be free to work on new stuff, not weighed down by yesterdays efforts.
I was chatting to someone at Drupalcamp Copenhagen a few weeks ago and casually mentioned that I had 40+ subthemes I had chosen not to contribute to D.O. Number one reason? As stated above - support+CVS.
Pimp your Drupal 8 Toolbar - make it badass.
Adaptivetheme - theming system for people who don't code.
CVS & Support
I suggest a long time ago... I think a couple of years ago... That there be a forum or something where people could just dump stuff they want to share. There'd be a big red warning that the code is potentially insecure and use at your own risk and all of that. That way folks could contribute without all the baggage. No one liked the idea, though, so it didnt' go anywhere.
One thing I was thinking of for your site is maybe don't rule out the forums. Just make it clear that they aren't "staffed". If you set up a forum, folks can discuss the themes, maybe help themselves out with issues, etc. And you can always peek in at your leisure and see if there's something you want to help out with, which is different than the issue queues here where there's sort of an expectation that the maintainer will help. Anyway, just a thought...
Michelle
omg i cant w8:D
omg i cant w8:D
...
dam strait my man dorian, you and thousands of other deprived souls, lol :)
Pimp your Drupal 8 Toolbar - make it badass.
Adaptivetheme - theming system for people who don't code.
jmburnz
You rock!
I've followed genesis for a long time now, and I learned to theme drupal sites with it.
Thank you for your continued efforts!
You are awesome jmburnz :D
Ok, got my account, set up a dedicated clean copy of Drupal for theming goodness, Genesis installed, and scoping out themes to begin porting :) There's quite a few I dig from the link you suggested.
One suggestion in the mean time until we have more detailed tools/info as discussed in the comments of your site's post... can we get a wiki page on the site where anyone who's beginning on a theme can add a note about the themes they're working on? Don't want to accidentally pick themes that someone else is doing.
Also, though I knew what to do myself, thought it might be helpful if we write a page for "getting your theming setup together" so that the results are as complete and consistent as possible, with suggestions on a few things like: suggestion to use a clean install with no extra modules that may change the output (and thus not show up correctly on other people's sites)... what settings to enable on the site so every element that needs to get themed is exposed (e.g. mission statement, footer text, menus, user pictures, etc)... produce consistent demo content with Devel Generate (e.g. need to generate taxonomy terms, maybe some users, then content with comments, enough content to cause pagers to show for theming them, etc). It occurred to me it might be cool to offer themers a zipped copy of Drupal and the database pre-setup for import (or maybe a totally cool developer can chip in with an installation profile hehe), though pretty sure any Drupal themer is likely to know how to import an sql file, so installation profile might be overboard.
Time for some theming :)
Interesting
/Keyz chuckles to himself... been looking through the code of many WordPress themes today. Every one of them so far has as much or more PHP than a Drupal theme :D Most actually have "more complex" PHP than Drupal themes tend to and more instances of PHP logic within the template files. They even have something akin to our template.php (a functions.php file), though I doubt it does the scope of things we like to do in template.php ;) I just really don't understand why themers find WP easier to theme than Drupal though (other than past reputation perhaps, or maybe to do with the different architecture, and optional possibilities for template suggestions/overrides and such). Just leads me further to believe a big aspect of the problem is indeed the CVS and "expected long term support" elements in drupal.org themes that are a main deterrent to developing and sharing themes.
Well back to theming :P
Another thought :D I noticed
Another thought :D
I noticed that quite a few WordPress themes include theming for their Calendar widget. Since we've already got the CSS to work with, instead of just tossing it out it might be good for us to either a) Go for a simple method of offering a non-dynamic HTML version of a Drupal calendar that themers can then apply the correct styles to (e.g. just paste the HTML into a custom block), or b) If we do offer a downloadable "themers copy" of Drupal or an install profile, include a functional calendar in it.
...
@plastique - thanks man, just trying to chip in with my bit:)
@keyz:
I'll put up a wiki page as you suggest, I'm a bit pressed for time this weekend.
I like the idea of some documentation for setting up a clean install of Drupal, one focused on themers, perhaps this should be on d.o? I've got a page with with links and comments about helpful tools and modules, but no real instructions on how to pull it all together, so that is needed as you point out.
Yes, I think the issues surrounding contrib are a pretty major factor (CVS, Project management and support etc), although I tend to think its a whole combination of factors. My feeling is that if we could show that Drupal could be profitable we would see an avalange of themes from the top designers...
I don't look at the PHP of any theme I am porting. I've themed WP enough to know what is going on, but even then I don't really care about the features the Joomla and WP themes support. What I do is think "Drupal" and try to produce a generic theme that is flexible, rather than attempting to emulate the feature set. WP themers love to code plugin support right into the theme, which pretty much sux for Drupal if we tried to do that. In the Compositio theme I gave direct CSS support for Activity Stream and Tagadelic blocks, but thats about as far as I go.
My process goes somethign like this:
1) study the HTML of the theme, and then emulate the layout in page.tpl.php by moving things around and removing regions or elements I wont be using. Note that I don't try to copy the layout, I just emulate the look/layout of it. I might use a genesis layout override to set sidebar widths etc.
2) I copy all the images to the subtheme images folder. In both Joomla and WP the norm is /images, and thats why in Genesis its /images also, the difference being that Genesis keeps CSS in a sub directory also, so you only need to append ../ to image paths.
3) I start copying over the CSS to Genesis, this is where Firebug usage and copy/paste kicks into high gear. 75% of the time I just copy paste the CSS and it just works. This process involves a) inspecting the element in the source theme and copying the CSS for a particular selector, then finding the corresponding selector in Genesis and then pasting in the CSS to the right stylesheet (firebug lets you know which one). This is why Genesis has hundreds of pre-written selector/declaration blocks in the stylesheets, so its very easy and fast to execute this process.
4) Write theme functions/preprocess functions to support the theme. There never seems to be many of these.
5) Tweak the CSS and HTML to suit, I end up writing some of the CSS from scatch but mostly its just small adaptations.
Do read all the stylesheets and study some of the themes I have already ported, you'll see there are snippets for hiding content, positioning primary and secondary links, jQUery equal height columns, Conditional Styles module built in and of course Gpanels - all of which make building themes easier and very very fast.
Pimp your Drupal 8 Toolbar - make it badass.
Adaptivetheme - theming system for people who don't code.
Wiki Added
Heres what I came up with:
Added new node type "wiki", use this to add themes you want ported - ANY registered member can add themes they want ported.
New section "wiki" - http://3rdworldthemes.org/wiki
New vocab "Status" - select the port status so we can sort with Views and see where each theme is at.
Themers can edit any wiki page and claim a theme (if you do, set the status to "Port in Progress").
So the upshot is that registered members can add a theme to be ported, then themers come along and claim them, and we can all see where each theme is up to. Any registered member can add comments to wiki pages.
Any suggestions?
Pimp your Drupal 8 Toolbar - make it badass.
Adaptivetheme - theming system for people who don't code.