14
.github/ISSUE_TEMPLATE.md
vendored
14
.github/ISSUE_TEMPLATE.md
vendored
@ -1,21 +1,18 @@
|
|||||||
<!--
|
<!-- FreeCodeCamp Issue Template -->
|
||||||
FreeCodeCamp Issue Template
|
|
||||||
NOTE: ISSUES ARE NOT FOR CODE HELP - Ask for Help at
|
<!-- NOTE: ISSUES ARE NOT FOR CODE HELP - Ask for Help at https://gitter.im/FreeCodeCamp/Help -->
|
||||||
https://gitter.im/FreeCodeCamp/Help
|
<!-- Please provide as much detail as possible for us to fix your issue -->
|
||||||
-->
|
<!-- Remove any heading sections you did not fill out -->
|
||||||
|
|
||||||
#### Challenge Name
|
#### Challenge Name
|
||||||
|
|
||||||
<!-- Insert link to challenge below -->
|
<!-- Insert link to challenge below -->
|
||||||
|
|
||||||
|
|
||||||
#### Issue Description
|
#### Issue Description
|
||||||
|
|
||||||
<!-- Describe below when the issue happens and how to reproduce it -->
|
<!-- Describe below when the issue happens and how to reproduce it -->
|
||||||
|
|
||||||
|
|
||||||
#### Browser Information
|
#### Browser Information
|
||||||
|
|
||||||
<!-- Describe your workspace in which you are having issues-->
|
<!-- Describe your workspace in which you are having issues-->
|
||||||
|
|
||||||
* Browser Name, Version:
|
* Browser Name, Version:
|
||||||
@ -30,5 +27,6 @@ https://gitter.im/FreeCodeCamp/Help
|
|||||||
```
|
```
|
||||||
|
|
||||||
#### Screenshot
|
#### Screenshot
|
||||||
|
<!-- Add a screenshot of your issue -->
|
||||||
|
|
||||||
|
|
||||||
|
@ -462,7 +462,8 @@ $(document).ready(function() {
|
|||||||
// Map live filter
|
// Map live filter
|
||||||
mapFilter.on('keyup', () => {
|
mapFilter.on('keyup', () => {
|
||||||
if (mapFilter.val().length > 0) {
|
if (mapFilter.val().length > 0) {
|
||||||
var regex = new RegExp(mapFilter.val().replace(/ /g, '.'), 'i');
|
var regexString = mapFilter.val().replace(/ /g, '.');
|
||||||
|
var regex = new RegExp(regexString.split('').join('.*'), 'i');
|
||||||
|
|
||||||
// Hide/unhide challenges that match the regex
|
// Hide/unhide challenges that match the regex
|
||||||
$('.challenge-title').each((index, title) => {
|
$('.challenge-title').each((index, title) => {
|
||||||
@ -624,4 +625,31 @@ $(document).ready(function() {
|
|||||||
// Repo
|
// Repo
|
||||||
window.location = 'https://github.com/freecodecamp/freecodecamp/';
|
window.location = 'https://github.com/freecodecamp/freecodecamp/';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
(function getFlyer() {
|
||||||
|
const flyerKey = '__flyerId__';
|
||||||
|
$.ajax({
|
||||||
|
url: '/api/flyers/findOne',
|
||||||
|
method: 'GET',
|
||||||
|
dataType: 'JSON',
|
||||||
|
data: { filter: { order: 'id DESC' } }
|
||||||
|
})
|
||||||
|
// log error
|
||||||
|
.fail(err => console.error(err))
|
||||||
|
.done(flyer => {
|
||||||
|
const lastFlyerId = localStorage.getItem(flyerKey);
|
||||||
|
if (
|
||||||
|
!flyer ||
|
||||||
|
!flyer.isActive ||
|
||||||
|
lastFlyerId === flyer.id
|
||||||
|
) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$('#dismiss-bill').on('click', () => {
|
||||||
|
localStorage.setItem(flyerKey, flyer.id);
|
||||||
|
});
|
||||||
|
$('#bill-content').html(flyer.message);
|
||||||
|
$('#bill-board').fadeIn();
|
||||||
|
});
|
||||||
|
}());
|
||||||
});
|
});
|
||||||
|
34
common/models/flyer.json
Normal file
34
common/models/flyer.json
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"name": "flyer",
|
||||||
|
"base": "PersistedModel",
|
||||||
|
"idInjection": true,
|
||||||
|
"trackChanges": false,
|
||||||
|
"properties": {
|
||||||
|
"message": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"isActive": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"validations": [],
|
||||||
|
"relations": {
|
||||||
|
|
||||||
|
},
|
||||||
|
"acls": [
|
||||||
|
{
|
||||||
|
"accessType": "*",
|
||||||
|
"principalType": "ROLE",
|
||||||
|
"principalId": "$everyone",
|
||||||
|
"permission": "DENY"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"accessType": "READ",
|
||||||
|
"principalType": "ROLE",
|
||||||
|
"principalId": "$everyone",
|
||||||
|
"permission": "ALLOW"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"methods": []
|
||||||
|
}
|
@ -3921,7 +3921,7 @@
|
|||||||
"<blockquote>var myObj = {<br> \"Space Name\": \"Kirk\",<br> \"More Space\": \"Spock\"<br>};<br>myObj[\"Space Name\"]; // Kirk<br>myObj['More Space']; // Spock</blockquote>",
|
"<blockquote>var myObj = {<br> \"Space Name\": \"Kirk\",<br> \"More Space\": \"Spock\"<br>};<br>myObj[\"Space Name\"]; // Kirk<br>myObj['More Space']; // Spock</blockquote>",
|
||||||
"Note that property names with spaces in them must be in quotes (single or double).",
|
"Note that property names with spaces in them must be in quotes (single or double).",
|
||||||
"<h4>Instructions</h4>",
|
"<h4>Instructions</h4>",
|
||||||
"Read the values of the properties <code>\"an entree\"</code> and <code>\"the drink\"</code> of <code>testObj</code> using bracket notation."
|
"Read the values of the properties <code>\"an entree\"</code> and <code>\"the drink\"</code> of <code>testObj</code> using bracket notation and assign them to <code>entreeValue</code> and <code>drinkValue</code> respectively."
|
||||||
],
|
],
|
||||||
"releasedOn": "January 1, 2016",
|
"releasedOn": "January 1, 2016",
|
||||||
"challengeSeed": [
|
"challengeSeed": [
|
||||||
@ -5101,8 +5101,8 @@
|
|||||||
"function randomRange(myMin, myMax) {\n return Math.floor(Math.random() * (myMax - myMin + 1)) + myMin;\n}"
|
"function randomRange(myMin, myMax) {\n return Math.floor(Math.random() * (myMax - myMin + 1)) + myMin;\n}"
|
||||||
],
|
],
|
||||||
"tests": [
|
"tests": [
|
||||||
"assert(calcMin === 5, 'message: The random number generated by <code>randomRange</code> should be greater than or equal to your minimum number, <code>myMin</code>.');",
|
"assert(calcMin === 5, 'message: The lowest random number that can be generated by <code>randomRange</code> should be equal to your minimum number, <code>myMin</code>.');",
|
||||||
"assert(calcMax === 15, 'message: The random number generated by <code>randomRange</code> should be less than or equal to your maximum number, <code>myMax</code>.');",
|
"assert(calcMax === 15, 'message: The highest random number that can be generated by <code>randomRange</code> should be equal to your maximum number, <code>myMax</code>.');",
|
||||||
"assert(randomRange(0,1) % 1 === 0 , 'message: The random number generated by <code>randomRange</code> should be an integer, not a decimal.');",
|
"assert(randomRange(0,1) % 1 === 0 , 'message: The random number generated by <code>randomRange</code> should be an integer, not a decimal.');",
|
||||||
"assert((function(){if(code.match(/myMax/g).length > 1 && code.match(/myMin/g).length > 2 && code.match(/Math.floor/g) && code.match(/Math.random/g)){return true;}else{return false;}})(), 'message: <code>randomRange</code> should use both <code>myMax</code> and <code>myMin</code>, and return a random number in your range.');"
|
"assert((function(){if(code.match(/myMax/g).length > 1 && code.match(/myMin/g).length > 2 && code.match(/Math.floor/g) && code.match(/Math.random/g)){return true;}else{return false;}})(), 'message: <code>randomRange</code> should use both <code>myMax</code> and <code>myMin</code>, and return a random number in your range.');"
|
||||||
],
|
],
|
||||||
|
@ -177,7 +177,7 @@
|
|||||||
"id": "bd7158d8c242eddfaeb5bd13",
|
"id": "bd7158d8c242eddfaeb5bd13",
|
||||||
"title": "Build a Personal Portfolio Webpage",
|
"title": "Build a Personal Portfolio Webpage",
|
||||||
"description": [
|
"description": [
|
||||||
"<strong>Objective:</strong> Build a <a href='https://codepen.io' target='_blank'>CodePen.io</a> app that is functionally similar to this: <a href='https://codepen.io/hallaathrad/full/vNEPpL' target='_blank'>https://codepen.io/hallaathrad/full/vNEPpL</a>.",
|
"<strong>Objective:</strong> Build a <a href='https://codepen.io' target='_blank'>CodePen.io</a> app that is functionally similar to this: <a href='https://codepen.io/FreeCodeCamp/full/YqLyXB/' target='_blank'>https://codepen.io/FreeCodeCamp/full/YqLyXB/</a>.",
|
||||||
"<strong>Rule #1:</strong> Don't look at the example project's code. Figure it out for yourself.",
|
"<strong>Rule #1:</strong> Don't look at the example project's code. Figure it out for yourself.",
|
||||||
"<strong>Rule #2:</strong> Fulfill the below <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>user stories</a>. Use whichever libraries you need. Give it your own personal style.",
|
"<strong>Rule #2:</strong> Fulfill the below <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>user stories</a>. Use whichever libraries you need. Give it your own personal style.",
|
||||||
"<strong>Rule #3:</strong> You may use your own CSS and frameworks other than Bootstrap.",
|
"<strong>Rule #3:</strong> You may use your own CSS and frameworks other than Bootstrap.",
|
||||||
|
@ -26,6 +26,15 @@
|
|||||||
"LinkedIn reconoce a Free Code Camp como una universidad. Puedes obtener acceso a nuestra larga red de alumnos agregando Free Code Camp a la sección de educación de tu LinkedIn. Define tu fecha de graduación para el siguiente año. En el campo \"Grado\", escribe \"Certificación de Desarrollo Web Full Stack\". En \"Campo de estudio\", escribe \"Ingeniería de Software\". Después pulsa \"Guardar Cambios\".",
|
"LinkedIn reconoce a Free Code Camp como una universidad. Puedes obtener acceso a nuestra larga red de alumnos agregando Free Code Camp a la sección de educación de tu LinkedIn. Define tu fecha de graduación para el siguiente año. En el campo \"Grado\", escribe \"Certificación de Desarrollo Web Full Stack\". En \"Campo de estudio\", escribe \"Ingeniería de Software\". Después pulsa \"Guardar Cambios\".",
|
||||||
"https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp"
|
"https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp"
|
||||||
]
|
]
|
||||||
|
],
|
||||||
|
"titleFr": "Rejoignez notre réseau de lauréats sur Linkedin",
|
||||||
|
"descriptionFr": [
|
||||||
|
[
|
||||||
|
"//i.imgur.com/vJyiXzU.gif",
|
||||||
|
"Une gif qui montre comment tu peux cliquer sur le lien ci-dessous et remplir les champs nécessaires pour ajouter le certificat de Free Code Camp à votre profil LinkedIn.",
|
||||||
|
"LinkedIn reconnait Free Code Camp comme une université. Tu peux avoir accès à notre large réseau de lauréats en ajoutant Free Code Camp à la section éducation de ton profil LinkedIn. L’année d’obtention du diplôme est la prochaine année. Pour le \"Degré\", c’est \"Full Stack Web Development Certification\". Pour le \"Domaine d’études\", c’est \"Computer Software Engineering\". Puis sauvegardez les changements.",
|
||||||
|
"https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp"
|
||||||
|
]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -52,6 +61,15 @@
|
|||||||
"Nuestra comunidad tiene su propio subreddit en Reddit. Esta es una manera conveniente de hacer preguntas y compartir enlaces con toda nuestra comunidad. Si aún no dispones de una cuenta de Reddit, puedes crear una en unos segundos - ni siquiera necesitas una dirección de correo electrónico. A continuación, puedes pulsar el botón \"subscribe\" para unirte a nuestro subreddit. También puedes suscribirte a otros subreddits que estan listados en la barra lateral.",
|
"Nuestra comunidad tiene su propio subreddit en Reddit. Esta es una manera conveniente de hacer preguntas y compartir enlaces con toda nuestra comunidad. Si aún no dispones de una cuenta de Reddit, puedes crear una en unos segundos - ni siquiera necesitas una dirección de correo electrónico. A continuación, puedes pulsar el botón \"subscribe\" para unirte a nuestro subreddit. También puedes suscribirte a otros subreddits que estan listados en la barra lateral.",
|
||||||
"https://reddit.com/r/freecodecamp"
|
"https://reddit.com/r/freecodecamp"
|
||||||
]
|
]
|
||||||
|
],
|
||||||
|
"titleFr": "Rejoignez notre Subreddit",
|
||||||
|
"descriptionFr": [
|
||||||
|
[
|
||||||
|
"//i.imgur.com/DYjJuCG.gif",
|
||||||
|
"Une gif montrant la procédure de création d’un compte sur Reddit et comment rejoindre le subreddit de Free Code Camp",
|
||||||
|
"Notre communauté à son propre subreddit sur Reddit. C’est un espace où tu peux poser des questions ou partager des liens avec la communauté. Si tu n’as pas encore un compte sur Reddit, tu peux créer un dans quelque secondes – tu n’as pas besoin d’une adresse mail. Tu peux cliquer après sur le bouton \"subscribe\" pour rejoindre notre subreddit. Tu peux rejoindre d’autre subreddits listés dans la sidebar.",
|
||||||
|
"https://reddit.com/r/freecodecamp"
|
||||||
|
]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -90,6 +108,21 @@
|
|||||||
"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.",
|
"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"
|
"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"
|
||||||
|
]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -116,6 +149,15 @@
|
|||||||
"Our community's YouTube channel features video tutorials and demos of projects that campers have built for nonprofits. We add new videos every week. The button below will take you to our YouTube channel, where you can subscribe for free.",
|
"Our community's YouTube channel features video tutorials and demos of projects that campers have built for nonprofits. We add new videos every week. The button below will take you to our YouTube channel, where you can subscribe for free.",
|
||||||
"https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ?sub_confirmation=1"
|
"https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ?sub_confirmation=1"
|
||||||
]
|
]
|
||||||
|
],
|
||||||
|
"titleFr": "Regarde nous coder en direct sur Twitch.tv",
|
||||||
|
"descriptionFr": [
|
||||||
|
[
|
||||||
|
"//i.imgur.com/8rtyRY1.gif",
|
||||||
|
"Une gif montrant comment tu peux créer un compte sur Twitch.tv et suivre notre chaîne.",
|
||||||
|
"Nos campers codent fréquemment en direct sur Twitch.tv, un site de streaming populaire. Tu peux créer un compte en moins d’une minute, et suivre la chaîne de Free Code Camp. Une fois suivi, tu auras l’option de recevoir un email à chaque fois qu’un de nos campers est en direct. Et donc tu peux rejoindre plusieurs campers pour regarder et interagir sur le salon de chat. C’est une façon d’apprendre en regardant les autres coder.",
|
||||||
|
"https://twitch.tv/freecodecamp"
|
||||||
|
]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -141,6 +183,15 @@
|
|||||||
"Puedes poner una meta y prometer donar mensualmente a una organización sin fines de lucro hasta que alcances tu meta. Esto te dará motivación externa en tu aventura de aprender a programar, así como una oportunidad para ayudar inmediatamente a organizaciones sin fines de lucro. Elige tu meta, después elige tu donativo mensual. Cuando pulses \"commit\", la página de donación de la organización sin fines de lucro se abrirá en una nueva pestaña. Esto es completamente opcional, y puedes cambiar tu compromiso o detenerlo en cualquier momento.",
|
"Puedes poner una meta y prometer donar mensualmente a una organización sin fines de lucro hasta que alcances tu meta. Esto te dará motivación externa en tu aventura de aprender a programar, así como una oportunidad para ayudar inmediatamente a organizaciones sin fines de lucro. Elige tu meta, después elige tu donativo mensual. Cuando pulses \"commit\", la página de donación de la organización sin fines de lucro se abrirá en una nueva pestaña. Esto es completamente opcional, y puedes cambiar tu compromiso o detenerlo en cualquier momento.",
|
||||||
"/comprometerse"
|
"/comprometerse"
|
||||||
]
|
]
|
||||||
|
],
|
||||||
|
"titleFr": "Engage-toi à un but et aide une association à but non lucratif",
|
||||||
|
"descriptionFr": [
|
||||||
|
[
|
||||||
|
"//i.imgur.com/Og1ifsn.gif",
|
||||||
|
"Une gif montrant comment tu peux t’engager pour atteindre ton but sur Free Code Camp et verser une somme d’argent chaque mois pour une organisation à but non lucratif qui sera une motivation externe pour atteindre ton objectif.",
|
||||||
|
"Tu peux définir un but et t’engager à verser une somme d’argent pour aider une organisation à but non lucratif chaque mois jusqu’à atteindre ton objectif. Cela va te donner une motivation externe dans ta journée d’apprentissage, mais aussi une opportunité pour aider ces organisations. Choisi un but, et un montant à verser. Quand tu vas cliquer sur \"commit\", la page des dons de l’organisation va s’ouvrir. Cette étape est optionnel, et tu peux annuler ou arrêter ton engagement à n’importe quel instant.",
|
||||||
|
"/commit"
|
||||||
|
]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -54,7 +54,7 @@
|
|||||||
"id": "bd7158d8c442eddfaeb5bd10",
|
"id": "bd7158d8c442eddfaeb5bd10",
|
||||||
"title": "Show the Local Weather",
|
"title": "Show the Local Weather",
|
||||||
"description": [
|
"description": [
|
||||||
"<strong>Objective:</strong> Build a <a href='https://codepen.io' target='_blank'>CodePen.io</a> app that is functionally similar to this: <a href='https://codepen.io/FreeCodeCamp/full/bELRjV' target='_blank'>https://codepen.io/FreeCodeCamp/full/bELRjV</a>.",
|
"<strong>Objective:</strong> Build a <a href='https://codepen.io' target='_blank'>CodePen.io</a> app that is functionally similar to this: <a href='http://codepen.io/FreeCodeCamp/full/bELRjV' target='_blank'>http://codepen.io/FreeCodeCamp/full/bELRjV</a>.",
|
||||||
"<strong>Rule #1:</strong> Don't look at the example project's code. Figure it out for yourself.",
|
"<strong>Rule #1:</strong> Don't look at the example project's code. Figure it out for yourself.",
|
||||||
"<strong>Rule #2:</strong> Fulfill the below <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>user stories</a>. Use whichever libraries or APIs you need. Give it your own personal style.",
|
"<strong>Rule #2:</strong> Fulfill the below <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>user stories</a>. Use whichever libraries or APIs you need. Give it your own personal style.",
|
||||||
"<strong>User Story:</strong> I can see the weather in my current location.",
|
"<strong>User Story:</strong> I can see the weather in my current location.",
|
||||||
@ -72,7 +72,7 @@
|
|||||||
"type": "zipline",
|
"type": "zipline",
|
||||||
"challengeType": 3,
|
"challengeType": 3,
|
||||||
"descriptionRu": [
|
"descriptionRu": [
|
||||||
"<span class='text-info'>Задание:</span> Создайте <a href='https://codepen.io' target='_blank'>CodePen.io</a> который успешно копирует вот этот: <a href='https://codepen.io/FreeCodeCamp/full/bELRjV' target='_blank'>https://codepen.io/FreeCodeCamp/full/bELRjV</a>.",
|
"<span class='text-info'>Задание:</span> Создайте <a href='https://codepen.io' target='_blank'>CodePen.io</a> который успешно копирует вот этот: <a href='http://codepen.io/FreeCodeCamp/full/bELRjV' target='_blank'>http://codepen.io/FreeCodeCamp/full/bELRjV</a>.",
|
||||||
"<span class='text-info'>Правило #1:</span> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
"<span class='text-info'>Правило #1:</span> Не подсматривайте код приведенного на CodePen примера. Напишите его самостоятельно.",
|
||||||
"<span class='text-info'>Правило #2:</span> Можете использовать любые библиотеки или API, которые потребуются.",
|
"<span class='text-info'>Правило #2:</span> Можете использовать любые библиотеки или API, которые потребуются.",
|
||||||
"<span class='text-info'>Правило #3:</span> Воссоздайте функционал приведенного примера и не стесняйтесь добавить что-нибудь от себя.",
|
"<span class='text-info'>Правило #3:</span> Воссоздайте функционал приведенного примера и не стесняйтесь добавить что-нибудь от себя.",
|
||||||
@ -86,13 +86,13 @@
|
|||||||
"Если вы хотите получить немедленную оценку вашего проекта, нажмите эту кнопку и добавьте ссылку на ваш CodePen. В противном случае мы проверим его перед тем как вы приступите к проектам для некоммерческих организаций.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
"Если вы хотите получить немедленную оценку вашего проекта, нажмите эту кнопку и добавьте ссылку на ваш CodePen. В противном случае мы проверим его перед тем как вы приступите к проектам для некоммерческих организаций.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||||
],
|
],
|
||||||
"descriptionEs": [
|
"descriptionEs": [
|
||||||
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='https://codepen.io/FreeCodeCamp/full/bELRjV' target='_blank'>https://codepen.io/FreeCodeCamp/full/bELRjV</a>.",
|
"<span class='text-info'>Objetivo:</span> Crea una aplicación con <a href='https://codepen.io' target='_blank'>CodePen.io</a> cuya funcionalidad sea similar a la de esta: <a href='http://codepen.io/FreeCodeCamp/full/bELRjV' target='_blank'>http://codepen.io/FreeCodeCamp/full/bELRjV</a>.",
|
||||||
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
"<span class='text-info'>Regla #1:</span> No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",
|
||||||
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites.",
|
"<span class='text-info'>Regla #2:</span> Satisface las siguientes <a href='https://en.wikipedia.org/wiki/User_story' target='_blank'>historias de usuario</a>. Usa cualquier librería o APIs que necesites.",
|
||||||
"<span class='text-info'>Historia de usuario:</span> Pedo obtener información acerca del clima en mi localización actual.",
|
"<span class='text-info'>Historia de usuario:</span> Pedo obtener información acerca del clima en mi localización actual.",
|
||||||
"<span class='text-info'>Historia de usuario:</span> Puedo ver un icono diferente o una imagen de fondo diferente (e.g. montaña con nieve, desierto caliente) dependiendo del clima.",
|
"<span class='text-info'>Historia de usuario:</span> Puedo ver un icono diferente o una imagen de fondo diferente (e.g. montaña con nieve, desierto caliente) dependiendo del clima.",
|
||||||
"<span class='text-info'>Historia de usuario:</span> Puedo pulsar un botón para cambiar la unidad de temperatura de grados Fahrenheit a Celsius y viceversa.",
|
"<span class='text-info'>Historia de usuario:</span> Puedo pulsar un botón para cambiar la unidad de temperatura de grados Fahrenheit a Celsius y viceversa.",
|
||||||
"Recomendamos utilizar <a href='http://openweathermap.org/current#geo' target='_blank'>Open Weather API</a>. Al utilizarlo tendrás que crear una llave API gratuita. Normalmente debes evitar exponer llaves de API en CodePen, pero por el momento no hemos encontrado un API de clima que no requiera llave.",
|
"Recomendamos utilizar <a href='https://openweathermap.org/current#geo' target='_blank'>Open Weather API</a>. Al utilizarlo tendrás que crear una llave API gratuita. Normalmente debes evitar exponer llaves de API en CodePen, pero por el momento no hemos encontrado un API de clima que no requiera llave.",
|
||||||
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/How-to-get-help-when-you-get-stuck' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
"Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/How-to-get-help-when-you-get-stuck' target='_blank'>Leer-Buscar-Preguntar</a> si te sientes atascado.",
|
||||||
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
"Cuando hayas terminado, pulsa el botón de \"I've completed this challenge\" e incluye un enlace a tu CodePen.",
|
||||||
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
"Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."
|
||||||
|
@ -130,7 +130,7 @@
|
|||||||
"<strong>User Story:</strong> I can see the relationship between the campers and the domains they're posting.",
|
"<strong>User Story:</strong> I can see the relationship between the campers and the domains they're posting.",
|
||||||
"<strong>User Story:</strong> I can tell approximately many times campers have linked to a specific domain from it's node size.",
|
"<strong>User Story:</strong> I can tell approximately many times campers have linked to a specific domain from it's node size.",
|
||||||
"<strong>User Story:</strong> I can tell approximately how many times a specific camper has posted a link from their node's size.",
|
"<strong>User Story:</strong> I can tell approximately how many times a specific camper has posted a link from their node's size.",
|
||||||
"<strong>Hint:</strong> Here's the Camper News Hot Stories API endpoint: <code>http://www.freecodecamp.com/news/hot</code>.",
|
"<strong>Hint:</strong> Here's the Camper News Hot Stories API endpoint: <code>https://www.freecodecamp.com/news/hot</code>.",
|
||||||
"Remember to use <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/How-to-get-help-when-you-get-stuck' target='_blank'>Read-Search-Ask</a> if you get stuck.",
|
"Remember to use <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/How-to-get-help-when-you-get-stuck' target='_blank'>Read-Search-Ask</a> if you get stuck.",
|
||||||
"When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. ",
|
"When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. ",
|
||||||
"You can get feedback on your project from fellow campers by sharing it in our <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Code Review Chatroom</a>. You can also share it on Twitter and your city's Campsite (on Facebook)."
|
"You can get feedback on your project from fellow campers by sharing it in our <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Code Review Chatroom</a>. You can also share it on Twitter and your city's Campsite (on Facebook)."
|
||||||
|
@ -66,5 +66,9 @@
|
|||||||
"userIdentity": {
|
"userIdentity": {
|
||||||
"dataSource": "db",
|
"dataSource": "db",
|
||||||
"public": true
|
"public": true
|
||||||
|
},
|
||||||
|
"flyer": {
|
||||||
|
"dataSource": "db",
|
||||||
|
"public": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
extends ../layout
|
extends ../layout
|
||||||
block content
|
block content
|
||||||
|
include ../partials/flyer
|
||||||
script(src="/bower_components/cal-heatmap/cal-heatmap.min.js")
|
script(src="/bower_components/cal-heatmap/cal-heatmap.min.js")
|
||||||
script.
|
script.
|
||||||
var challengeName = 'Profile View';
|
var challengeName = 'Profile View';
|
||||||
|
@ -4,6 +4,7 @@ block content
|
|||||||
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
||||||
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
||||||
link(rel='stylesheet', href='/css/ubuntu.css')
|
link(rel='stylesheet', href='/css/ubuntu.css')
|
||||||
|
include ../partials/flyer
|
||||||
.row
|
.row
|
||||||
.col-md-4.col-lg-3
|
.col-md-4.col-lg-3
|
||||||
.scroll-locker(id = "scroll-locker")
|
.scroll-locker(id = "scroll-locker")
|
||||||
|
@ -4,6 +4,7 @@ block content
|
|||||||
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
||||||
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
||||||
link(rel='stylesheet', href='/css/ubuntu.css')
|
link(rel='stylesheet', href='/css/ubuntu.css')
|
||||||
|
include ../partials/flyer
|
||||||
.row
|
.row
|
||||||
.col-md-3.col-lg-3
|
.col-md-3.col-lg-3
|
||||||
.scroll-locker(id = "scroll-locker")
|
.scroll-locker(id = "scroll-locker")
|
||||||
|
@ -4,6 +4,7 @@ block content
|
|||||||
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
||||||
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
||||||
link(rel='stylesheet', href='/css/ubuntu.css')
|
link(rel='stylesheet', href='/css/ubuntu.css')
|
||||||
|
include ../partials/flyer
|
||||||
.row
|
.row
|
||||||
.col-md-4.col-lg-3
|
.col-md-4.col-lg-3
|
||||||
.scroll-locker(id = "scroll-locker")
|
.scroll-locker(id = "scroll-locker")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
extends ../layout-wide
|
extends ../layout-wide
|
||||||
block content
|
block content
|
||||||
|
include ../partials/flyer
|
||||||
.row
|
.row
|
||||||
.col-md-8.col-md-offset-2
|
.col-md-8.col-md-offset-2
|
||||||
for step, index in description
|
for step, index in description
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
extends ../layout-wide
|
extends ../layout-wide
|
||||||
block content
|
block content
|
||||||
|
include ../partials/flyer
|
||||||
.row
|
.row
|
||||||
.col-xs-12.col-sm-12.col-md-4
|
.col-xs-12.col-sm-12.col-md-4
|
||||||
h4.text-center.challenge-instructions-title= name
|
h4.text-center.challenge-instructions-title= name
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
extends ../layout-wide
|
extends ../layout-wide
|
||||||
block content
|
block content
|
||||||
|
include ../partials/flyer
|
||||||
.row
|
.row
|
||||||
.col-md-4
|
.col-md-4
|
||||||
h4.text-center.challenge-instructions-title= name
|
h4.text-center.challenge-instructions-title= name
|
||||||
|
@ -6,7 +6,7 @@ html(lang='en')
|
|||||||
body.top-and-bottom-margins
|
body.top-and-bottom-margins
|
||||||
include partials/scripts
|
include partials/scripts
|
||||||
include partials/navbar
|
include partials/navbar
|
||||||
.container
|
|
||||||
include partials/flash
|
include partials/flash
|
||||||
|
.container
|
||||||
block content
|
block content
|
||||||
include partials/footer
|
include partials/footer
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
.row.flashMessage
|
.container
|
||||||
|
.row.flashMessage.negative-30
|
||||||
.col-xs-12
|
.col-xs-12
|
||||||
if (messages.errors || messages.error)
|
if (messages.errors || messages.error)
|
||||||
.alert.alert-danger.fade.in
|
.alert.alert-danger.fade.in
|
||||||
|
8
server/views/partials/flyer.jade
Normal file
8
server/views/partials/flyer.jade
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
if (user && user.points > 5)
|
||||||
|
.container
|
||||||
|
.row.flashMessage.negative-30
|
||||||
|
.col-xs-12
|
||||||
|
#bill-board.alert.alert-info.fade.in(style='display: none;')
|
||||||
|
button.close(type='button', data-dismiss='alert')
|
||||||
|
span.ion-close-circled#dismiss-bill
|
||||||
|
#bill-content
|
Reference in New Issue
Block a user