Omega 4 demonstration notes

Omega 4.x Demonstration w/Sebastian aka fubhy, by Joel Moore

Introduction

Sebastian Siemssen is a lead maintainer for the Omega theme and the Translation Management Tool. He is also a maintainer of many other Drupal modules. He gives a full demonstration of his theming workflow and the rationale behind it. They system he uses is very flexible, fast, and extendable. These are my personal notes from the demonstration.

Cheers,
Jeff

SASS and Ruby

Might want to use RVM

  • It is controversial
  • Might be good for beginners
  • Each project sort of gets its own sandbox so if you mess it up, you don’t mess up your whole environment

Bundler, Guard, Live Reload

Bundler

  • From bundler homepage: Bundler maintains a consistent environment for ruby applications. It tracks an application’s code and the rubygems it needs to run, so that an application will always have the exact gems (and versions) that it needs to run.
    With Bundler, it can be easy to share your code between development, staging and production machines. Of course, you know how to share your own application or gem: stick it on GitHub and clone it where you need it. Bundler makes it easy to make sure that your application has the dependencies it needs to start up and run without errors.

Guard

  • From github repo: Guard is a command line tool to easily handle events on file system modifications

Live Reload

When you make a change to your css or js files, the browser is updated automatically.
In the theme setttings in the UI, enable development mode which then allows you to enable liveReload.
This works by adding a .js file to the bottom of every page.

  • The .js file is served automatically when you start guard (bundle guard exec)

Usage:

  • cd to your theme folder
  • When you first get a theme, run bundle install
    • Sets up your ruby environment with the right gems
  • When working on the theme, run bundle exec guard

Panelizer, views, and view modes

  • Need entity api module
  • Need entity view modes module
  • Use panels everywhere to let panels take over the entire page (instead of just using page.tpl.php).
  • Panelizer takes over the rendering of view modes
    • It appears that when you first enable the module, it doesn’t do anything
      • You have to visit admin/config/content/panelizer
      • There you can enable panelizer on each view mode for each entity type and for each bundle.
  • The entity view modes module lets you pick the views row style: rendered entity
    • When you choose that row style, it asks you which view mode you want to use.

Misc

Using something that adds media query support for IE8, like respond.js, slows down IE quite a lot – to the point where it’s almost unusable. Why would you try to make IE8 responsive anyway? IE8 is a desktop-only browser so the only reason you would make it responsive is so you can show it off to the client…. The questions is then, do you need responsiveness in a desktop browser at all? Is it ever useful? Maybe and maybe not. Omega, by default, doesn’t use respond or other IE8 sort of polyfills, but there are a few simple checkboxes in the theme config to automatically add some of them, including respond.js.

Tags

Internal References

External References

Article Type

General