SlideShare a Scribd company logo
Haml & Sass (SCSS)
by Krzysztof Jablonski
ERb (Embedded Ruby)
ERb is the default template language included with Rails.
It is very similar to PHP, JSP and ASP.
ERb (Embedded Ruby)
ERb is the default template language included with Rails.
It is very similar to PHP, JSP and ASP.
ERb (Embedded Ruby)
ERb is the default template language included with Rails.
It is very similar to PHP, JSP and ASP.
ERb (Embedded Ruby)
<%= %>
will render the result returned from the embedded Ruby expression
as text
ERb (Embedded Ruby)
<%= %>
will render the result returned from the embedded Ruby expression
as text
<% %> 
will execute the embedded expression without rendering the result
ERb (Embedded Ruby)
<%= %>
will render the result returned from the embedded Ruby expression
as text
<% %> 
will execute the embedded expression without rendering the result
<% -%>
will execute the embedded expression without rendering the
result and will suppress trailing whitespace
ERb (Embedded Ruby)
<%= %>
will render the result returned from the embedded Ruby expression
as text
<% %> 
will execute the embedded expression without rendering the result
<% -%>
will execute the embedded expression without rendering the
result and will suppress trailing whitespace
<%- %>
will execute the embedded expression without rendering the result
and will suppress leading whitespace
ERb (Embedded Ruby)
<%= %>
will render the result returned from the embedded Ruby expression
as text
<% %> 
will execute the embedded expression without rendering the result
<% -%>
will execute the embedded expression without rendering the
result and will suppress trailing whitespace
<%- %>
will execute the embedded expression without rendering the result
and will suppress leading whitespace
<%# %>
will cause the embedded expression to be parsed as a comment
Haml
Haml is based on one primary principle. Markup should be
beautiful.
Haml
Haml is based on one primary principle. Markup should be
beautiful.
index.html.haml
Haml
Haml is based on one primary principle. Markup should be
beautiful.
index.html.haml
index.html.erb
Haml examples
Haml examples
Haml examples
Haml examples
Haml 3.0
Easier Multiline Ruby Functions
Haml 3.0
Custom Data Attributes
CSS (Cascading Style Sheets)
CSS (Cascading Style Sheets)
Netguru rules:
CSS (Cascading Style Sheets)
Netguru rules:
one style sheet for all browsers
CSS (Cascading Style Sheets)
Netguru rules:
one style sheet for all browsers
IE6 support
CSS (Cascading Style Sheets)
Netguru rules:
one style sheet for all browsers
IE6 support
rounded corners (CSS)
CSS (Cascading Style Sheets)
Netguru rules:
one style sheet for all browsers
IE6 support
rounded corners (CSS)
only PNG without PNGfix
Sass 
Sass is an extension of CSS3, adding:
nested rules,
variables,
mixins,
selector inheritance,
and more.
Sass
 
Sass
 
Sass
 
Sass
 
Sass vs SCSS (Sassy CSS)
SCSS SASS
Sass 3
variables with the $ prefix instead of ! (bang)
Sass 3
variables with the $ prefix instead of ! (bang)
mixins are declared with @mixin and included with
@include
Sass 3
variables with the $ prefix instead of ! (bang)
mixins are declared with @mixin and included with
@include
color functions (lighten, darken, etc.)
Sass 3
variables with the $ prefix instead of ! (bang)
mixins are declared with @mixin and included with
@include
color functions (lighten, darken, etc.)
selector inheritance (@extend) 
Sass 3
variables with the $ prefix instead of ! (bang)
mixins are declared with @mixin and included with
@include
color functions (lighten, darken, etc.)
selector inheritance (@extend) 
= is no longer necessary for declaring properties with
variable values
Sass 3
variables with the $ prefix instead of ! (bang)
mixins are declared with @mixin and included with
@include
color functions (lighten, darken, etc.)
selector inheritance (@extend) 
= is no longer necessary for declaring properties with
variable values
strings without quotes were deprecated
Sites
http://haml-lang.com/
http://sass-lang.com/
http://nex-3.com/

