Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Fronteers talk Digiti — "Pre-processing"
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
houbenkristof
June 22, 2012
Technology
640
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Fronteers talk Digiti — "Pre-processing"
SASS, COMPASS & LESS
houbenkristof
June 22, 2012
More Decks by houbenkristof
See All by houbenkristof
Prototyping for the real world.
houbenkristof
1
100
Extending Sketch App with awesomeness.
houbenkristof
2
280
My inner-design-monkey
houbenkristof
1
150
De knop (The button)
houbenkristof
0
73
Challenge accepted!
houbenkristof
1
260
Fronteers conference 2011 summary
houbenkristof
3
170
Other Decks in Technology
See All in Technology
AI感のないAWS構成図をAIエージェントに描かせたい!
sagochiko
2
500
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
2.9k
2026-10-01_MagicPod_QAハーネスエンジニアリングとQA組織の未来像
ynisqa1988
1
420
全社共通データ基盤をつくる。ソニーのDatabricks活用とデータガバナンス設計の裏側
sony
0
300
サーバーフルコンピューティング?AWS Lambda
iwatatomoya
0
130
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
150
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
170
雪かき部 #7 もう怖くない!SELECT文!
foursue
0
270
AI駆動開発で仕様はどこまで書くべきか? ― 人とAIの責務境界から考える開発プロセスの実践
takahiromatsui
1
300
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
310
Amazon Bedrock Agents ClassicからAmazon Bedrock AgentCoreへ移行した際、ガードレール設定が2箇所に割れた話
matsunobu
0
170
The seven pitfalls of AI (revised version)
ufried
0
220
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
550
Raft: Consensus for Rubyists
vanstee
142
7.7k
Building Applications with DynamoDB
mza
96
7.2k
WENDY [Excerpt]
tessaabrams
14
40k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
760
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
550
Prompt Engineering for Job Search
mfonobong
0
470
Music & Morning Musume
bryan
48
7.4k
Ethics towards AI in product and experience design
skipperchong
2
410
The untapped power of vector embeddings
frankvandijk
2
1.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Transcript
Pre-processing INCEPTION ALL OVER AGAIN!
RIP ARJAN EISING He’s not really dead :)
Hi, I’m Kristof @houbenkristof —
[email protected]
Front-end/design at Mobile Vikings
I’m always up for a Challenge
Run a small firm CALLED TREESHADOW MEDIA
Creative Brewski TOGETHER WITH @TOMCLAUS & @DENNISJANSSEN
LEt’s TALK CSS
"You don’t need a new stylesheet syntax, CSS is simple
and you’re a moron if you can’t do it."
C’est très simple
Not that easy to maintain
Stylesheets evolve
Simplicity creates complexity
Keep things DRY DON’T REPEAT YOURSELF
we should Reference to existing information
"CSS is the weakest link in the web developers toolbox.
The problem goes deeper than CSS’s lack of variables. Unlike the “function” in programming, CSS has no fundamental building block."
It’s all about Abstractions
CSS PRIMITIVES HAVE NO MEANING
That’s our job!
Abstractions ARE GROUPS OF PRIMITIVES
Abstractions are not abstract to us
We give BUILDING BLOCKs meaning SO IT MAKES IT EASIER
FOR US TO UNDERSTAND
Our DESIGNS CHANGE
A kitten dies every time that happens
Find & replace OH PLEASE, DON’T GET ME STARTED!
Client: “We want #000 to be #333 but not the
user information underneath my #bada55 body text, oh while you're at it could you position absolute that element and rotate it a gazillion degrees, … oh, #333 doesn't look that great after all… Change it back!”
You’re screwed
What do we NEED?
The interior decorator!
Decorates with parts
He does not make those parts LAMPS, TABLES, CHAIRS…
PArts for PArts
Oh my god YOU REUSED A BUTTON!
When elements are common REUSE tHEM!
Focus! ON WHAT IS IMPORTANT, YOU MUST!
Hard to upgrade Customized third party stylesheets
Clearly we are in need of some Pre-processing
"In computer science, a preprocessor is a program that processes
its input data to produce output that is used as input to another program.” — Wikipedia
Syntactic CUSTOMIZED SYNTAX, EXTEND THE LANGUAGE, ADD IMPROVEMENTS
ex. SASS & LESS
Keeping things maintainable
SASS BY HAMPTON CATLIN & NATHAN WEIZENBAUM
Written in Ruby
Don’t worry, there are also GUI’s
Watches folders & compiles on save
2007 ORIGINAL SASS SYNTAX
None
Hard to convert existing CSS TO SASS
2010 SASS 3 INTRODUCES SCSS
None
Regular CSS = VALID SCSS
BUT WAIT there’s also COMPASS
It’s chock full of the web’s best reusable patterns.
None
None
Also contains other cool features IMAGE SPRITING, COLOR FUNCTIONS
None
None
You say LESS
It’s all javascript ORIGINALLY WRITTEN IN RUBY BY ALEXIS SELLIER
Regular CSS = VALID LESS
LESS INSPIRED SCSS
VS LESS SASS Thanks to Chris Eppstein - https://gist.github.com/674726
Learning curve YOU HAVE TO KNOW JACK SH*T ABOUT THE
CLI
CODEKIT IS HOT!
CSS3 Helpers SASS HAS COMPASS, LESS DOES NOT
Variables
None
Mixins
Extending
Custom units in SASS MAKING THE LANGUAGE MORE FUTUREPROOF
Looping
DEMO
Thank you!
Resources: http://coding.smashingmagazine.com/2011/09/09/an-introduction-to-less-and- comparison-to-sass/ http://sonspring.com/journal/sass-for-designers http://css-tricks.com/sass-vs-less/ http://chriseppstein.github.com/blog/2009/09/20/why-stylesheet-abstraction- matters/
Questions?