Discussion regarding the Theme System

3 views
Skip to first unread message

Jesse Burns

unread,
May 6, 2014, 7:09:40 AM5/6/14
to allia...@googlegroups.com
I'm going to try to explain the complexity involved in a Theme System and some of the steps I've already taken to address this issue. Any feedback is welcome :-)

A Theme defines what the website page output looks like. There are going to be four things that will create output:
  1. The core system
  2. Modules
  3. Web Service feeds, like a Twitter roll
  4. The theme itself to a minor extent

Our biggest goal while working on the Theme System is to allow a Site Admin to switch between Themes at will, while at the same time making sure that the site output consistently looks good regardless of the active Theme.

In order to offer flexibility to Theme developers we don't want to limit them too much. If they want to use a CSS Framework like Bootstrap, Gumby or Foundation, or if they just want to use Normalize.css and work their own magic, then we need to let them.

But at the same time there has to be some consistency, some guidelines that Theme Developers, System Developers and Modules Developers need to follow.

I've already started working on that solution, but it needs some work and a few opinions from Front End Devs. What I'm currently doing to add guidelines is:

  • "Theme Independent" items for System and Modules Developers
    • We're using PureCSS for layout because you can use the responsive grid system inside of other 3rd party grid systems (so far only tested in Bootstrap and Gumby)
    • Hint.css is available for text hints
    • I've pulled a couple popular features from Bootstrap 3.0 that will be available to all System and Module devs, regardless of what system the Theme is created with
      • Create Alerts, Tabs and Drop Down nav menu items
    • Module Developers will also be able to supply their own custom headers and assets (css, js, images), but this will almost certainly break Multi-Theme compatibility
  • For Theme Developers
    • Theme template must include a few headers and js footers to make sure the above are available
    • We have a list of AllianceCMS Specific css selectors and common HTML5 elements that Theme Devs must create css styles for to maintain consistency (Required CSS Rules)
Like I said, it needs some work and a few opinions from Front End Devs :-)
Reply all
Reply to author
Forward
0 new messages