8
.snyk
8
.snyk
@ -23,6 +23,14 @@ patch:
|
||||
patched: '2016-07-11T14:56:14.310Z'
|
||||
- gulp-nodemon > gulp > vinyl-fs > glob-watcher > gaze > globule > glob > minimatch:
|
||||
patched: '2016-07-11T14:56:14.310Z'
|
||||
- gulp-nodemon > gulp > vinyl-fs > glob-stream > minimatch:
|
||||
patched: '2016-07-20T15:33:26.680Z'
|
||||
- gulp-nodemon > gulp > vinyl-fs > glob-stream > glob > minimatch:
|
||||
patched: '2016-07-20T15:33:26.680Z'
|
||||
- gulp-nodemon > gulp > vinyl-fs > glob-watcher > gaze > globule > minimatch:
|
||||
patched: '2016-07-20T15:33:26.680Z'
|
||||
- gulp-nodemon > gulp > vinyl-fs > glob-watcher > gaze > globule > glob > minimatch:
|
||||
patched: '2016-07-20T15:33:26.680Z'
|
||||
'npm:uglify-js:20151024':
|
||||
- jade > transformers > uglify-js:
|
||||
patched: '2016-07-09T00:55:04.882Z'
|
||||
|
@ -5,10 +5,6 @@
|
||||
"content": "Chat",
|
||||
"link": "//gitter.im/FreeCodeCamp/FreeCodeCamp",
|
||||
"target": "_blank"
|
||||
},{
|
||||
"content": "Wiki",
|
||||
"link": "/wiki",
|
||||
"target": "_blank"
|
||||
},{
|
||||
"content": "Forum",
|
||||
"link": "http://forum.freecodecamp.com/",
|
||||
@ -18,6 +14,5 @@
|
||||
"link": "/about"
|
||||
},{
|
||||
"content": "Shop",
|
||||
"link": "/shop",
|
||||
"target": "_blank"
|
||||
"link": "/shop"
|
||||
}]
|
||||
|
@ -135,7 +135,7 @@
|
||||
"webpack-stream": "^3.1.0",
|
||||
"xss-filters": "^1.2.6",
|
||||
"yargs": "^4.1.0",
|
||||
"snyk": "^1.17.0"
|
||||
"snyk": "^1.17.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"browser-sync": "^2.9.12",
|
||||
|
@ -11,7 +11,7 @@
|
||||
[
|
||||
"//i.imgur.com/6ibIavQ.jpg",
|
||||
"A picture of Free Code Camp's 4 benefits: Get connected, Learn JavaScript, Build your Portfolio, Help nonprofits",
|
||||
"Welcome to Free Code Camp. We're an open source community of busy people who learn to code and help nonprofits.",
|
||||
"Welcome to Free Code Camp. We're an open source community that helps you learn to code, then practice by building projects for nonprofits.",
|
||||
""
|
||||
],
|
||||
[
|
||||
@ -21,15 +21,15 @@
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/D7Y5luw.jpg",
|
||||
"A graph of the rate of job growth against growth in computer science degree graduates. There are 1.4 million jobs and only 400 thousand people to fill them.",
|
||||
"There are thousands of coding jobs currently going unfilled, and the demand for coders grows every year.",
|
||||
"//i.imgur.com/WD3STY6.jpg",
|
||||
"Photos of three campers who got jobs after learning to code at Free Code Camp.",
|
||||
"Free Code Camp is a proven path to your first software developer job. Companies have hired thousands of people like you who have learned to code through Free Code Camp.",
|
||||
""
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/WD3STY6.jpg",
|
||||
"Photos of three campers who've gotten jobs after learning to code at Free Code Camp.",
|
||||
"Free Code Camp is a proven path to your first coding job. In fact, no one has actually completed our entire program, because campers get jobs before they're able to.",
|
||||
"//i.imgur.com/D7Y5luw.jpg",
|
||||
"A graph of the rate of job growth against growth in computer science degree graduates. There are 1.4 million jobs and only 400 thousand people to fill them.",
|
||||
"There are thousands of software developer jobs currently going unfilled, and the demand for coders grows every year.",
|
||||
""
|
||||
],
|
||||
[
|
||||
@ -855,6 +855,50 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "560adf65cb82ac38a17513c2",
|
||||
"title": "Read Coding News on our Medium Publication",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/AZNLvEC.gif",
|
||||
"A gif showing how you can click the \"follow\" button to follow Free Code Camp's publication.",
|
||||
"Our community has a popular Medium publication where we write publish tons of helpful articles about coding and technology. Once you open the link, click the \"follow\" button in the upper right hand corner. If you don't have a Medium account, you can create one in seconds.",
|
||||
"https://medium.freecodecamp.com"
|
||||
]
|
||||
],
|
||||
"releasedOn": "February 10, 2016",
|
||||
"challengeSeed": [],
|
||||
"tests": [],
|
||||
"type": "Waypoint",
|
||||
"challengeType": 7,
|
||||
"titleEs": "Lee noticias de codificación en nuestros canal de publicaciones Medium",
|
||||
"descriptionEs": [
|
||||
[
|
||||
"//i.imgur.com/AZNLvEC.gif",
|
||||
"Un gif mostrando cómo crear una cuenta en Medium.",
|
||||
"Nuestra comunidad tiene un canal de publicaciones Medium, donde escribimos un montón de artículos sobre desarrollo de software. Ir al canal de publicaciones de Free Code Camp Medium y pulsar \"follow\". Nuestros campistas publican varios artículos cada semana. Si aún no dispones de una cuenta Medium, puedes seguir el enlace y registrarte usando una red social o ingresando un correo electrónico (enviarán un correo electrónico que debes abrirlo para crear tu cuenta.)",
|
||||
"https://www.medium.com"
|
||||
]
|
||||
],
|
||||
"titleFr": "Lisez les nouvelles de la programmation sur notre Publication Medium",
|
||||
"descriptionFr": [
|
||||
[
|
||||
"//i.imgur.com/AZNLvEC.gif",
|
||||
"Une gif montrant comment tu peux créer un compte sur Medium.",
|
||||
"Notre communauté a une publication sur Medium où on écrit plusieurs articles sur la programmation. Tu peux visiter la publication de Free Code Camp sur Medium et cliquer sur \"follow\". Nos campers publient plusieurs articles chaque semaine. Si tu n’as pas encore un compte Medium, utilise le lien ci-dessous pour s’inscrire en utilisant un compte sur les médias sociaux ou en utilisant ton email (un email de confirmation sera envoyé à votre email pour terminer l’inscription). Une fois un sujet qui t’intéresse est choisi, tu peux continuer les étapes.",
|
||||
"https://www.medium.com"
|
||||
]
|
||||
],
|
||||
"titleDe": "Lese Programmier-Nachrichten auf unserer Medium Seite",
|
||||
"descriptionDe": [
|
||||
[
|
||||
"//i.imgur.com/AZNLvEC.gif",
|
||||
"Ein GIF, das dir zeigt, wie du einen Medium Account anlegen kannst.",
|
||||
"Unsere Community hat eine Medium Seite, auf der wir viele Artikel über Software Entwicklung veröffentlichen. Kannst du auf die Medium Seite von Free Code Camp gehen und den \"follow\" Button klicken. Unsere Camper veröffentlichen jede Woche mehrere Artikel. Wenn du noch keinen Medium Account hast, kannst du dem Link folgen und dich entweder mit einem Account aus einem Social Network oder einer E-Mail Adresse (sie senden dir eine E-Mail, die du durchklicken kannst, um dir einen Account anzulegen.). Wenn du ein Thema ausgewählt hast, das dich interessiert, kannst du den weiteren Schritten folgen.",
|
||||
"https://www.medium.com"
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "560add8ccb82ac38a17513c4",
|
||||
"title": "Learn What to Do If You Get Stuck",
|
||||
|
@ -3,74 +3,6 @@
|
||||
"order": 4,
|
||||
"time": "20 minutes",
|
||||
"challenges": [
|
||||
{
|
||||
"id": "560adf65cb82ac38a17513c2",
|
||||
"title": "Read Coding News on our Medium Publication",
|
||||
"description": [
|
||||
[
|
||||
"//i.imgur.com/FxSOL4a.gif",
|
||||
"A gif showing how you can create a Medium account.",
|
||||
"Our community has a Medium publication where we write lots of articles about software development. If you don't already have a Medium account, you can follow the link and either sign in using social network, or by entering an email (they'll send you an email that you can click-through to create your account.) Once you select a topic of interest, you can continue through the steps.",
|
||||
"https://www.medium.com"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/zhhywSX.gif",
|
||||
"A gif showing how you can click the \"follow\" button to follow Free Code Camp's publication.",
|
||||
"Once you're logged in, you can go to Free Code Camp's Medium publication and click \"follow\". Our campers publish several articles each week.",
|
||||
"https://medium.freecodecamp.com"
|
||||
]
|
||||
],
|
||||
"releasedOn": "February 10, 2016",
|
||||
"challengeSeed": [],
|
||||
"tests": [],
|
||||
"type": "Waypoint",
|
||||
"challengeType": 7,
|
||||
"titleEs": "Lee noticias de codificación en nuestros canal de publicaciones Medium",
|
||||
"descriptionEs": [
|
||||
[
|
||||
"//i.imgur.com/FxSOL4a.gif",
|
||||
"Un gif mostrando cómo crear una cuenta en Medium.",
|
||||
"Nuestra comunidad tiene un canal de publicaciones Medium, donde escribimos un montón de artículos sobre desarrollo de software. Si aún no dispones de una cuenta Medium, puedes seguir el enlace y registrarte usando una red social o ingresando un correo electrónico (enviarán un correo electrónico que debes abrirlo para crear tu cuenta.) Selecciona un tema de interés, puedes continuar a través de los pasos.",
|
||||
"https://www.medium.com"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/zhhywSX.gif",
|
||||
"Un gif mostrando cómo puedes pulsar el botón \"follow\" para seguir las publicaciones de Free Code Camp.",
|
||||
"Una vez que inicias sesión, puedes ir al canal de publicaciones de Free Code Camp Medium y pulsar \"follow\". Nuestros campistas publican varios artículos cada semana.",
|
||||
"https://medium.freecodecamp.com"
|
||||
]
|
||||
],
|
||||
"titleFr": "Lisez les nouvelles de la programmation sur notre Publication Medium",
|
||||
"descriptionFr": [
|
||||
[
|
||||
"//i.imgur.com/FxSOL4a.gif",
|
||||
"Une gif montrant comment tu peux créer un compte sur Medium.",
|
||||
"Notre communauté a une publication sur Medium où on écrit plusieurs articles sur la programmation. Si tu n’as pas encore un compte Medium, utilise le lien ci-dessous pour s’inscrire en utilisant un compte sur les médias sociaux ou en utilisant ton email (un email de confirmation sera envoyé à votre email pour terminer l’inscription). Une fois un sujet qui t’intéresse est choisi, tu peux continuer les étapes.",
|
||||
"https://www.medium.com"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/zhhywSX.gif",
|
||||
"Une gif montrant comment tu peux cliquer sur le boutton \"follow\" pour suivre la publication de Free Code Camp.",
|
||||
"Une fois identifié, tu peux visiter la publication de Free Code Camp sur Medium et cliquer sur \"follow\". Nos campers publient plusieurs articles chaque semaine.",
|
||||
"https://medium.freecodecamp.com"
|
||||
]
|
||||
],
|
||||
"titleDe": "Lese Programmier-Nachrichten auf unserer Medium Seite",
|
||||
"descriptionDe": [
|
||||
[
|
||||
"//i.imgur.com/FxSOL4a.gif",
|
||||
"Ein GIF, das dir zeigt, wie du einen Medium Account anlegen kannst.",
|
||||
"Unsere Community hat eine Medium Seite, auf der wir viele Artikel über Software Entwicklung veröffentlichen. Wenn du noch keinen Medium Account hast, kannst du dem Link folgen und dich entweder mit einem Account aus einem Social Network oder einer E-Mail Adresse (sie senden dir eine E-Mail, die du durchklicken kannst, um dir einen Account anzulegen.). Wenn du ein Thema ausgewählt hast, das dich interessiert, kannst du den weiteren Schritten folgen.",
|
||||
"https://www.medium.com"
|
||||
],
|
||||
[
|
||||
"//i.imgur.com/zhhywSX.gif",
|
||||
"Ein GIF, das dir zeigt, wie du den \"follow\" Button klicken kannst, um der Free Code Camp Seite zu folgen.",
|
||||
"Bist du erstmal eingeloggt, kannst du auf die Medium Seite von Free Code Camp gehen und den \"follow\" Button klicken. Unsere Camper veröffentlichen jede Woche mehrere Artikel.",
|
||||
"https://medium.freecodecamp.com"
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "573c96eac9a6be092d7830c1",
|
||||
"title": "Join our Forum",
|
||||
|
@ -15,16 +15,12 @@ nav.navbar.navbar-default.navbar-fixed-top.nav-height
|
||||
a#nav-chat-btn(href='//gitter.im/freecodecamp/freecodecamp' onclick="if (!(event.ctrlKey || event.metaKey)) {return false;}") Chat
|
||||
li.visible-xs
|
||||
a(href="//gitter.im/freecodecamp/freecodecamp" target="_blank") Chat
|
||||
li.hidden-xs
|
||||
a#nav-wiki-btn(href='/wiki' onclick='if (!(event.ctrlKey || event.metaKey)) {return false;}') Wiki
|
||||
li.visible-xs
|
||||
a(href='/wiki', target='_blank') Wiki
|
||||
li
|
||||
a(href='http://forum.freecodecamp.com', target='_blank') Forum
|
||||
a(href='http://forum.freecodecamp.com', target='_blank') Forum
|
||||
li
|
||||
a(href='/about') About
|
||||
li
|
||||
a(href='/shop', target='_blank') Shop
|
||||
a(href='/shop') Shop
|
||||
if !user
|
||||
li
|
||||
a(href='/signin') Sign in
|
||||
@ -33,4 +29,4 @@ nav.navbar.navbar-default.navbar-fixed-top.nav-height
|
||||
a(href='/' + user.username) [ #{user.points} ]
|
||||
li.hidden-xs.hidden-sm.avatar
|
||||
a(href='/' + user.username)
|
||||
img.profile-picture.float-right(src='#{user.picture}')
|
||||
img.profile-picture.float-right(src='#{user.picture}')
|
||||
|
@ -1,6 +1,6 @@
|
||||
extends ../layout
|
||||
block content
|
||||
h2.text-center Buy cool things and support our open source community
|
||||
h2.text-center Buy through us and support our open source community
|
||||
hr
|
||||
.row
|
||||
.col-xs-12.col-sm-10.col-sm-offset-1.col-md-8.col-md-offset-2.text-center
|
||||
@ -12,23 +12,35 @@ block content
|
||||
<form action="//www.paypal.com/cgi-bin/webscr" onSubmit="ga('send', 'event', 'SHOP', 'SHOP-STICKER', 'Sticker PayPal button clicked');" method="post" target="_blank">
|
||||
<input type="hidden" name="cmd" value="_s-xclick">
|
||||
<input type="hidden" name="hosted_button_id" value="R9AGYKJUCU37N">
|
||||
<input type="submit" class="btn btn-cta signup-btn btn-block" name="submit" value='Buy now with PayPal or a Credit Card'>
|
||||
<input type="submit" class="btn btn-cta signup-btn btn-block" name="submit" value='Get these with PayPal or a Credit Card'>
|
||||
<img alt="" border="0" src="//www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
|
||||
</form>
|
||||
|
||||
hr
|
||||
.row
|
||||
.col-xs-12.col-sm-10.col-sm-offset-1.col-md-8.col-md-offset-2.text-center
|
||||
img.img-responsive.img-center(src='http://i.imgur.com/ATDiWMl.png')
|
||||
h3 Get 2 free audiobooks through Audible
|
||||
p Audible gives our community $5 when you you sign up for a free trial.
|
||||
p You get two free audiobooks immediately. You can cancel any time and still keep your audiobooks.
|
||||
p If you don't cancel within 30 days, you get one audiobook per month for $15/month.
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="//www.amazon.com/gp/product/B00NB86OYE/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00NB86OYE&linkCode=as2&tag=out0b4b-20&linkId=dfacf0a194dcd3d1c9376f64ed690214" onClick="ga('send', 'event', 'SHOP', 'SHOP-AUDIBLE', 'Audible affiliate button clicked');") Get two free audio books
|
||||
|
||||
hr
|
||||
.row
|
||||
.col-xs-12.col-sm-10.col-sm-offset-1.col-md-8.col-md-offset-2.text-center
|
||||
img.img-responsive.img-center(src='//i.imgur.com/BTtb8P0g.jpg')
|
||||
h3 Get $10 in credit for your own Digital Ocean server.
|
||||
h3 Get $10 in credit for your own Digital Ocean server
|
||||
p Digital Ocean gives our community $25 in credit after you spend $25.
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="//m.do.co/c/ba8a71773373" target='_blank' onClick="ga('send', 'event', 'SHOP', 'SHOP-DIGITAL-OCEAN', 'Digital Ocean affiliate button clicked');") Claim your $10 credit now
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="//m.do.co/c/ba8a71773373" target='_blank' onClick="ga('send', 'event', 'SHOP', 'SHOP-DIGITAL-OCEAN', 'Digital Ocean affiliate button clicked');") Claim your $10 credit
|
||||
|
||||
hr
|
||||
.row
|
||||
.col-xs-12.col-sm-10.col-sm-offset-1.col-md-8.col-md-offset-2.text-center
|
||||
img.img-responsive.img-center(src='http://i.imgur.com/YqZqTN6g.jpg')
|
||||
h3 Buy some affordable domain names.
|
||||
h3 Buy some affordable domain names
|
||||
p Namecheap gives our community a 15% commission on your first purchase.
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="//www.namecheap.com/?aff=102130" onClick="ga('send', 'event', 'SHOP', 'SHOP-NAMECHEAP', 'Namecheap affiliate button clicked');") Get your domain name now
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="//www.namecheap.com/?aff=102130" onClick="ga('send', 'event', 'SHOP', 'SHOP-NAMECHEAP', 'Namecheap affiliate button clicked');") Get your domain name
|
||||
|
||||
hr
|
||||
.row
|
||||
@ -37,35 +49,35 @@ block content
|
||||
p Amazon gives our community a commission if you make a purchase right after clicking one of these buttons.
|
||||
.spacer
|
||||
img.img-responsive.img-center(src='//i.imgur.com/hV9F2bo.jpg' alt='Cracking the Coding Interivew book cover')
|
||||
.button-spacer
|
||||
a.btn.signup-btn(href="//www.amazon.com/gp/product/0984782850/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0984782850&linkCode=as2&tag=out0b4b-20&linkId=41b9f338b2a1a8ba00d67f944f68a982" onClick="ga('send', 'event', 'SHOP', 'SHOP-CRACKING', 'Cracking the Code Interivew affiliate button clicked');" target='_blank') Buy "Cracking the Coding Interview" on Amazon
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/0984782850/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0984782850&linkCode=as2&tag=out0b4b-20&linkId=41b9f338b2a1a8ba00d67f944f68a982" onClick="ga('send', 'event', 'SHOP', 'SHOP-CRACKING', 'Cracking the Code Interivew affiliate button clicked');" target='_blank') Get it on Amazon
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
img.img-responsive.img-center(src='//i.imgur.com/rLN9oKk.jpg' alt='JavaScript: The Definitive Guide book cover')
|
||||
.button-spacer
|
||||
a.btn.signup-btn(href="//www.amazon.com/gp/product/0596805527/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596805527&linkCode=as2&tag=out0b4b-20&linkId=f490d30d420bf57fc1efe2de57eece65" onClick="ga('send', 'event', 'SHOP', 'SHOP-JS-DIFINITIVE-GUIDE', 'JavaScript the Definitive Guide affiliate button clicked');" target='_blank') Buy "JavaScript: the Definitive Guide" on Amazon
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/0596805527/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596805527&linkCode=as2&tag=out0b4b-20&linkId=f490d30d420bf57fc1efe2de57eece65" onClick="ga('send', 'event', 'SHOP', 'SHOP-JS-DIFINITIVE-GUIDE', 'JavaScript the Definitive Guide affiliate button clicked');" target='_blank') Get it on Amazon
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
img.img-responsive.img-center(src='//i.imgur.com/KU60I7r.jpg' alt='How Linux Works: What Every Superuser Should Know book cover')
|
||||
.button-spacer
|
||||
a.btn.signup-btn(href="//www.amazon.com/gp/product/1593275676/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1593275676&linkCode=as2&tag=out0b4b-20&linkId=a6a83ec9ed8d137f3ff56fbcfc6c05ce" onClick="ga('send', 'event', 'SHOP', 'SHOP-HOW-LINUX-WORKS', 'How Linux Works affiliate button clicked');" target='_blank') Buy "How Linux Works" on Amazon
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/1593275676/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1593275676&linkCode=as2&tag=out0b4b-20&linkId=a6a83ec9ed8d137f3ff56fbcfc6c05ce" onClick="ga('send', 'event', 'SHOP', 'SHOP-HOW-LINUX-WORKS', 'How Linux Works affiliate button clicked');" target='_blank') Get it on Amazon
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
img.img-responsive.img-center(src='//i.imgur.com/nR4VIU4.jpg' alt='JavaScript: The Good Parts book cover')
|
||||
.button-spacer
|
||||
a.btn.signup-btn(href="//www.amazon.com/gp/product/0596517742/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596517742&linkCode=as2&tag=out0b4b-20&linkId=644f8ba9661c9db7dd4bb3ff6216a8d1" onClick="ga('send', 'event', 'SHOP', 'SHOP-JAVASCRIPT-THE-GOOD-PARTS', 'JavaScript the Good Parts affiliate button clicked');" target='_blank') Buy "JavaScript: The Good Parts" on Amazon
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/0596517742/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596517742&linkCode=as2&tag=out0b4b-20&linkId=644f8ba9661c9db7dd4bb3ff6216a8d1" onClick="ga('send', 'event', 'SHOP', 'SHOP-JAVASCRIPT-THE-GOOD-PARTS', 'JavaScript the Good Parts affiliate button clicked');" target='_blank') Get it on Amazon
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
img.img-responsive.img-center(src='//i.imgur.com/CR2dSql.jpg' alt='Eloquent JavaScript: A Modern Introduction to Programming book cover')
|
||||
.button-spacer
|
||||
a.btn.signup-btn(href="//www.amazon.com/gp/product/1593275846/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1593275846&linkCode=as2&tag=out0b4b-20&linkId=6870174eac22afca8e1c1ef5204f16ee" onClick="ga('send', 'event', 'SHOP', 'SHOP-ELOQUENT-JAVASCRIPT', 'Eloquent JavaScript affiliate button clicked');" target='_blank') Buy "Elopquent JavaScript" on Amazon
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/1593275846/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1593275846&linkCode=as2&tag=out0b4b-20&linkId=6870174eac22afca8e1c1ef5204f16ee" onClick="ga('send', 'event', 'SHOP', 'SHOP-ELOQUENT-JAVASCRIPT', 'Eloquent JavaScript affiliate button clicked');" target='_blank') Get it on Amazon
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
img.img-responsive.img-center(src='//i.imgur.com/IplEMb4.jpg' alt='JavaScript and jQuery: Interactive Front End Development')
|
||||
.button-spacer
|
||||
a.btn.signup-btn(href="//www.amazon.com/gp/product/1118531647/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1118531647&linkCode=as2&tag=out0b4b-20&linkId=fdce3ef75bf3cd1cb220020a595decba" onClick="ga('send', 'event', 'SHOP', 'SHOP-JAVASCRIPT-AND-JQUERY', 'JavaScript and jQuery affiliate button clicked');" target='_blank') Buy "JavaScript and jQuery" on Amazon
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/1118531647/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1118531647&linkCode=as2&tag=out0b4b-20&linkId=fdce3ef75bf3cd1cb220020a595decba" onClick="ga('send', 'event', 'SHOP', 'SHOP-JAVASCRIPT-AND-JQUERY', 'JavaScript and jQuery affiliate button clicked');" target='_blank') Get it on Amazon
|
||||
|
Reference in New Issue
Block a user