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
82
Front-end Workshop
danshearmur
0
130
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
238
11k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
A better future with KSS
kneath
231
17k
Building an army of robots
kneath
300
42k
The Mythical Team-Month
searls
217
42k
Testing 201, or: Great Expectations
jmmastey
32
6.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.2k
Why Our Code Smells
bkeepers
PRO
331
56k
Fantastic passwords and where to find them - at NoRuKo
philnash
40
2.6k
Scaling GitHub
holman
457
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
661
120k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
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 */