More Related Content

What's hot

Design todevelop
Design todevelopDesign todevelop
Design todevelop
Jason Yingling
 
Wrangling the CSS Beast with Sass
Wrangling the CSS Beast  with SassWrangling the CSS Beast  with Sass
Wrangling the CSS Beast with Sass
Rob Friesel
 
HTML5, CSS, JavaScript Style guide and coding conventions
HTML5, CSS, JavaScript Style guide and coding conventionsHTML5, CSS, JavaScript Style guide and coding conventions
HTML5, CSS, JavaScript Style guide and coding conventions
Knoldus Inc.
 
Advanced sass/compass
Advanced sass/compassAdvanced sass/compass
Advanced sass/compass
Nick Cooley
 
Perfect Styling - How to write better CSS
Perfect Styling - How to write better CSSPerfect Styling - How to write better CSS
Perfect Styling - How to write better CSS
Artem Tabalin
 
Rango
RangoRango
Flickr Architecture Presentation
Flickr Architecture PresentationFlickr Architecture Presentation
Flickr Architecture Presentationeraz
 

What's hot (9)

Design todevelop
Design todevelopDesign todevelop
Design todevelop
 
Css 3
Css 3Css 3
Css 3
 
Css 3
Css 3Css 3
Css 3
 
Wrangling the CSS Beast with Sass
Wrangling the CSS Beast  with SassWrangling the CSS Beast  with Sass
Wrangling the CSS Beast with Sass
 
HTML5, CSS, JavaScript Style guide and coding conventions
HTML5, CSS, JavaScript Style guide and coding conventionsHTML5, CSS, JavaScript Style guide and coding conventions
HTML5, CSS, JavaScript Style guide and coding conventions
 
Advanced sass/compass
Advanced sass/compassAdvanced sass/compass
Advanced sass/compass
 
Perfect Styling - How to write better CSS
Perfect Styling - How to write better CSSPerfect Styling - How to write better CSS
Perfect Styling - How to write better CSS
 
Rango
RangoRango
Rango
 
Flickr Architecture Presentation
Flickr Architecture PresentationFlickr Architecture Presentation
Flickr Architecture Presentation
 

Viewers also liked

Pollner figurativelanguage
Pollner figurativelanguagePollner figurativelanguage
Pollner figurativelanguageJill Myers
 
Langer dan 4 jaar doen met je pc
Langer dan 4 jaar doen met je pcLanger dan 4 jaar doen met je pc
Langer dan 4 jaar doen met je pcgroenkantoor
 
DICTIONARY INFORMATICA
DICTIONARY INFORMATICADICTIONARY INFORMATICA
DICTIONARY INFORMATICAEjSOLANO
 
Theories of child Development
Theories of child DevelopmentTheories of child Development
Theories of child Development
Reksiana
 
Virtual classrooms warrier&preeti
Virtual classrooms warrier&preetiVirtual classrooms warrier&preeti
Virtual classrooms warrier&preetiRama Warrier
 
Apple project final
Apple project finalApple project final
Apple project finalntsela
 
Risk based capital management preeti & warrier
Risk based capital management preeti & warrierRisk based capital management preeti & warrier
Risk based capital management preeti & warrier
Rama Warrier
 
New mediakeynote
New mediakeynoteNew mediakeynote
New mediakeynote
gcrow89
 
An approach to erm in the insurance industry apria 2002 rama warrier&preeti
An approach to erm in the insurance industry apria 2002 rama warrier&preetiAn approach to erm in the insurance industry apria 2002 rama warrier&preeti
An approach to erm in the insurance industry apria 2002 rama warrier&preeti
Rama Warrier
 
Presentazione geometri2012 13
Presentazione geometri2012 13Presentazione geometri2012 13
Presentazione geometri2012 13Sandra Brunettin
 
