Developing RESPONSIVE DRUPAL FRONTENDS WITH THE LATEST TOOLS – Drupalcamp.at 2013 – Daniela Kirsch



Developing RESPONSIVE DRUPAL FRONTENDS WITH THE LATEST TOOLS – Drupalcamp.at 2013 – Daniela Kirsch

0 0


drupalcamp2013_vienna_session

DEVELOPING RESPONSIVE DRUPAL FRONTENDS WITH THE LATEST TOOLS

On Github DanielaKirsch / drupalcamp2013_vienna_session

Developing RESPONSIVE DRUPAL FRONTENDS WITH THE LATEST TOOLS

Drupalcamp.at 2013

Daniela Kirsch

helloplugin.de

About me

Big picture of Daniela

I can not live without these drupal modules

list of modules

About HelloPlugin

Logo with small hint "We hire!"

Our clients - our projects

Screen1 of zB sozialpolitik, thermacare

What this talk is all about

  • planning the frontend
  • Drupal base themes
  • Drupal frontend from scratch
  • BITV in Drupal
  • Tipps for frontend development
  • Advanced: backbone.js

Client says:

“The website should work on all tablets and smartphones, be pixel perfect with that PSD-Layout, fully functional on all web browsers, SEO optimized and BITV2.0 compliant. And editing text and images should be a piece of cake. By the way, IE7 is a must. ”

Yes, it's hard.

You do not have to be afraid ;)

Plan the frontend

Know the requirements: Browsers, Platforms, Devices, Requirements (BITV?) According to this: Choose your tools carefully!

With Drupal the first question is:

Base theme or from scratch?

What is a base theme?

What is a grid system?

Base theme (list of)

How to set up a base theme

Base theme or from scratch?

When to use a base theme

- base theme if you are working close with the designer - if the designer had a grid systems in mind while designing - a base theme can be very fast, for example form-elements are really hard to adapt to all devices / platforms - if you want to develop fast and you are not bound to a layout - if you do not have a layout and have to make up one

When to start from scratch

- if the layout is already done and does not fit into a grid system - if the layout does look completly different from any grid system - IE 7 support is needed

Vertical Slides

Slides can be nested inside of other slides, try pressing down.

Basement Level 1

Press down or up to navigate.

Basement Level 2

Cornify

Basement Level 3

That's it, time to go back up.

Slides

Not a coder? No problem. There's a fully-featured visual editor for authoring these, try it out at http://slid.es.

Point of View

Press ESC to enter the slide overview.

Hold down alt and click on any element to zoom in on it using zoom.js. Alt + click anywhere to zoom back out.

Works in Mobile Safari

Try it out! You can swipe through the slides and pinch your way to the overview.

Marvelous Unordered List

  • No order here
  • Or here
  • Or here
  • Or here

Fantastic Ordered List

One is smaller than... Two is smaller than... Three!

Markdown support

For those of you who like that sort of thing. Instructions and a bit more info available here.

<section data-markdown>
  ## Markdown support

  For those of you who like that sort of thing.
  Instructions and a bit more info available [here](https://github.com/hakimel/reveal.js#markdown).
</section>

Transition Styles

You can select from different transitions, like: Cube - Page - Concave - Zoom - Linear - Fade - None - Default

Themes

Reveal.js comes with a few themes built in: Default - Sky - Beige - Simple - Serif - Night Moon - Simple - Solarized

* Theme demos are loaded after the presentation which leads to flicker. In production you should load your theme in the <head> using a <link>.

Global State

Set data-state="something" on a slide and "something" will be added as a class to the document element when the slide is open. This lets you apply broader style changes, like switching the background.

Custom Events

Additionally custom events can be triggered on a per slide basis by binding to the data-state name.

Reveal.addEventListener( 'customevent', function() {
	console.log( '"customevent" has fired' );
} );

Slide Backgrounds

Set data-background="#007777" on a slide to change the full page background to the given color. All CSS color formats are supported.

Image Backgrounds

<section data-background="image.png">

Repeated Image Backgrounds

<section data-background="image.png" data-background-repeat="repeat" data-background-size="100px">

Background Transitions

Pass reveal.js the backgroundTransition: 'slide' config argument to make backgrounds slide rather than fade.

Background Transition Override

You can override background transitions per slide by using data-background-transition="slide".

Clever Quotes

These guys come in two forms, inline: “The nice thing about standards is that there are so many to choose from” and block:

“For years there has been a theory that millions of monkeys typing at random on millions of typewriters would reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.”

Pretty Code

function linkify( selector ) {
  if( supports3DTransforms ) {

    var nodes = document.querySelectorAll( selector );

    for( var i = 0, len = nodes.length; i < len; i++ ) {
      var node = nodes[i];

      if( !node.className ) {
        node.className += ' roll';
      }
    }
  }
}

Courtesy of highlight.js.

Intergalactic Interconnections

You can link between slides internally, like this.

Fragmented Views

Hit the next arrow...

... to step through ...

any type of view fragments This slide has fragments which are also stepped through in the notes window.

Fragment Styles

There's a few styles of fragments, like:

grow

shrink

roll-in

fade-out

highlight-red

highlight-green

highlight-blue

Spectacular image!

Export to PDF

Presentations can be exported to PDF, below is an example that's been uploaded to SlideShare.

Take a Moment

Press b or period on your keyboard to enter the 'paused' mode. This mode is helpful when you want to take distracting slides off the screen during a presentation.

Stellar Links

THE END

BY Hakim El Hattab / hakim.se