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
130
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CoffeeScript and Less
Daniel Shearmur
April 18, 2013
More Decks by Daniel Shearmur
See All by Daniel Shearmur
SIPP2 Front-end Optimisations
danshearmur
0
90
Front-end Workshop
danshearmur
0
140
Featured
See All Featured
Abbi's Birthday
coloredviolet
3
9.8k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
It's Worth the Effort
3n
188
29k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
340
Optimising Largest Contentful Paint
csswizardry
37
3.9k
We Have a Design System, Now What?
morganepeng
55
8.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
720
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
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 */