Pollner figurativelanguage
Pollner figurativelanguagePollner figurativelanguage
Pollner figurativelanguageJill Myers
 

Viewers also liked (17)

Pollner figurativelanguage
Pollner figurativelanguagePollner figurativelanguage
Pollner figurativelanguage
 
Langer dan 4 jaar doen met je pc
Langer dan 4 jaar doen met je pcLanger dan 4 jaar doen met je pc
Langer dan 4 jaar doen met je pc
 
DICTIONARY INFORMATICA
DICTIONARY INFORMATICADICTIONARY INFORMATICA
DICTIONARY INFORMATICA
 
Theories of child Development
Theories of child DevelopmentTheories of child Development
Theories of child Development
 
Virtual classrooms warrier&preeti
Virtual classrooms warrier&preetiVirtual classrooms warrier&preeti
Virtual classrooms warrier&preeti
 
Editorial
EditorialEditorial
Editorial
 
Apple project final
Apple project finalApple project final
Apple project final
 
Institucional Anacã
Institucional AnacãInstitucional Anacã
Institucional Anacã
 
Activemerchant
ActivemerchantActivemerchant
Activemerchant
 
Risk based capital management preeti & warrier
Risk based capital management preeti & warrierRisk based capital management preeti & warrier
Risk based capital management preeti & warrier
 
RupyTuesday - Facebook
RupyTuesday - FacebookRupyTuesday - Facebook
RupyTuesday - Facebook
 
New mediakeynote
New mediakeynoteNew mediakeynote
New mediakeynote
 
An approach to erm in the insurance industry apria 2002 rama warrier&preeti
An approach to erm in the insurance industry apria 2002 rama warrier&preetiAn approach to erm in the insurance industry apria 2002 rama warrier&preeti
An approach to erm in the insurance industry apria 2002 rama warrier&preeti
 
Presentazione geometri2012 13
Presentazione geometri2012 13Presentazione geometri2012 13
Presentazione geometri2012 13
 
Pollner figurativelanguage
Pollner figurativelanguagePollner figurativelanguage
Pollner figurativelanguage
 
6 word memoir
6 word memoir6 word memoir
6 word memoir
 
Heroes de novela
Heroes de novelaHeroes de novela
Heroes de novela
 

Similar to Haml & sass

Killing the Angle Bracket
Killing the Angle BracketKilling the Angle Bracket
Killing the Angle Bracket
jnewmanux
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
chamomilla
 
Elegant CSS Design In Drupal: LESS vs Sass
Elegant CSS Design In Drupal: LESS vs SassElegant CSS Design In Drupal: LESS vs Sass
Elegant CSS Design In Drupal: LESS vs SassMediacurrent
 
Authoring Stylesheets with Compass & Sass
Authoring Stylesheets with Compass & SassAuthoring Stylesheets with Compass & Sass
Authoring Stylesheets with Compass & Sass
chriseppstein
 
What is LessCSS and its Detailed Explation - Xhtmlchop
What is LessCSS and its Detailed Explation - XhtmlchopWhat is LessCSS and its Detailed Explation - Xhtmlchop
What is LessCSS and its Detailed Explation - Xhtmlchop
xhtmlchop
 
Intro to Ruby on Rails
Intro to Ruby on RailsIntro to Ruby on Rails
Intro to Ruby on Rails
elpizoch
 
Write LESS. DO more.
Write LESS. DO more.Write LESS. DO more.
Write LESS. DO more.
Eugene Nor
 
Choosing a Templating System
Choosing a Templating SystemChoosing a Templating System
Choosing a Templating System
Perrin Harkins
 
HTML5 and CSS3 for Teachers
HTML5 and CSS3 for TeachersHTML5 and CSS3 for Teachers
HTML5 and CSS3 for Teachers
Jason Hando
 
How DSL works on Ruby
How DSL works on RubyHow DSL works on Ruby
How DSL works on Ruby
Hiroshi SHIBATA
 
