I absolutely love this module. I'm posting this as an issue because I'm wondering if I should make a new module that just depends on zenophile, or work on this as a patch.
I'd love to extend this to be flexible enough for a non-coding designer to be able to build simple, but good looking, non cookie cutter-esque themes.
The feature list I have would add:
- Type options (overall, and optional heading overrides)
- Color module integration (base colors, link colors)
- Upload background images for body, header, footer
That's really about it, I'm not intending to attempt to build something like the themebuilder module, but more or less an extension to zenophile to essentially 'skin it'.
So, should I work on this as a patch, or a separate module, or a separate module bundled within zenophile :)
Further more, should these additional options be made as part of the available theme configuration settings, or rolled into the same form that creates the zen sub-theme? I'm thinking the latter since the type, and color options would likely get saved in the -fresh.css file.
Thanks!
Comments
Comment #1
elliotttt commentedI decided to take this on as a patch, the new settings will be listed as a field group, and will default to being disabled altogether, so they're out of the way for people using this module to simply jump start a zen sub-theme.
Here is a list of what I'm working on adding:
Please let me know if you have any other suggestions!
The focus of this patch is not a 1-size fits all solution for building complete themes, but more of as a jump-start into setting up color schemes and type settings. Detailed styling should be done directly in the -fresh.css after setting a few options here.
Comment #2
Garrett Albright commentedI'm still on the fence as to whether I want to add more of these sorts of features to Zenophile. Yes, I have the sidebar thing, but that's there because it can save at least a few minutes of mind-bending math from a web designer's day - or in the case of someone less familiar with how Zen's layout theory works, possibly several frustrating hours. But changing background colors or font families… not so difficult, really. (If I were going to add more of these sorts of aids to Zenophile, I would probably start with a check box that adds some CSS to add some friggin' spacing to table cells. …But then again, this is something which can be fixed by simply dupeing and tweaking the default starter theme and creating new themes from that one instead of STARTERKIT. I should do that one of these days. Thinking aloud…)
However, I've also considered adding an API to Zenophile that would allow others to extend it in the ways you're envisioning. You could add your own elements to Zenophile's form; then, after it's submitted and Zenophile has done its thing, it'll call your hook and pass everything along to it before finishing up. Theoretically, you might already be able to do what you need using hook_form_FORM_ID_alter() and your own #submit function to Zenophile's form, but it could be made more straightforward with an API expressly for this purpose.
So at this point, please plan on building an add-on module which depends on and hooks into Zenophile rather than a patch set which hacks it.
Comment #3
elliotttt commentedNot a problem, I think you're right a hook_form_alter will add everything I need to the Create Zen Subtheme page, and the installer/uninstaller is really just for this add on module to cleanup the few system vars it needs.
It should be pretty clean to do it this way because my plan was more or less to simply append to the -fresh.css after the sub-theme has already been generated.
Does it make sense to start this as a new project called something like Zenophile Extras?
Thanks again for the hard work on this module, I rely on it with each project!
Comment #4
Garrett Albright commentedI won't object to that. Go for it.
Comment #5
elliotttt commentedGreat, moving forward on this then, I'll do a dev commit when I have a handful of the above features implemented, and move future discussion of this to it's own issue queue. Of course, should you decide to implement a Zenophile API, I'll do everything I can to help out/integrate zenophile extras. For now it'll rely on hook_form_alter and the core Drupal api.
Thanks for the feedback, and thanks again for making this module!!