diff --git a/README.md b/README.md index 13007cd912..d62477d7bd 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,6 @@ TWITTER_TOKEN=stuff TWITTER_TOKEN_SECRET=stuff BLOGGER_KEY=stuff -SLACK_WEBHOOK=stuff SESSION_SECRET=secretstuff COOKIE_SECRET='this is a secret' diff --git a/client/index.js b/client/index.js index c39b55c644..95be7ca9ae 100644 --- a/client/index.js +++ b/client/index.js @@ -16,7 +16,7 @@ const services = new Fetchr({ xhrPath: '/services' }); -Rx.longStackSupport = !!debug.enabled; +Rx.config.longStackSupport = !!debug.enabled; // returns an observable app$(history) diff --git a/common/models/challenge.json b/common/models/challenge.json index 08fa48779b..84cf3a4c6b 100644 --- a/common/models/challenge.json +++ b/common/models/challenge.json @@ -4,6 +4,10 @@ "idInjection": true, "trackChanges": false, "properties": { + "id": { + "type": "string", + "id": true + }, "name": { "type": "string", "index": { diff --git a/common/models/job.json b/common/models/job.json index 12473628cc..a3392fee82 100644 --- a/common/models/job.json +++ b/common/models/job.json @@ -4,6 +4,10 @@ "idInjection": true, "trackChanges": false, "properties": { + "id": { + "type": "string", + "id": true + }, "position": { "type": "string" }, diff --git a/common/models/nonprofit.json b/common/models/nonprofit.json index 5d8dddbc3d..d83bd55739 100644 --- a/common/models/nonprofit.json +++ b/common/models/nonprofit.json @@ -4,6 +4,10 @@ "idInjection": true, "trackChanges": false, "properties": { + "id": { + "type": "string", + "id": true + }, "name": { "type": "string", "index": { diff --git a/common/models/story.json b/common/models/story.json index 6f252cefb3..5d8e56dfb2 100644 --- a/common/models/story.json +++ b/common/models/story.json @@ -4,6 +4,10 @@ "idInjection": true, "trackChanges": false, "properties": { + "id": { + "type": "string", + "id": true + }, "name": { "type": "string", "index": { diff --git a/gulpfile.js b/gulpfile.js index c55daf01da..8e1e345716 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -26,7 +26,8 @@ var Rx = require('rx'), eslint = require('gulp-eslint'); -Rx.longStackSupport = true; +Rx.config.longStackSupport = true; + var reloadDelay = 1000; var reload = sync.reload; var paths = { @@ -83,7 +84,7 @@ gulp.task('inject', function() { gulp.src('views/home.jade') .pipe(plumber({ errorHandler: errorHandler })) .pipe(inject(gulp.src(bower()), { - //ignorePath: '/public' + // ignorePath: '/public' })) .pipe(gulp.dest('views')); }); diff --git a/seed/challenges/basic-ziplines.json b/seed/challenges/basic-ziplines.json index b96619bb78..97de497c24 100644 --- a/seed/challenges/basic-ziplines.json +++ b/seed/challenges/basic-ziplines.json @@ -16,9 +16,9 @@ "Go to http://codepen.io and create an account.", "Click your user image in the top right corner, then click the \"New pen\" button that drops down.", "Drag the windows around and press the buttons in the lower-right hand corner to change the orientation to suit your preference.", - "Click the gear next to CSS. Click the \"Quick-add...\" select box and choose Bootstrap.", + "Click the gear next to CSS. Then under the \"Add External CSS\" section, use the \"Quick-add\" select box to select Bootstrap. Then click \"Save & Close\".", "Verify that bootstrap is active by adding the following code to your HTML: <h1 class='text-primary'>Hello CodePen!</h1>. The text's color should be Bootstrap blue.", - "Click the gear next to JavaScript. Click the \"Quick-add...\" select box and choose jQuery.", + "Click the gear next to JavaScript. Click the \"Quick-add\" select box and choose jQuery (not jQuery UI). Then click \"Save & Close\".", "Now add the following code to your JavaScript: $(document).ready(function() { $('.text-primary').text('Hi CodePen!') });. Click the \"Save\" button at the top. Your \"Hello CodePen!\" should change to \"Hi CodePen!\". This means that jQuery is working.", "You can use this CodePen that you've just created as a starting point for your Ziplines. Just click the \"fork\" button at the top of your CodePen and it will create a duplicate CodePen.", "Now you're ready for your first Zipline. Click the \"I've completed this challenge\" button." diff --git a/seed/challenges/bootstrap.json b/seed/challenges/bootstrap.json index e9dad43350..707b39c684 100644 --- a/seed/challenges/bootstrap.json +++ b/seed/challenges/bootstrap.json @@ -91,7 +91,7 @@ "title": "Make Images Mobile Responsive", "difficulty": 2.02, "description": [ - "First, Add a new image with the src attribute of \"http://bit.ly/fcc-kittens2\".", + "First, Add a new image below the existing one. Set it's src attribute to \"http://bit.ly/fcc-kittens2\".", "It would be great if this image could be exactly the width of our phone's screen.", "Fortunately, with Bootstrap, all we need to do is add the \"img-responsive\" class to your image. Do this, and the image should perfectly fit the width of your page." ], diff --git a/seed/challenges/html5-and-css.json b/seed/challenges/html5-and-css.json index 85fb8ff6e3..0c0354bd99 100644 --- a/seed/challenges/html5-and-css.json +++ b/seed/challenges/html5-and-css.json @@ -459,8 +459,17 @@ "descriptionFr": [], "nameRu": "", "descriptionRu": [], - "nameEs": "", - "descriptionEs": [], + "nameEs": "Waypoint: Utiliza una clase CSS para darle estilo a un elemento", + "descriptionEs": [ + "Crea una clase CSS llamada \"red-text\" y aplicala a tu elemento h2.", + "Las clases son estilos reutilizables que pueden ser añadidos a elementos HTML", + "Esta es la anatomía de una clase CSS:", + "a diagram of how style tags are composed, which is also described in detail on the following lines.", + "Puedes ver que hemos creado una clase CSS llamada \"blue-text\" dentro de la etiqueta <style>.", + "Puedes aplicar una clase a un elemento HTML de esta manera: <h2 class=\"blue-text\">CatPhotoApp</h2>.", + "Nota que en el elemento CSS style, las clases deberían comenzar con un punto. En los elementos HTML, las declaraciones de clase, NO deberían comenzar con punto. ", + "En vez de de crear un nuevo elemento style, prueba remover la declaración de estilo de h2 y reemplazarla por la declaración \"red-text\"." + ], "namePt": "", "descriptionPt": [], "nameDe": "Waypoint: Nutze eine CSS Klasse um ein Element zu gestalten", @@ -509,8 +518,12 @@ "descriptionFr": [], "nameRu": "", "descriptionRu": [], - "nameEs": "", - "descriptionEs": [], + "nameEs": "Waypoint: Estila multiples elementos con una clase CSS", + "descriptionEs": [ + "Aplica la clase \"red-text\" a tus elementos h2 y p.", + "Recuerda que puedes agregar clases a elementos HTML utilizando class=\"your-class-here\" dentro de la tag de entrada del mismo.", + "Recuerda que los selectores CSS requieren un punto al principio: .blue-text { color: blue; }, pero que las declaraciones de clase NO llevan punto: <h2 class=\"blue-text\">CatPhotoApp<h2>." + ], "namePt": "", "descriptionPt": [], "nameDe": "Waypoint: Gestalte mehrere Elemente mit einer CSS Klasse", @@ -555,8 +568,13 @@ "descriptionFr": [], "nameRu": "", "descriptionRu": [], - "nameEs": "", - "descriptionEs": [], + "nameEs": "Waypoint: Cambia el tamaño de fuente de un elemento.", + "descriptionEs": [ + "Crea un segundo elemento p. Luego, dentro de tu elemento <style>, pon el \"font-size\" de todos los elementos p a 16 pixeles.", + "El tamaño de fuente es controlado por el atributo CSS \"font-size\", como aquí: h1 { font-size: 30px; }.", + "Primero, crea un segundo elemento p con el siguiente texto Kitty Ipsum: Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.", + "Ve si puedes encontrar una manera de darle a ambos elementos p un font-size de 16 pixeles (16px). Puedes hacer esto dentro de la misma etiqueta <style> que creamos para la clase \"red-text\"." + ], "namePt": "", "descriptionPt": [], "nameDe": "Waypoint: Ändere die Schriftgröße eines Elements", @@ -1971,7 +1989,7 @@ ], "tests": [ "assert($('input[type=\"radio\"]').length > 1, 'Your page should have two radio button elements.')", - "assert($('input[type=\"radio\"]:nth-child(1)').attr('name') === 'indoor-outdoor', 'Give your radio buttons the name attribute of \"indoor-outdoor\".')", + "assert($('input[type=\"radio\"]:nth-child(1)').attr('name') === 'indoor-outdoor' && $('input[type=\"radio\"]:nth-child(2)').attr('name') === 'indoor-outdoor', 'Give your radio buttons the name attribute of \"indoor-outdoor\".')", "assert($('label').length > 1, 'Each of your two radio button elements should be nested in a label element.')", "assert(editor.match(/<\\/label>/g) && editor.match(/