Ruby and Rails short motivation
Ruby and Rails short motivationRuby and Rails short motivation
Ruby and Rails short motivationjistr
 
Pacific Northwest Drupal Summit: Basic & SASS
Pacific Northwest Drupal Summit: Basic & SASSPacific Northwest Drupal Summit: Basic & SASS
Pacific Northwest Drupal Summit: Basic & SASS
Steve Krueger
 
Haml And Sass: Put your markup on a diet
Haml And Sass: Put your markup on a dietHaml And Sass: Put your markup on a diet
Haml And Sass: Put your markup on a diet
davidsidlinger
 
Advanced sass
Advanced sassAdvanced sass
Advanced sass
Kianosh Pourian
 
Rails Vs CakePHP
Rails Vs CakePHPRails Vs CakePHP
Rails Vs CakePHP
Gautam Rege
 
Css preprocessor-140606115334-phpapp01
Css preprocessor-140606115334-phpapp01Css preprocessor-140606115334-phpapp01
Css preprocessor-140606115334-phpapp01
Anam Hossain
 
CSS preprocessor: why and how
CSS preprocessor: why and howCSS preprocessor: why and how
CSS preprocessor: why and howmirahman
 

Similar to Haml & sass (20)

Soap vs-rest
Soap vs-restSoap vs-rest
Soap vs-rest
 
Killing the Angle Bracket
Killing the Angle BracketKilling the Angle Bracket
Killing the Angle Bracket
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Elegant CSS Design In Drupal: LESS vs Sass
Elegant CSS Design In Drupal: LESS vs SassElegant CSS Design In Drupal: LESS vs Sass
Elegant CSS Design In Drupal: LESS vs Sass
 
Authoring Stylesheets with Compass & Sass
Authoring Stylesheets with Compass & SassAuthoring Stylesheets with Compass & Sass
Authoring Stylesheets with Compass & Sass
 
What is LessCSS and its Detailed Explation - Xhtmlchop
What is LessCSS and its Detailed Explation - XhtmlchopWhat is LessCSS and its Detailed Explation - Xhtmlchop
What is LessCSS and its Detailed Explation - Xhtmlchop
 
Intro to Ruby on Rails
Intro to Ruby on RailsIntro to Ruby on Rails
Intro to Ruby on Rails
 
Write LESS. DO more.
Write LESS. DO more.Write LESS. DO more.
Write LESS. DO more.
 
Choosing a Templating System
Choosing a Templating SystemChoosing a Templating System
Choosing a Templating System
 
HTML5 and CSS3 for Teachers
HTML5 and CSS3 for TeachersHTML5 and CSS3 for Teachers
HTML5 and CSS3 for Teachers
 
How DSL works on Ruby
How DSL works on RubyHow DSL works on Ruby
How DSL works on Ruby
 
Ruby and Rails short motivation
Ruby and Rails short motivationRuby and Rails short motivation
Ruby and Rails short motivation
 
Pacific Northwest Drupal Summit: Basic & SASS
Pacific Northwest Drupal Summit: Basic & SASSPacific Northwest Drupal Summit: Basic & SASS
Pacific Northwest Drupal Summit: Basic & SASS
 
Haml And Sass: Put your markup on a diet
Haml And Sass: Put your markup on a dietHaml And Sass: Put your markup on a diet
Haml And Sass: Put your markup on a diet
 
-Haml Presentation
-Haml Presentation-Haml Presentation
-Haml Presentation
 
Advanced sass
Advanced sassAdvanced sass
Advanced sass
 
Rails Vs CakePHP
Rails Vs CakePHPRails Vs CakePHP
Rails Vs CakePHP
 
Css preprocessor-140606115334-phpapp01
Css preprocessor-140606115334-phpapp01Css preprocessor-140606115334-phpapp01
Css preprocessor-140606115334-phpapp01
 
CSS preprocessor: why and how
CSS preprocessor: why and howCSS preprocessor: why and how
CSS preprocessor: why and how
 
Week 1
Week 1Week 1
Week 1
 

