From acc1236d42b399f8681372c85be50d20124ba0af Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Mon, 1 Jun 2015 12:18:45 -0700 Subject: [PATCH 01/12] remove vestigial mention of camp counselor team --- config/passport.js | 8 ++-- controllers/user.js | 2 +- seed_data/field-guides.json | 6 +-- views/partials/field-guide.jade | 43 ------------------- views/partials/github.jade | 13 ------ .../nonprofit-application-progress-bar.jade | 39 ----------------- views/partials/nonprofits.jade | 24 ----------- views/resources/nonprofits.jade | 1 + 8 files changed, 9 insertions(+), 127 deletions(-) delete mode 100644 views/partials/field-guide.jade delete mode 100644 views/partials/github.jade delete mode 100644 views/partials/nonprofit-application-progress-bar.jade delete mode 100644 views/partials/nonprofits.jade diff --git a/config/passport.js b/config/passport.js index 799ee1f83b..9671114c73 100644 --- a/config/passport.js +++ b/config/passport.js @@ -114,7 +114,7 @@ passport.use(new FacebookStrategy(secrets.facebook, function(req, accessToken, r 'Feel free to email us at this address if you have any questions about Free Code Camp.\n', "And if you have a moment, check out our blog: blog.freecodecamp.com.\n", 'Good luck with the challenges!\n\n', - '- Our All-Volunteer Team' + '- the Free Code Camp Volunteer Team' ].join('') }; transporter.sendMail(mailOptions, function(err) { @@ -189,7 +189,7 @@ passport.use(new GitHubStrategy(secrets.github, function(req, accessToken, refre 'Feel free to email us at this address if you have any questions about Free Code Camp.\n', "And if you have a moment, check out our blog: blog.freecodecamp.com.\n", 'Good luck with the challenges!\n\n', - '- the Volunteer Camp Counselor Team' + '- the Free Code Camp Volunteer Team' ].join('') }; transporter.sendMail(mailOptions, function(err) { @@ -311,7 +311,7 @@ passport.use(new GoogleStrategy(secrets.google, function(req, accessToken, refre 'Feel free to email us at this address if you have any questions about Free Code Camp.\n', "And if you have a moment, check out our blog: blog.freecodecamp.com.\n", 'Good luck with the challenges!\n\n', - '- the Volunteer Camp Counselor Team' + '- the Free Code Camp Volunteer Team' ].join('') }; transporter.sendMail(mailOptions, function(err) { @@ -387,7 +387,7 @@ passport.use(new LinkedInStrategy(secrets.linkedin, function(req, accessToken, r 'Feel free to email us at this address if you have any questions about Free Code Camp.\n', "And if you have a moment, check out our blog: blog.freecodecamp.com.\n", 'Good luck with the challenges!\n\n', - '- the Volunteer Camp Counselor Team' + '- the Free Code Camp Volunteer Team' ].join('') }; transporter.sendMail(mailOptions, function(err) { diff --git a/controllers/user.js b/controllers/user.js index f83ac9e0be..103a816dfb 100644 --- a/controllers/user.js +++ b/controllers/user.js @@ -229,7 +229,7 @@ exports.postEmailSignup = function(req, res, next) { 'And if you have a moment, check out our blog: ', 'blog.freecodecamp.com.\n', 'Good luck with the challenges!\n\n', - '- the Volunteer Camp Counselor Team' + '- the Free Code Camp Volunteer Team' ].join('') }; transporter.sendMail(mailOptions, function(err) { diff --git a/seed_data/field-guides.json b/seed_data/field-guides.json index 4de82c5a26..f8a3e621a0 100644 --- a/seed_data/field-guides.json +++ b/seed_data/field-guides.json @@ -570,7 +570,7 @@ "

Choosing your first Nonprofit Project

", "

We've categorized all the nonprofit projects by estimated time investment per camper: 100 hours, 200 hours, and 300 hours. These are only rough estimates.

", "

Example: if you and the camper you're paired up with (your pair) each stated you could work 20 hours per week. If the project is a 100 hour per camper project, you should be able to complete it in about 5 weeks.

", - "

Our team of nonprofit project camp counselors will match you and your pair based on:

", + "

Our Nonprofit Project team will match you and your pair based on:

", "

", "

    ", "
  1. Your estimated time commitment (10, 20 or 40 hours per week)
  2. ", @@ -603,7 +603,7 @@ "
  3. and establish deadlines based on your weekly time commitment, and how long you think each task will take.
  4. ", " ", "

    ", - "

    It's notoriously difficult to estimate how long building software projects will take, so feel free to ask camp counselors for help.

    ", + "

    It's notoriously difficult to estimate how long building software projects will take, so feel free to ask our volunteer team for help.

    ", "

    You'll continue to meet with your stakeholder at least twice a month in your project's Slack channel.

    ", "

    You should also ask questions in your project's Slack channel as they come up throughout the week, and your stakeholder can answer them asynchronously.

    ", "

    Getting \"blocked\" on a task can take away your sense of forward momentum, so be sure to proactively seek answers to any ambiguities you encounter.

    ", @@ -626,7 +626,7 @@ "

    Once you complete a nonprofit project, your obligation to its stakeholder is finished. You goal is to leave behind a well documented solution that can be easily maintained by a contract JavaScript developer (or even a less-technical \"super user\").

    ", "

    While you will no longer need to help with feature development, we encourage you to consider helping your stakeholder with occasional patches down the road. After all, this project will be an important piece of your portfolio, and you'll want it to remain in good shape for curious future employers.

    ", "

    Pledging to finish the project

    ", - "

    Your nonprofit stakeholder, your pair, and the volunteer camp counselor team are all counting on you to finish your nonprofit project. If you walk away from an unfinished nonprofit project, you'll become ineligible to ever be assigned another one.

    ", + "

    Your nonprofit stakeholder, your pair, and our volunteer team are all counting on you to finish your nonprofit project. If you walk away from an unfinished nonprofit project, you'll become ineligible to ever be assigned another one.

    ", "

    To confirm that you understand the seriousness of this commitment, we require that all campers  sign this pledge  before starting on their nonprofit projects.

    ", "

    There will likely be times of confusion or frustration. This is normal in software development. The most important thing is that you do not give up and instead persevere through these setbacks. As Steve Jobs famously said, \"Real artists ship.\" And you are going to ship one successful nonprofit project after another until you feel ready to take the next step in your promising career.

    ", "" diff --git a/views/partials/field-guide.jade b/views/partials/field-guide.jade deleted file mode 100644 index e4d70b01d1..0000000000 --- a/views/partials/field-guide.jade +++ /dev/null @@ -1,43 +0,0 @@ -h3 - ol#fieldGuideList - script(src='/js/lib/ramda/ramda.min.js') - script. - var getLinkedName = function getLinkedName(name) { - // ensure name is a string - name = name + ''; - return name.toLowerCase().replace(/\s/g, '-').replace(/\?/g, ''); - } - $.ajax({ - url: '/field-guide/getFieldGuideList', - type: 'GET' - }) - .success( - function(data) { - var docfrag = document.createDocumentFragment(); - for (var i = 0; i < data.fieldGuideList.length; i++) { - var div = document.createElement("div"); - // strike through field guides previously read - var linkedName = getLinkedName(data.fieldGuideList[i].name); - if (data.completedFieldGuides.indexOf(data.fieldGuideIds[i]) > -1) { - $(div).html("
    " + - "" + - "" + - "
    " + - "
    " + - ""); - } else { - $(div).html("
    " + - "" + - "" + - "
    " + - "
    " + - ""); - } - docfrag.appendChild(div); - }; - $('#fieldGuideList').append(docfrag); - }); diff --git a/views/partials/github.jade b/views/partials/github.jade deleted file mode 100644 index 5bd7e19f7e..0000000000 --- a/views/partials/github.jade +++ /dev/null @@ -1,13 +0,0 @@ -#github -script. - (function() { - $.ajax({ - url: '/api/github', - type: 'GET' - }).done( - function(data) { - var github = document.createElement('div'); - $(github).html('

    ' + data.issues + ' GitHub issues are open. (create one)

    ' + data.pulls + ' pull requests are open. (create one)').prependTo($('#github')) - } - ); - })(); \ No newline at end of file diff --git a/views/partials/nonprofit-application-progress-bar.jade b/views/partials/nonprofit-application-progress-bar.jade deleted file mode 100644 index e9ed80c441..0000000000 --- a/views/partials/nonprofit-application-progress-bar.jade +++ /dev/null @@ -1,39 +0,0 @@ -.spacer -.progress - .progress-bar(role='progressbar', aria-valuenow= (step * 10), aria-valuemin='0', aria-valuemax='100', style="width: #{step * 10}%;") - span.sr-only= step * 10 - | % Complete -h3.gray-text.text-center Step #{step} of 10 - - -script. - $('#story-url').on('keypress', function (e) { - if (e.which === 13 || e === 13) { - $('#preliminary-story-submit').click(); - } - }); - var preliminaryStorySubmit = function preliminaryStorySubmit() { - var storyURL = $('#story-url').val(); - $('#preliminary-story-submit').attr('disabled', 'disabled'); - $.post('/stories/preliminary', - { - data: { - url: storyURL - } - }) - .fail(function (xhr, textStatus, errorThrown) { - $('#preliminary-story-submit').attr('disabled', false); - }) - .done(function (data, textStatus, xhr) { - if (data.alreadyPosted) { - window.location = data.storyURL; - } else { - window.location = '/stories/submit/new-story?url=' + - encodeURIComponent(data.storyURL) + - '&title=' + encodeURIComponent(data.storyTitle) + - '&image=' + encodeURIComponent(data.storyImage) + - '&description=' + encodeURIComponent(data.storyMetaDescription); - } - }); - } - $('#preliminary-story-submit').on('click', preliminaryStorySubmit); diff --git a/views/partials/nonprofits.jade b/views/partials/nonprofits.jade deleted file mode 100644 index c7a9db255a..0000000000 --- a/views/partials/nonprofits.jade +++ /dev/null @@ -1,24 +0,0 @@ -h3 - ol#nonprofitsList - script(src='/js/lib/ramda/ramda.min.js') - script. - var getLinkedName = function getLinkedName(name) { - // ensure name is a string - name = name + ''; - return name.toLowerCase().replace(/\s/g, '-'); - } - $.ajax({ - url: '/nonprofits/getNonprofitList', - type: 'GET' - }) - .success( - function(data) { - var docfrag = document.createDocumentFragment(); - for (var i = 0; i < data.nonprofitsList.length; i++) { - var li = document.createElement("li"); - var linkedName = getLinkedName(data.nonprofitsList[i].name); - $(li).html("" + data.nonprofitsList[i].name + ""); - docfrag.appendChild(li); - }; - $('#nonprofitsList').append(docfrag); - }); diff --git a/views/resources/nonprofits.jade b/views/resources/nonprofits.jade index 670b9730f3..ab079a1893 100644 --- a/views/resources/nonprofits.jade +++ b/views/resources/nonprofits.jade @@ -53,3 +53,4 @@ block content h2.black-text ...and other tools .big-break a.btn.btn-cta.signup-btn.btn-block(href="/nonprofits-form") My nonprofit needs coding help + .btn-spacer From d7a600bc20daf3e408d13a20488f2bf9adee52dc Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Mon, 1 Jun 2015 12:39:01 -0700 Subject: [PATCH 02/12] update nonprofit buttons to allow directory access from nonprofit landing page --- views/nonprofits/directory.jade | 7 +++++-- views/nonprofits/show.jade | 17 +++++++++-------- views/resources/nonprofits.jade | 3 ++- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/views/nonprofits/directory.jade b/views/nonprofits/directory.jade index 61c5ff44ab..2cb2794cbc 100644 --- a/views/nonprofits/directory.jade +++ b/views/nonprofits/directory.jade @@ -16,5 +16,8 @@ block content h2.negative-15= nonprofit.name h3.negative-15= nonprofit.whatDoesNonprofitDo a.text-center.btn.btn-primary.btn-lg(href='/nonprofits/' + nonprofit.name.toLowerCase().replace(/\s/g, '-')) Read more - .spacer - .spacer + + .col-xs-12.col-sm-8.col-sm-offset-2 + if (!user) + a.btn.btn-cta.signup-btn.btn-block(href="/nonprofits-form") My nonprofit needs coding help + .spacer diff --git a/views/nonprofits/show.jade b/views/nonprofits/show.jade index 07a9c6cda0..e8c5f8debc 100644 --- a/views/nonprofits/show.jade +++ b/views/nonprofits/show.jade @@ -55,20 +55,21 @@ block content for assignedCamper in assignedCampers a(href='/' + assignedCamper.username class="interested-camper-image") img.profile-picture.float-right(src=assignedCamper.picture) - .spacer if (!buttonActive) .col-xs-12.col-sm-8.col-sm-offset-2 .text-center - a.btn.btn-primary.btn-big.btn-block.disabled(href='/nonprofits/interested-in-nonprofit/#{dashedName}') I'm interested in building this project * - p * Complete all our Bonfires, Ziplines, and Basejumps to unlock this. + if !user + a.btn.btn-cta.signup-btn.btn-block(href="/login") Start learning to code (it's free) + .button-spacer + else + a.btn.btn-primary.btn-big.btn-block.disabled(href='/nonprofits/interested-in-nonprofit/#{dashedName}') I'm interested in building this project * + p * Complete all our Bonfires, Ziplines, and Basejumps to unlock this. a.btn.btn-info.btn-big.btn-block(href='/nonprofits/directory') Show all Nonprofit Projects + .spacer if (buttonActive) .col-xs-12.col-sm-8.col-sm-offset-2 .text-center a.btn.btn-primary.btn-big.btn-block(href='/nonprofits/interested-in-nonprofit/#{dashedName}') I'm interested in building this project + .button-spacer a.btn.btn-info.btn-big.btn-block(href='/nonprofits/directory') Show all Nonprofit Projects - .row - .col-xs-12.text-center - if !user - a.btn.btn-cta.signup-btn.btn-primary(href="/login") Start learning to code (it's free) - .spacer + .spacer diff --git a/views/resources/nonprofits.jade b/views/resources/nonprofits.jade index ab079a1893..250488d5bd 100644 --- a/views/resources/nonprofits.jade +++ b/views/resources/nonprofits.jade @@ -53,4 +53,5 @@ block content h2.black-text ...and other tools .big-break a.btn.btn-cta.signup-btn.btn-block(href="/nonprofits-form") My nonprofit needs coding help - .btn-spacer + .button-spacer + a.btn.btn-cta.btn-success.btn-block(href="/nonprofits/directory") Browse our directory of nonprofit we've helped From 8fb22fbaa6caadc56d9d62f9e5cc829147e3e00a Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Mon, 1 Jun 2015 12:45:39 -0700 Subject: [PATCH 03/12] update cities --- seed_data/field-guides.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/seed_data/field-guides.json b/seed_data/field-guides.json index f8a3e621a0..ba1d8e9f4d 100644 --- a/seed_data/field-guides.json +++ b/seed_data/field-guides.json @@ -293,6 +293,7 @@ "
  5. Austin
  6. ", "
  7. Baltimore
  8. ", "
  9. Bandung
  10. ", + "
  11. Belem
  12. ", "
  13. Belgrade
  14. ", "
  15. Bellingham
  16. ", "
  17. Bengaluru
  18. ", @@ -300,6 +301,7 @@ "
  19. Berlin
  20. ", "
  21. Bhaktapur
  22. ", "
  23. Bijeljina
  24. ", + "
  25. Birmingham, Alabama
  26. ", "
  27. Bismarck, ND
  28. ", "
  29. Bogota
  30. ", "
  31. Boston
  32. ", @@ -335,6 +337,7 @@ "
  33. Florianopolis
  34. ", "
  35. Fort Worth
  36. ", "
  37. Frankfurt
  38. ", + "
  39. Freehold
  40. ", "
  41. Geneva
  42. ", "
  43. Glendora
  44. ", "
  45. Jakarta
  46. ", @@ -366,6 +369,7 @@ "
  47. Limassol
  48. ", "
  49. London
  50. ", "
  51. Los Angeles
  52. ", + "
  53. Lubbock
  54. ", "
  55. Manila
  56. ", "
  57. Miami
  58. ", "
  59. Minneapolis
  60. ", @@ -376,6 +380,7 @@ "
  61. Mysore
  62. ", "
  63. Nairobi
  64. ", "
  65. Nashville
  66. ", + "
  67. New Haven
  68. ", "
  69. New Orleans
  70. ", "
  71. New York City
  72. ", "
  73. Oakland
  74. ", @@ -383,7 +388,6 @@ "
  75. Omaha
  76. ", "
  77. Orange County
  78. ", "
  79. Orlando
  80. ", - "
  81. Oxford, Alabama
  82. ", "
  83. Parana
  84. ", "
  85. Paris
  86. ", "
  87. Philadelphia
  88. ", @@ -423,6 +427,7 @@ "
  89. Valencia
  90. ", "
  91. Vancouver
  92. ", "
  93. Washington, DC
  94. ", + "
  95. Winnipeg
  96. ", "
  97. Zurich
  98. ", "

", " ", From 4f45867b6e05b75f95fd80f682bd4d49d7e90ec6 Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Mon, 1 Jun 2015 16:17:06 -0700 Subject: [PATCH 04/12] move to freecodecamp.slack.com --- README.md | 4 ++-- app.js | 2 +- controllers/resources.js | 2 +- public/js/main_0.0.2.js | 6 +++--- seed_data/challenges/get-set-for-free-code-camp.json | 4 ++-- seed_data/field-guides.json | 2 +- views/challengeMap/show.jade | 10 +++++----- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 092c5b76e9..0bbedf9b54 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Our campers (students) start by working through our free, self-paced, browser-ba 80% of our campers are over 25, and nearly a fifth of our campers are women. -This code is running live at [FreeCodeCamp.com](http://www.FreeCodeCamp.com). We also have [Slack](http://freecode.slack.com), a [blog](http://blog.freecodecamp.com), and even a [Twitch.tv channel](http://twitch.tv/freecodecamp). +This code is running live at [FreeCodeCamp.com](http://www.FreeCodeCamp.com). We also have [Slack](http://freecodecamp.slack.com), a [blog](http://blog.freecodecamp.com), and even a [Twitch.tv channel](http://twitch.tv/freecodecamp). [Join our community](http://www.freecodecamp.com/signin)! @@ -24,7 +24,7 @@ Contributing We welcome pull requests from Free Code Camp campers (our students) and seasoned JavaScript developers alike! Follow these steps to contribute: 1. Check our [public Waffle Board](https://waffle.io/freecodecamp/freecodecamp). -2. Pick an issue that nobody has claimed and start working on it. If your issue isn't on the board, open an issue. If you think you can fix it yourself, start working on it. Feel free to ask for help in our [Slack](http://freecode.slack.com). +2. Pick an issue that nobody has claimed and start working on it. If your issue isn't on the board, open an issue. If you think you can fix it yourself, start working on it. Feel free to ask for help in our [Slack](http://freecodecamp.slack.com). 3. Fork the project ([Need help with forking a project?](https://help.github.com/articles/fork-a-repo/)). You'll do all of your work on your forked copy. 4. Create a branch specific to the issue or feature you are working on. Push your work to that branch. ([Need help with branching?](https://github.com/Kunena/Kunena-Forum/wiki/Create-a-new-branch-with-git-and-manage-branches)) 5. Name the branch something like `user-xxx` where user is your username and xxx is the issue number you are addressing. diff --git a/app.js b/app.js index e431ac361f..97ee11c775 100755 --- a/app.js +++ b/app.js @@ -381,7 +381,7 @@ app.get('/api/slack', function(req, res) { }; var options = { - url: 'https://freecode.slack.com/api/users.admin.invite', + url: 'https://freecodecamp.slack.com/api/users.admin.invite', method: 'POST', headers: headers, form: invite diff --git a/controllers/resources.js b/controllers/resources.js index eabb05f87f..09310e1f29 100644 --- a/controllers/resources.js +++ b/controllers/resources.js @@ -232,7 +232,7 @@ module.exports = { chat: function chat(req, res) { if (req.user && req.user.progressTimestamps.length > 5) { - res.redirect('http://freecode.slack.com'); + res.redirect('http://freecodecamp.slack.com'); } else { res.render('resources/chat', { title: 'Watch us code live on Twitch.tv' diff --git a/public/js/main_0.0.2.js b/public/js/main_0.0.2.js index 2d92d33321..69a8dfcff2 100644 --- a/public/js/main_0.0.2.js +++ b/public/js/main_0.0.2.js @@ -30,7 +30,7 @@ $(document).ready(function() { }, function(res) { if (res) { - window.open('https://freecode.slack.com/messages/help/', '_blank') + window.open('https://freecodecamp.slack.com/messages/help/', '_blank') } } ); @@ -48,7 +48,7 @@ $(document).ready(function() { }, function(res) { if (res) { - window.open('https://freecode.slack.com/messages/help/', '_blank') + window.open('https://freecodecamp.slack.com/messages/help/', '_blank') } } ); @@ -71,7 +71,7 @@ $(document).ready(function() { }, function(res) { if (res) { - window.open('https://freecode.slack.com/messages/letspair/', '_blank') + window.open('https://freecodecamp.slack.com/messages/letspair/', '_blank') } } ); diff --git a/seed_data/challenges/get-set-for-free-code-camp.json b/seed_data/challenges/get-set-for-free-code-camp.json index db1ef4f5c8..78621abb3b 100644 --- a/seed_data/challenges/get-set-for-free-code-camp.json +++ b/seed_data/challenges/get-set-for-free-code-camp.json @@ -265,7 +265,7 @@ "Any time you get stuck or don't know what to do next, follow this simple algorithm (procedure): RSAP (Read, Search, Ask, Post).", "First, R - Read the documentation or error message. A key skill that good coders have is the ability to interpret and then follow instructions.", "Next, S - Search Google. Good Google queries take a lot of practice. When you search Google, you usually want to include the language or framework you're using. You also want to limit the results to a recent period.", - "Then, if you still haven't found an answer to your question, A - Ask your friends. If you have trouble, you can ask your fellow campers. We have a special chat room specifically for getting help with tools you learn through these Free Code Camp Challenges. Go to https://freecode.slack.com/messages/help/. Keep this chat open while you work on the remaining challenges.", + "Then, if you still haven't found an answer to your question, A - Ask your friends. If you have trouble, you can ask your fellow campers. We have a special chat room specifically for getting help with tools you learn through these Free Code Camp Challenges. Go to https://freecodecamp.slack.com/messages/help/. Keep this chat open while you work on the remaining challenges.", "Finally, P - Post on Stack Overflow. Before you attempt to do this, read Stack Overflow's guide to asking good questions: http://stackoverflow.com/help/how-to-ask.", "Here's our detailed field guide on getting help: http://freecodecamp.com/field-guide/how-do-i-get-help-when-i-get-stuck.", "Now you have a clear algorithm to follow when you need help! Let's start coding! Move on to your next challenge." @@ -284,7 +284,7 @@ "Cualquier momento en el que te atasques o no sepas que hacer, sigue este simple algoritmo (procedimiento): RSAP (Read, Search, Ask, Post). Que en español vendría a ser Lee, Busca, Pregunta, Publica.", "Primero, Lee - Lee la documentación o el mensaje de error. El punto fuerte de un buen programador es la habilidad de interpretar y seguir instrucciones.", "Luego, Busca - Busca en Google. Buenas búsquedas o queries requieren bastante práctica. Cuando búsques en Google, idealmente tienes que incluir el lenguaje o framework que estés usando. También tendrás que limitar los resultados de búsqueda a un periodo reciente.", - "Ahora, en caso no hayas encontrado la respuesta a tu pregunta, Pregunta - Pregunta a tus amigos. En caso estes en problemas, puedes preguntar a otros campers. Tenemos una sala de chat especificamente para obtener ayuda sobre las herramientas que utilizamos en los desafíos de Free Code Camp. Ingresa a https://freecode.slack.com/messages/help/. Mantén este chat abierto mientras trabajas en los desafíos subsiguientes.", + "Ahora, en caso no hayas encontrado la respuesta a tu pregunta, Pregunta - Pregunta a tus amigos. En caso estes en problemas, puedes preguntar a otros campers. Tenemos una sala de chat especificamente para obtener ayuda sobre las herramientas que utilizamos en los desafíos de Free Code Camp. Ingresa a https://freecodecamp.slack.com/messages/help/. Mantén este chat abierto mientras trabajas en los desafíos subsiguientes.", "Finalmente, Publica - Publica tu pregunta en Stack Overflow. Antes de hacer esto lee la guía de Stack Overflow para publicar buenas preguntas: http://stackoverflow.com/help/how-to-ask. Tendrás que hacerlo en inglés, en caso no sepas como, pide que te ayuden a traducir tu pregunta en el canal #espanol de Slack.", "Aquí está nuestra guia detallada en como obtener ayuda: http://freecodecamp.com/field-guide/how-do-i-get-help-when-i-get-stuck.", "Ahora que tienes en claro el procedimiento a seguir cuando necesites ayuda. ¡Empecémos a programar! Continua con el siguiente desafío." diff --git a/seed_data/field-guides.json b/seed_data/field-guides.json index ba1d8e9f4d..b7d7a9567c 100644 --- a/seed_data/field-guides.json +++ b/seed_data/field-guides.json @@ -214,7 +214,7 @@ "

", "

This is the most time-efficient way to handle being stuck, and it's the most respectful of other people's time, too.

", "

Most of the time, you'll solve your problem after just one or two steps of this algorithm.

", - "

We have a special chat room just for getting help: https://freecode.slack.com/messages/help/

", + "

We have a special chat room just for getting help: https://freecodecamp.slack.com/messages/help/

", "

Also, if you need to post on Stack Overflow, be sure to read their guide to asking good questions: http://stackoverflow.com/help/how-to-ask.

", "

Learning to code is hard. But it's a lot easier if you ask for help when you need it!

", "" diff --git a/views/challengeMap/show.jade b/views/challengeMap/show.jade index 3c3280564d..02da0f0d15 100644 --- a/views/challengeMap/show.jade +++ b/views/challengeMap/show.jade @@ -90,19 +90,19 @@ block content .modal-body .spacer h4.text-left 我們正在研究將Free Code Camp翻成中文!   - a(href='https://freecode.slack.com/messages/chinese') 請按這裡來參觀我們的中文聊天室 + a(href='https://freecodecamp.slack.com/messages/chinese') 請按這裡來參觀我們的中文聊天室 | . h4.text-left Estamos trabajando a traducir Free Code Camp en español!   - a(href='https://freecode.slack.com/messages/espanol') Haz clic aquí para ir a nuestra sala de chat español + a(href='https://freecodecamp.slack.com/messages/espanol') Haz clic aquí para ir a nuestra sala de chat español | . h4.text-left Nós estamos trabalhando para traduzir o Free Code Camp para o Português!   - a(href='https://freecode.slack.com/messages/portugues') Clique aqui para visitar nossa sala de bate-papo em Português + a(href='https://freecodecamp.slack.com/messages/portugues') Clique aqui para visitar nossa sala de bate-papo em Português | . h4.text-left Nous travaillons pour traduire Free Code Camp en Français!   - a(href='https://freecode.slack.com/messages/francais') Cliquez ici pour visiter notre salle de chat Français + a(href='https://freecodecamp.slack.com/messages/francais') Cliquez ici pour visiter notre salle de chat Français | . h4.text-left Мы работаем над переводом Free Code Camp на русский язык!   - a(href='https://freecode.slack.com/messages/russian') Нажмите здесь, чтобы посетить русский чат + a(href='https://freecodecamp.slack.com/messages/russian') Нажмите здесь, чтобы посетить русский чат | . a.btn.btn-lg.btn-primary.btn-block(href='#', data-dismiss='modal', aria-hidden='true') Thanks for the heads-up! script. From b5eef8a5e8d8425c113ba5983ac658339d95b2c9 Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Mon, 1 Jun 2015 17:11:24 -0700 Subject: [PATCH 05/12] fix systemic typo in challenges --- seed_data/challenges/basic-html5-and-css.json | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index 1f22850de3..bfcfb39af7 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -53,7 +53,7 @@ ], "tests": [ "assert(($('h2').length > 0), 'Create an h2 element.')", - "assert(editor.match(/<\\/h2>/g) && editor.match(/<\\/h2>/g).length === editor.match(/

/g).length, 'Make sureyour h2 element has a closing tag.')", + "assert(editor.match(/<\\/h2>/g) && editor.match(/<\\/h2>/g).length === editor.match(/

/g).length, 'Make sure your h2 element has a closing tag.')", "assert.isTrue((/cat(\\s)?photo(\\s)?app/gi).test($('h2').text()), 'Your h2 element should have the text \"CatPhotoApp\"')", "assert.isTrue((/hello(\\s)+world/gi).test($('h1').text()), 'Your h1 element should have the text \"Hello World\"')" ], @@ -89,7 +89,7 @@ "tests": [ "assert(($('p').length > 0), 'Create a p element.')", "assert.isTrue((/hello(\\s)+paragraph/gi).test($('p').text()), 'Your p element should have the text \"Hello Paragraph\".')", - "assert(editor.match(/<\\/p>/g) && editor.match(/<\\/p>/g).length === editor.match(/

/g).length, 'Make sureyour p element has a closing tag.')" + "assert(editor.match(/<\\/p>/g) && editor.match(/<\\/p>/g).length === editor.match(/

/g).length, 'Make sure your p element has a closing tag.')" ], "challengeSeed": [ "

Hello World

", @@ -480,7 +480,7 @@ ], "tests": [ "assert($('p').length > 1, 'You need 2 p elements with Kitty Ipsum text.')", - "assert(editor.match(/<\\/p>/g).length > 1, 'Make sureeach of your p elements has a closing tag.')", + "assert(editor.match(/<\\/p>/g).length > 1, 'Make sure each of your p elements has a closing tag.')", "assert($('p').css('font-size') === '16px', 'Give your p elements the font-size of 16px.')" ], "challengeSeed": [ @@ -1041,7 +1041,7 @@ "assert($('a').text().match(/cat\\sphotos/gi).length > 0, 'Your a element should have the anchor text of \"cat photos\"')", "assert($('a[href=\\'http://www.catphotoapp.com\\']').parent().is('p'), 'Your anchor element should be wrapped within a paragraph element.')", "assert($('p').text().match(/click\\shere\\sfor/gi), 'Your p element should have the text \"click here for\".')", - "assert(editor.match(/<\\/p>/g).length > 2, 'Make sureeach of your p elements has a closing tag.')" + "assert(editor.match(/<\\/p>/g).length > 2, 'Make sure each of your p elements has a closing tag.')" ], "challengeSeed": [ "", @@ -1168,7 +1168,7 @@ "tests": [ "assert(new RegExp('#').test($('a').children('img').parent().attr('href')), 'Your anchor element should be a dead link with a href attribute set to \"#\".')", "assert($('a').children('img').length > 0, 'Wrap your image element inside an anchor element.')", - "assert(editor.match(/<\\/a>/g).length > 1, 'Make sureeach of your a elements has a closing tag.')" + "assert(editor.match(/<\\/a>/g).length > 1, 'Make sure each of your a elements has a closing tag.')" ], "challengeSeed": [ "", @@ -1295,8 +1295,8 @@ "tests": [ "assert($('ul').length > 0, 'Create a ul element.')", "assert($('li').length > 2, 'Add three li elements to your ul element.')", - "assert(editor.match(/<\\/ul>/g), 'Make sureyour ul element has a closing tag.')", - "assert(editor.match(/<\\/li>/g) && editor.match(/<\\/li>/g).length > 2, 'Make sureeach of your li elements has a closing tag.')" + "assert(editor.match(/<\\/ul>/g), 'Make sure your ul element has a closing tag.')", + "assert(editor.match(/<\\/li>/g) && editor.match(/<\\/li>/g).length > 2, 'Make sure each of your li elements has a closing tag.')" ], "challengeSeed": [ "", @@ -1362,9 +1362,9 @@ "assert($('ol').length > 0, 'You should have an ol element on your webpage.')", "assert($('li').length > 5, 'You should have three li elements within your ul element.')", "assert($('li').length > 5, 'You should have three li elements within your ol element.')", - "assert(editor.match(/<\\/ol>/g), 'Make sureyour ol element has a closing tag.')", - "assert(editor.match(/<\\/ul>/g), 'Make sureyour ul element has a closing tag.')", - "assert(editor.match(/<\\/li>/g).length > 5, 'Make sureeach of your li elements has a closing tag.')" + "assert(editor.match(/<\\/ol>/g), 'Make sure your ol element has a closing tag.')", + "assert(editor.match(/<\\/ul>/g), 'Make sure your ul element has a closing tag.')", + "assert(editor.match(/<\\/li>/g).length > 5, 'Make sure each of your li elements has a closing tag.')" ], "challengeSeed": [ "", @@ -1651,7 +1651,7 @@ "assert($('form').children('button').length > 0, 'Your form should have a button inside it.')", "assert($('button').attr('type') === 'submit', 'Your submit button should have be of input type \"submit\".')", "assert($('button').text().match(/submit/gi), 'Your submit button should have the text \"submit\".')", - "assert(editor.match(/<\\/button>/g), 'Make sureyour button element has a closing tag.')" + "assert(editor.match(/<\\/button>/g), 'Make sure your button element has a closing tag.')" ], "challengeSeed": [ "", @@ -2125,7 +2125,7 @@ "assert($('div').children('ol').length > 0, 'Wrap your ol element inside your div element.')", "assert($('div').children('p').length > 1, 'Wrap your p element inside your div element.')", "assert($('div').children('ul').length > 0, 'Wrap your ul element inside your div element.')", - "assert(editor.match(/<\\/div>/g) && editor.match(/<\\/div>/g).length === editor.match(/
/g).length, 'Make sureyour div element has a closing tag.')" + "assert(editor.match(/<\\/div>/g) && editor.match(/<\\/div>/g).length === editor.match(/
/g).length, 'Make sure your div element has a closing tag.')" ], "challengeSeed": [ "", From 223c4499bab5ae5a62ef3efd198894c09c2d3042 Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Mon, 1 Jun 2015 17:22:09 -0700 Subject: [PATCH 06/12] minor fixes so far --- seed_data/challenges/basic-html5-and-css.json | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index bfcfb39af7..f588fcc9a0 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -16,7 +16,7 @@ "To enable the \"Go to my next challenge\" button on this exercise, change your h1 tag's text to say \"Hello World\" instead of \"Hello\"." ], "tests": [ - "assert.isTrue((/hello(\\s)+world/gi).test($('h1').text()), 'Your h1 element should have the text \"Hello World\"')" + "assert.isTrue((/hello(\\s)+world/gi).test($('h1').text()), 'Your h1 element should have the text \"Hello World\".')" ], "challengeSeed": [ "

Hello

" @@ -54,8 +54,8 @@ "tests": [ "assert(($('h2').length > 0), 'Create an h2 element.')", "assert(editor.match(/<\\/h2>/g) && editor.match(/<\\/h2>/g).length === editor.match(/

/g).length, 'Make sure your h2 element has a closing tag.')", - "assert.isTrue((/cat(\\s)?photo(\\s)?app/gi).test($('h2').text()), 'Your h2 element should have the text \"CatPhotoApp\"')", - "assert.isTrue((/hello(\\s)+world/gi).test($('h1').text()), 'Your h1 element should have the text \"Hello World\"')" + "assert.isTrue((/cat(\\s)?photo(\\s)?app/gi).test($('h2').text()), 'Your h2 element should have the text \"CatPhotoApp\".')", + "assert.isTrue((/hello(\\s)+world/gi).test($('h1').text()), 'Your h1 element should have the text \"Hello World\".')" ], "challengeSeed": [ "

Hello World

" @@ -84,7 +84,7 @@ "description": [ "Create a p element below your h2 element, and give it the text \"Hello Paragraph\".", "p elements are the preferred element for normal-sized paragraph text on websites. P is short for \"paragraph\".", - "You can create a p element like so: <p>I'm a p tag!</p>" + "You can create a p element like so: <p>I'm a p tag!</p>." ], "tests": [ "assert(($('p').length > 0), 'Create a p element.')", @@ -106,7 +106,7 @@ "descriptionEs": [ "Crea un elemento párrafo debajo de tu elemento h2, y dale el texto \"Hello Paragraph\". Apenas escribas la etiqueta de apertura <p>, una de nuestras pruebas pasarán (ya que ésta es HTML válido). Asegúrate de cerrar el elemento agregando la etiqueta de cierre </p>.", "Los elementos párrafo son los principales elementos para los párrafos de texto en tamaño normal en sitios web.", - "Tú puedes crear un elemento párrafo como éste: <p>I'm a p tag!</p>" + "Tú puedes crear un elemento párrafo como éste: <p>I'm a p tag!</p>." ], "namePt": "", "descriptionPt": [] @@ -122,7 +122,7 @@ "You'll encounter other self-closing element tags soon." ], "tests": [ - "assert(($('br').length > 0), 'Add a br element to your page, preferably between two of your elements.')" + "assert(($('br').length > 0), 'Add a br element to your page preferably between two of your elements.')" ], "challengeSeed": [ "

Hello World

", @@ -362,7 +362,9 @@ ], "tests": [ "assert($('h2').css('color') === 'rgb(0, 0, 255)', 'Your h2 element should be blue.')", - "assert(!$('h2').attr('style'), 'Remove the style attribute from your h2 element.')" + "assert(!$('h2').attr('style'), 'Remove the style attribute from your h2 element.')", + "assert(($('style').length > 0), 'Create a style element.')", + "assert(editor.match(/<\\/style>/g) && editor.match(/<\\/style>/g).length === editor.match(/