Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CoffeeScript and Less
Search
Daniel Shearmur
April 18, 2013
1
120
CoffeeScript and Less
Daniel Shearmur
April 18, 2013
Tweet
Share
More Decks by Daniel Shearmur
See All by Daniel Shearmur
SIPP2 Front-end Optimisations
danshearmur
0
84
Front-end Workshop
danshearmur
0
130
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
460k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
RailsConf 2023
tenderlove
30
1.2k
4 Signs Your Business is Dying
shpigford
184
22k
The Invisible Side of Design
smashingmag
301
51k
The World Runs on Bad Software
bkeepers
PRO
70
11k
A better future with KSS
kneath
239
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Cult of Friendly URLs
andyhume
79
6.6k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Music & Morning Musume
bryan
46
6.8k
Speed Design
sergeychernyshev
32
1.1k
Transcript
None
None
None
BAD
var x = 10; x = 10
functions square = (x) -> x * x cube =
(x) -> square(x) * x cube 4 # same as cube(4)
objects singers = {Jagger: "Rock", Elvis: "Roll"} kids = brother:
'paul' sister: 'jane'
arrays primes = [2, 3, 5, 7, 11, 13] frontEnders
= [ 'dans' 'zsuzsa' 'gib' ]
loops eat food for food in ['toast', 'cheese', 'wine'] for
el in document.querySelectorAll('h2') el.style.display = "none" for key, val of window console.log key, val
conditionals if happy and knowsIt clapHands() else showIt() action =
if isHidden then "show" else "hide" doThings() unless x == 10
classes class Animal constructor: (@name) -> move: (meters) -> alert
@name + " moved #{meters}m." class Snake extends Animal move: -> alert "Slithering..." super 5
splats curryFirst = (fn, first) -> (rest...) -> fn.apply(null, [first].concat(rest))
None
None
variables @primary: #fa0000; a, a:visited { color: @primary; }
mixins .bordered(@colour: black) { border-top: dotted 1px @colour; border-bottom: solid
2px @colour; } #menu a { color: #111; .bordered; } .post a { color: red; .bordered(pink); }
nesting .form-row { .clearfix; .textbox { border: 1px solid black;
&:active { border-color: blue; } } }
operations @base: 5%; @filler: @base * 2; @other: @base +
@filler;
colour functions lighten(@color, 10%); darken(@color, 10%);
import @import url('some.css'); /* bad*/ @import 'some.less'; /* good */