Recently uploaded

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 

Recently uploaded (20)

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 

Haml & sass

  • 1. Haml & Sass (SCSS) by Krzysztof Jablonski
  • 2. ERb (Embedded Ruby) ERb is the default template language included with Rails. It is very similar to PHP, JSP and ASP.
  • 3. ERb (Embedded Ruby) ERb is the default template language included with Rails. It is very similar to PHP, JSP and ASP.
  • 4. ERb (Embedded Ruby) ERb is the default template language included with Rails. It is very similar to PHP, JSP and ASP.
  • 5. ERb (Embedded Ruby) <%= %> will render the result returned from the embedded Ruby expression as text
  • 6. ERb (Embedded Ruby) <%= %> will render the result returned from the embedded Ruby expression as text <% %>  will execute the embedded expression without rendering the result
  • 7. ERb (Embedded Ruby) <%= %> will render the result returned from the embedded Ruby expression as text <% %>  will execute the embedded expression without rendering the result <% -%> will execute the embedded expression without rendering the result and will suppress trailing whitespace
  • 8. ERb (Embedded Ruby) <%= %> will render the result returned from the embedded Ruby expression as text <% %>  will execute the embedded expression without rendering the result <% -%> will execute the embedded expression without rendering the result and will suppress trailing whitespace <%- %> will execute the embedded expression without rendering the result and will suppress leading whitespace
  • 9. ERb (Embedded Ruby) <%= %> will render the result returned from the embedded Ruby expression as text <% %>  will execute the embedded expression without rendering the result <% -%> will execute the embedded expression without rendering the result and will suppress trailing whitespace <%- %> will execute the embedded expression without rendering the result and will suppress leading whitespace <%# %> will cause the embedded expression to be parsed as a comment
  • 10. Haml Haml is based on one primary principle. Markup should be beautiful.
  • 11. Haml Haml is based on one primary principle. Markup should be beautiful. index.html.haml
  • 12. Haml Haml is based on one primary principle. Markup should be beautiful. index.html.haml index.html.erb
  • 17. Haml 3.0 Easier Multiline Ruby Functions
  • 18. Haml 3.0 Custom Data Attributes
  • 20. CSS (Cascading Style Sheets) Netguru rules:
  • 21. CSS (Cascading Style Sheets) Netguru rules: one style sheet for all browsers
  • 22. CSS (Cascading Style Sheets) Netguru rules: one style sheet for all browsers IE6 support
  • 23. CSS (Cascading Style Sheets) Netguru rules: one style sheet for all browsers IE6 support rounded corners (CSS)
  • 24. CSS (Cascading Style Sheets) Netguru rules: one style sheet for all browsers IE6 support rounded corners (CSS) only PNG without PNGfix
  • 25. Sass  Sass is an extension of CSS3, adding: nested rules, variables, mixins, selector inheritance, and more.
  • 30. Sass vs SCSS (Sassy CSS) SCSS SASS
  • 31. Sass 3 variables with the $ prefix instead of ! (bang)
  • 32. Sass 3 variables with the $ prefix instead of ! (bang) mixins are declared with @mixin and included with @include
  • 33. Sass 3 variables with the $ prefix instead of ! (bang) mixins are declared with @mixin and included with @include color functions (lighten, darken, etc.)
  • 34. Sass 3 variables with the $ prefix instead of ! (bang) mixins are declared with @mixin and included with @include color functions (lighten, darken, etc.) selector inheritance (@extend) 
  • 35. Sass 3 variables with the $ prefix instead of ! (bang) mixins are declared with @mixin and included with @include color functions (lighten, darken, etc.) selector inheritance (@extend)  = is no longer necessary for declaring properties with variable values
  • 36. Sass 3 variables with the $ prefix instead of ! (bang) mixins are declared with @mixin and included with @include color functions (lighten, darken, etc.) selector inheritance (@extend)  = is no longer necessary for declaring properties with variable values strings without quotes were deprecated
  • 37.