Question: [stubTrue, identity] ]); <del> export function concatHtml({ required = [], template, files = [], theme = 'night' } = {}) { theme = theme === '' ? 'night' : theme; </del> <ins> export function concatHtml({ required = [], template, files = [] } = {}) { </ins> const createBody = template ? _template(template) : defaultTemplate; <del> const displayTheme = theme === 'night' ? nightThemeStyle : ` `; </del> const head = required .map(({ link, src }) => { if (link && src) {

I did not see anyone raising this issue, but I don't think the background of the preview in default or night mode should be anything other than white unless the coding exercise specifically changes the background to something else. The preview should be exactly what you would see in a browser. In almost all the challenges, the background would be white. !
I share your concerns The reason we changed the color of the display is that a white display is discomforting to the eye on night mode when everything else is dark. so we injected some styles to harmonize the view in general. That convention was carried over to light mode.
It might be better to default to white in light mode, same as the editor. As for night mode, some of the css challenges might need some changes to look reasonable in both modes. For instance, in night mode, looks like this: ! If we change the seed code to it would become ! It would have to be case-by-case, though.
That is a very good point. I will defer this to
Logically, I have to agree with - displaying anything other than what the code in the editor would produce might confuse campers. But it is a little rough on the eyes to have the white background on night mode. And the current theme looks a lot better - so it's a tough call. I scrolled through a number of challenges, and there's quite a few that don't look right with the blue background. So there might be a decent amount of work to go through and fix all of them.
I really like the new theme, but a preview should be a true preview. We want to make this like the real world. Developers working in some kind of night mode on their favorite local editors, still expect to check the "real" result of the code they have written on a browser or in a preview mode in their local editors. The night mode should only apply to the editor or the non-preview part of the FCC site. Anything else is just not realistic.
The preview should be white.
I agree with everyone here on this thread. The preview should remain white. Note that soon the preview won't always be there on the right side "brightening up" the user interface and ruining people's night mode experience.

Soon we will have a single column layout where you the preview only shows up when you click a button to show it, or it loads in a separate tab. - could you update the styling on this so that the preview area is unaffected by our styling?
Definitely.


Question: "challengeSeed": [ "function myTest(val) {", "  if(val > 10) {", <del> "    return "10 or Bigger";", </del> <ins> "    return "Greater than 10";", </ins> "  }", "  ", "  if(val < 5) {",

Return statement Issue: JS Line 3: Return statement text should be "Greater than 10" instead of "10 or bigger" Challenge Link : Browser Version : v47.0.2526.106 (64-bit) Operating System Version : Mac OS X 10.11.2 Steps to reproduce: to the above challenge link and check the text. (Optional)Read/Run the below test case in the above waypoint challenge page myTest(10) should return "Between 5 and 10" Screenshot 1: ! Screenshot 2: !
:+1: yes "10 or bigger" means
This same waypoint has some more minor bugs associated with it (in the test cases). They are : To save PR Reviewer time, I am merging this very minor issues in one and creating one commit to fix this.


Question: --focus-outline-color: var(--blue-mid); --font-family-sans-serif: 'Lato', sans-serif; --font-family-monospace: 'Hack-ZeroSlash', monospace; <del> --header-element-size: 30px; </del> <ins> --header-element-size: 28px; </ins> --header-sub-element-size: 45px; <del> --header-height: 56px; </del> <ins> --header-height: 38px; </ins> --breadcrumbs-height: 44px; --z-index-site-header: 200; }

The current header height of the learn platform is over 50. Please set it to 38px. Instructions: find the --header-height variable and set it 38px similar to the following: --header-height: 38px;


Question: assert.match(code, /consts+collisionDetectionRuless*=s*[s*(?:[^]]*s*)*s*]s*;?/); ``` <del> You should have a boolean expression that checks if the player's `y` position plus the player's height is less than or equal to the platform's `y` position. </del> <ins> You should have a boolean expression that checks whether the player's `y` position plus the player's height is less than or equal to the platform's `y` position. </ins> ```js assert.match(code, /consts+collisionDetectionRuless*=s*[s*player.position.ys*+s*player.heights*<=s*platform.position.ys*,?s*]s*;?/);

following task ask for : reading this line suggests/ indicates to me writing an "if" statement inside of the array although that could be my understanding of the sentence my suggestion would be to update the sentence to the following No response Device: [macBook pro] OS: [Ventura 13.4.1 ] Browser: [chrome ] Version: [121.0] No response
Hi ! Thank you for creating this issue. I think the re wording makes sense. The only thing, I would change would be the first part of that sentence. We should mention explicitly that they are adding to the array. I will go ahead and open this up for contribution for
This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the Happy coding
I updated the instructions of step 78 and committed the changes. Please have a look at that Thank you
I am sorry but since I am new to open-source contributions, I accidentally closed the previous PR. I am making a new Pull Request please have a look at that.


Question: getContext } from 'redux-saga/effects'; import { channel } from 'redux-saga'; <ins> import escape from 'lodash/escape'; </ins> import { challengeDataSelector,

I stumbled upon this issue when playing around with the challenge. If a user wanted to see what the output of the final variable (the converted version of the string) to the FCC console, it does not get rendered showing the converted entities. You can see in the screenshot below that the browser console has the correct values but the FCC console does not show the same thing. ! I am guessing there are several other challenges where the user would not see the HTML code and would instead send the rendered version in the FCC console.


Question: border-color: var(--secondary-color); background-color: var(--secondary-color); color: var(--secondary-background); <ins> cursor: pointer; </ins> } .btn:active,

When you mouse over the signin buttons on the buttons do not show the pointer cursor. They just show the default cursor. These buttons should show the cursor pointer like all the other buttons on freeCodeCamp.
Should I work on this? if allows
go ahead please.


Question: "title": "Use Spans for Inline Elements", "difficulty": 2.105, "description": [  "You can use use spans to create inline elements. Remember when we used the btn-block class to make the button fill the entire row?",   "You can use spans to create inline elements. Remember when we used the btn-block class to make the button fill the entire row?",  "This image illustrates the difference between inline elements and block-level elements:", "", "By using the span element, you can put several elements together, and even style different parts of the same element differently.",

Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. First line of the challenge has a typo where the word "use" comes twice: You can use use spans to create inline elements.
I have created a pull request that should close this issue. I can't merge it in myself though so we will have to wait until someone with write access to this repository can approve the pull request. Then this issue will be fixed in staging.


Question: Create a `taskObj` object with an `id` property as the first property. For the value of the `id` property, retrieve the value of the `titleInput` field, convert it to lowercase, and then use the `split()` and `join()` methods to hyphenate it. <del> Make sure all of those are in template literals because you need the `id` property value as a string. </del> <ins> Make sure that the value of the `id` property is enclosed within template literals, as you will be appending more to the string later on. </ins> # --hints--

The instructions say, in part: A literal (heh) reading of these instructions resulted in a learner producing this code: I read the instructions and could not figure out what the template string was supposed to do. I had to check the next step. I'm still confused, because a join produces a string output, so it seems completely superfluous. See above. I don't know exactly how to reword this, but the "all of those" is probably too ambiguous. No response N/A No response
Yeah, I agree. it is not clear what it is pointing to. It could be reworded as, Or something along those lines. The next steps is adding a hyphen followed by So the final result will be this
May I proceed to create a pull request to address this issue? I require a merged pull request contribution for my university assignment in open source.
This wording looks good to me. If you want to create a PR you're welcome to do so.
I am currently addressing this issue and have submitted a pull request.I would greatly appreciate it if you could review my pull request at your earliest convenience. If the changes meet the project's standards and requirements, I kindly ask for your assistance in merging them.This contribution is essential for my university assignment.


Question: ``` <del> You should assign `letter + number` to `input.ariaLabel`. </del> <ins> You should give `input.ariaLabel` the same value as `input.id`. </ins> ```js <del> assert.match(code, /input.ariaLabels*=s*letters*+s*number/); </del> <ins> assert.match(code, /input.ariaLabels*=s*((letters*+s*number)|(input.id))/); </ins> ``` # --seed--

Step 18 of the spreadsheet project (js beta) asks us to: Set the aria-label attribute for the input element to the same value as the id attribute. This should be doable just by saying: ; But this code is not accepted and the hint shown is: You should assign letter + number to input.ariaLabel. I think the step should accept assigning into input.ariaLabel No response N/A No response
Yeah, I agree. should pass the test. Since the instruction is vague, I think the test should allow both answers: - Note that the hint text needs to be updated as well. I guess it could be something like:


Question: const store = null; // Define the Redux store here, passing in your reducers ``` <ins> ## --after-user-code-- ```js const _store = Redux.createStore(counterReducer) ``` </ins> # --solutions-- ```js

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --<!-- Add a link to the coding challenge with the problem. -- <!-- Copy and paste the code from the editor that you used in between the back-ticks below: --<!-- Add a clear and concise description of what you expected to happen. --This should be accepted as a correct answer, as it solves the challenge. <!-- Please complete the following information. --- Device: PC OS: Windows 10 Browser: Firefox Version: 97.0.1 <!-- Add any other context about the problem here. --The problem arises if the user tries to test their Redux store functionality After checking the source code of the challenge, the problem seems to be the method used to check if user initiated state correctly or not found in This is resulting in a false assert because the user has modified their state (with Tests) I don't know of a way to assert that the user initialized state other than the way mentioned above Maybe add a note that the user should remove their tests before checking their answer? Sorry if this was mentioned before, but I didn't find it so decided to open the issue.
Rather than adding note, more convenient might be creating new store during the test, off the , and checking initial state of that one.
I agree with gikf's suggestion here. We could create an section under and declare a which we could pass to the tests.


Question: # --solutions-- ```js <del> // solution required </del> <ins> function numberRotations(minDigits, maxDigits) { const DIGITS_TO_KEEP = 100000n; const powersOfTen = Array(maxDigits).fill(0); powersOfTen[0] = 1n; for (let i = 1; i < maxDigits; i++) { powersOfTen[i] = powersOfTen[i - 1] * 10n; } // We want numbers of the form xd * m = dx // Or more precisely: //   (x * 10 + d) * m = d*10^(n-1) + x // Solving for x: //   x = d (10^(n-1) - m) / (10 * m - 1) let total = 0n; for (let numDigits = minDigits; numDigits <= maxDigits; numDigits++) { // Check all multiplier - digit pairs to see if a candidate can be built //  with the correct number of digits for (let multiplier = 1n; multiplier < 10n; multiplier++) { for (let lastDigit = 1n; lastDigit < 10n; lastDigit++) { const numerator   = lastDigit * (powersOfTen[numDigits - 1] - multiplier); const denominator = (powersOfTen[1] * multiplier - 1n); if (numerator % denominator === 0n) { const candidate = (numerator / denominator) * 10n + lastDigit; if (candidate.toString().length === numDigits) { total = (total + candidate) % DIGITS_TO_KEEP; } } } } } return parseInt(total); } </ins> ```

The 100 should be a superscript in the last line of this challenge. N/A Should say We may also consider better mathematical formatting? No response All No response
Seems like it has been like this for a while: I will open this up to first timers. The expected fix is to use MathJax (KaTeX-like) to render the following: $$ n: 10 < n < 10^{100} $$ An issue with the first timers only label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the
I actually saw a way to roll this into a fix that expands the challenge so that won't work.


Question: ] ], "type": "hike",  "challengeType": 6   "challengeType": 6, "nameEs": "JavaScript Lingo: Matemáticas", "descriptionEs": [ "Hay un objeto estático de nombre 'Math' en JS con muchos propiedades y métodos incluidos.", "Vas a querer investigar más de este cuando manipules números. Consulta la documentación de MDN antes de escribir tus propias funciones, pues ya podrían estar definidas allí. ", "Los ejemplos incluyen Math.random() que devolverá un número aleatorio en un rango y Math.round() que redondeará el número decimal que reciba al entero más cercano.", "Yo utilicé Math.random() cuando construí el generador de citas aleatorias como proyecto de desarrollo de interfaces en FreeCodeCamp.", "Cuando trabajes con números, también debes estar consciente de que JS tiene un atributo interesante llamado 'formato de coma flotante'.", "Dependiendo de la cantidad de números, su tamaño y la cantidad de cálculos, JS puede devolver un número que es inexacto en 0,00004.", "Hay maneras de evitar esto, y en general no plantean problemas, pero es algo que debes tener en cuenta si te encuentras con algunos problemas que parecen no tienen sentido." ]  }, { "id": "56b15f15632298c12f315186",

[ ] JavaScript Lingo: MDN and Documentation [ ] JavaScript Lingo: Value Types [ ] JavaScript Lingo: Variables & camelCase [ ] JavaScript Lingo: Arrays & Objects [ ] JavaScript Lingo: Finding and Indexing Data in Arays [ ] JavaScript Lingo: Manipulating Data [ ] JavaScript Lingo: Math [ ] JavaScript Lingo: Loops [ ] JavaScript Lingo: Regular Expressions
Working on this one


Question: font-weight: normal; } <ins> .donation-form .btn { white-space: normal; } </ins> .modal-close-btn-container { display: flex; justify-content: center;

!
Could you give a link to the page as then it might be easier to solve the issue?
This should be the case on the user's profile page. You can reproduce by setting the certificate keys to true in the user object.
I could work on this!
I am already working on it.
Thanks for letting me know!
a reasonable fix would be to give the grid that contains the profile a class and on the css, change the button under that class and have . you will end up with something like this. here it is on small and large screens <img width="681" alt="screen shot 2019-02-22 at 2 18 10 pm" src="https://user-"<img width="1095" alt="screen shot 2019-02-22 at 2 17 53 pm" src="https://user-"
Similar solution could be applied to these donate buttons probably. but the selectors should be very specific not to change the styling on other buttons in the platform. <img width="669" alt="screen shot 2019-02-23 at 2 09 14 pm" src="https://user-"<img width="502" alt="screen shot 2019-02-23 at 2 08 51 pm" src="https://user-"
Hey or Can you take this up? just updated us that he will be a bit busy with other things.
I'm on it


Question: *   Regex *   Regex.test  ![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":rocket:") Run Code  ## ![:rotating_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/rotating_light.png?v=3 ":rotating_light:") Advanced Code Solution: function rot13(str) { // LBH QVQ VG!

Describe your problem and how to reproduce it: First Issue: The Basic solution uses call() function but doesn't include any reference to it. Second Issue: The Basic solution doesn't work when you use it as a solution for the challenge. You get the following error on the beta site: I guess setting to fixes this issue. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Mozilla Firefox Browser Version: 66.0.5 Operating System: Windows 10 One more thing. The error generated on the old site is helpful whereas the one on the new site isn't. Probably something to look at.
That is a valid point regarding the error message, but that is a different issue related to how the challenge tests are ran. I have gone ahead and created a PR () to address the solution in the Guide, but the last issue you mentioned will have to be discussed in a separate issue (feel free to create it if you have the time). I could not find any outstanding issues regarding why this does not show the error "assignment to undeclared variable x" which does show in the actual browser console. Are errors like this being suppressed on showing in the fake console for any reason?


Question: link = 'http://' + link; } var story = new Story({ <del> headline: sanitizeHtml(data.headline), </del> <ins> headline: sanitizeHtml(data.headline, { allowedTags: [], allowedAttributes: [] }).replace(/"/g, '"'), </ins> timePosted: Date.now(), link: link, <del> description: sanitizeHtml(data.description), </del> <ins> description: sanitizeHtml(data.description, { allowedTags: [], allowedAttributes: [] }).replace(/"/g, '"'), </ins> rank: 1, upVotes: data.upVotes, author: data.author,

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Test for this lesson may not check the syntax for any constructor syntax, instead looks like it's tested by output. EIther user provide the constructor(correct/expected way) or not, challenge passes. Browser Name: Chrome Browser Version: 67 Operating System: Win7
I'm on it.
following solution works to passs the test: function makeClass() { "use strict"; / Alter code below this line / class Vegetable { constructor(Vegetable) { this. Vegetable = Vegetable; } } / Alter code above this line / return Vegetable; } const Vegetable = makeClass(); const carrot = new Vegetable('carrot'); (); // =should be 'carrot'
Hello, Unfortunately, this solution doesn't work for me. (The same as in the "Hint": ) Error message: // running tests should return carrot. // tests completed
sorry to hear that! Would you mind posting your solution here so we could take a look?
Hello Kristofer, Thank you for your email. (ES6: Use class Syntax to Define a Constructor Function) I have already got help from FreeCodeCamp. I used the solution from "HINT", but it didn't work. class Vegetable { constructor(Vegetable){ this.Vegetable = Vegetable; } } What worked is the code below: class Vegetable { constructor(name) { = name; } } Thank you. Kind regards, Zsolt


Question: # --description-- <del> Make the `header` take up the full width of its parent container, set it's `height` to `50px`, and set the `background-color` to `#1b1b32`. Then, set the `display` to use _Flexbox_. </del> <ins> Make the `header` take up the full width of its parent container, set its `height` to `50px`, and set the `background-color` to `#1b1b32`. Then, set the `display` to use _Flexbox_. </ins> # --hints--

There's a consistent grammatical issue. The author uses "it's" to indicate possession, when the correct word is "its". Due to this, I am also willing to look for other grammatical errors. They could cause confusion, or, at the very least, annoyance. /Note: this issue is present throughout the entire challenge/ n/a n/a Device: Macbook Air OS: Mac OS Ventura Browser: Chrome This is more of a writing issue than a tech one. I hope that's ok.
Thank you for taking the time to open this. I am only able to see the use of in 2 challenges: step-8 step-10 Would you mind sharing any more?
An issue with the label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the


Question: } } ] <del> } </del>  No newline at end of file <ins> } </ins>

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --I didn't know where to put this, but in this exercise the example code on line 3 does not define the removedFromOurArray variable with the var keyword. This causes the test to fail if the user follows the exercise explicitly and only changes the code below the commented line. I imagine this would be frustrating to new users. Browser Name: Chrome Browser Version: Version 66.0.3359.181 (Official Build) (64-bit) Operating System: Windows 10 !
Working on it
I think this would need to raised on the repo for learn: cc
Hi we may have created some confusion on where to create issues and PR Issues are welcome to opened on any repo you like learn or the main repo. We ( will take care of moving them around as needed. Just tag us (me, Stuart are actively checking these) when in doubt. But its fine to just report an not worry ! As for which repo to make a PR against: All of the challenge execution logic is now moved to the learn repo. That is to say, it has become our challenge platform. Its based on Gatsby, and is a simple static app.The challenge themselves (just the content, instructions, and the tests) are on the main repo. They are now published as a npm package. And used on learn as a dependency.The main repo, will just serve the welcome page, user settings and portfolio.
Thank you for the information. I am just a beginner student, so I’m sure I’ve done something stupid. I didn’t know where to put this, but thought I’d raise this as it confused me and I thought it would confuse others. Please move this to the correct place or delete if appropriate. Thank you.
its perfectly alright. Thanks for reporting issues. Please keep it up (on any repo you prefer)


Question: } } ] <del> } </del>  No newline at end of file <ins> } </ins>


Question: # --description-- <del> When you want to know about someone's character or personality, you can ask, `What is (he/she) like?`. This question is about the qualities of a person, not about their physical appearance. Example: </del> <ins> When you want to know about someone's character or personality, you can ask, `What is (he/she) like?` or `What are they like?`. </ins> <del> Imagine you meet a new student in your programming class and you want to know more about her. </del> <ins> This question is about the qualities of a person, not about their physical appearance. Example: </ins> <del> You can ask a classmate, `What is she like?` </del> <ins> Imagine you meet a new student in your programming class and you want to know more about her. You can ask a classmate `What is she like?`. </ins> You are not asking if the new student likes computers or games; you are asking about her personality. Maybe she's friendly, smart, or really good at coding.

The course currently only supports binary gender, he and she, they is excluded. -Advance to 3rd chapter, task 41 -oberserve the text all platforms, all fw Please make this course more inclusive, with something like: What do/does (he/she/they) look like? !
The string "What is (he/she) like?" also appears in Task 42.
"they" is taught in task 43. Even if it is discussed in task43, it can still be used in respective string from Task 41 onwards.
I have updated the issue as asked . Please review it .
Hi there, Thanks for your interest in contributing. This issue has not been triaged yet, and a solution has not been agreed upon. Once the issue is open for contribution, you are welcome to create a pull request to reflect the issue consensus. Please also note that we typically do not assign issues. Instead, we accept the first pull request that comprehensively solves the issue.
Hmmmmmm, While I am always advocating for inclusivity, in this case it may not make sense. Specifically because in English, even when using the singular "they", plural verb conjugations are used. "What does (he/she) look like?" -"What do they look like?" "What is (he/she) like?" -"What are they like?"
I have made the changes as said .
The following tasks need to be updated with these texts.


Question:
); const GridProjectBlock = (
 <Link className='block-header' onClick={() => { this.handleBlockClick(); }} to={challengesWithCompleted[0].fields.slug} >
 {t('misc.certification-project')} {!isAuditedCert(curriculumLocale, superBlock) && ( <Link className='cert-tag' to={t('links:help-translate-link-url')} > {t('misc.translation-pending')} </Link> )}

 {this.renderCheckMark(isBlockCompleted)}
{blockTitle}

 {this.renderBlockIntros(blockIntroArr)} </Link>
   <ScrollableAnchor id={blockDashedName}>
 <Link className='block-header' onClick={() => { this.handleBlockClick(); }} to={challengesWithCompleted[0].fields.slug} >
  {t('misc.certification-project')}  {!isAuditedCert(curriculumLocale, superBlock) && ( <Link className='cert-tag' to={t('links:help-translate-link-url')} > {t('misc.translation-pending')} </Link> )}

 {this.renderCheckMark(isBlockCompleted)}
{blockTitle}

 {this.renderBlockIntros(blockIntroArr)} </Link>
 </ScrollableAnchor>  ); const blockrenderer = () => {

The anchors or whatever for the new RWD cert projects aren't working. to are taken to the block within that page to are not taken to the block within that page To be taken to the block within that page. Side effect: Clicking the breadcrumbs for these projects also doesn't take you to that part of the page Also, you can notice the URL change as you scroll down the page - the block/anchor thing gets at the end of the URL when you scroll to one. It does not get when you scroll to one of the cert projects on this page.


Question: <ins> [![Stories in Ready](https://badge.waffle.io/FreeCodeCamp/freecodecamp.png?label=ready&title=Ready)](https://waffle.io/FreeCodeCamp/freecodecamp) </ins> <img src="https://s3.amazonaws.com/freecodecamp/logo4.0LG.png"> Free Code Camp!

We are currently grouping the articles in the Trending Guides section using a : But I think we should use and to group the items instead. This helps communicate the relationship of the links better, and allows us to remove the attribute from the code (ref: ). Pseudo code: Links in the Trending Guides section are rendered as a and are grouped within a . The change should be made to the following files: Learn platform: News platform: Forum platform: There is no visual regression All attributes in are removed (there are 2 of them in the file) Both Footer snapshot and e2e tests are updated accordingly Bonus point if you can merge tests in this suite into a single test case: This change is to improve cost efficiency as e2e tests are expensive to run.
This issue is not yet open for contribution. I'll wait for others to review the proposal first before marking the issue up for grab.
Can i contribute on this
Sounds like a plan. This is also a problem on and
Oh, thanks I forgot about /news and /forum. I found the repo for /news but I'm not sure where the code for /forum is. Could you help link it to the PR description? (I've already the /news link there.)
Here is the relevant code for the forum:
Alright, thank you Shaun! I'm going to open this one for contribution. we will be happy to review your PR if you are interested in contributing
Can I contribute to the above issue?
An issue with the label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the
This isnt open for contribution
Sorry, I'll need your (and the staff team's) help with this. The PR targeting /learn has been merged, but the changes include some CSS modifications and require local testing. I'm happy to apply the changes to the and repos myself, but I'm not really sure how to setup and test them properly I think it's probably faster to let a staff member handle these changes.
I know how to test and deploy forum changes, but I do not know how to test the changes in . Maybe can test please?


Question: ], "tests": [ "assert($("img").hasClass("smaller-image"), 'message: Your img element should have the class smaller-image.');",  "assert($("img").width() === 100, 'message: Your image should be 100 pixels wide.');"   "assert($("img").width() === 100, 'message: Your image should be 100 pixels wide. Browser zoom should be at 100%.');"  ], "challengeType": 0, "nameEs": "Da tamaño a tus imágenes",

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
Hmm, I can't repro this. Do you have your browser zoomed in at all? Have you tried any other browsers?
Hey Itegman, Thanks for the response, yes my browser was size at 75%. After setting zoom to 100% the challenged passed.
Closing as a duplicate of . We've got a PR up now that will add a warning about needing to be 100% zoom for this particular challenge.


Question:
"CSS has a property called width that controls an element's width. Just like with fonts, we'll use px (pixels) to specify the image's width.", "For example, if we wanted to create a CSS class called larger-image that gave HTML elements a width of 500 pixels, we'd use:", "
<style>
  .larger-image {
    width: 500px;
  }
</style>
",  "Create a class called smaller-image and use it to resize the image so that it's only 100 pixels wide."   "Create a class called smaller-image and use it to resize the image so that it's only 100 pixels wide.", "Note
Due to browser implementation differences, you may need to be at 100% zoom to pass the tests on this challenge."  ], "challengeSeed": [ "<link href="http://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">",

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
Hmm, I can't repro this. Do you have your browser zoomed in at all? Have you tried any other browsers?
Hey Itegman, Thanks for the response, yes my browser was size at 75%. After setting zoom to 100% the challenged passed.
Closing as a duplicate of . We've got a PR up now that will add a warning about needing to be 100% zoom for this particular challenge.


Question: npm run create-next-step ``` <del> ## create-empty-steps </del> <ins> ### create-empty-steps </ins> A one-off script that automatically adds a specified number of steps. The challenge seed code for all steps created will be empty. **Note:** This script also runs [update-step-titles](#update-step-titles). <del> ### How to run script: </del> <ins> #### How to run script: </ins> 1. Change to the directory of the project. 2. Run the following npm command:

challenge-editor should be to the "How to work on practice projects" documentation here:
I'll tackle this today.


Question: ```js const stat = document.querySelectorAll('.stat')[1]; <del> assert.equal(stat.innerText, 'Health: 100'); </del> <ins> assert.equal(stat.innerText.trimEnd(), 'Health: 100'); </ins> ``` You should add a `strong` element in your third `.stat` element.

I was helping a with in the new JS curriculum and they weren't able to pass the tests because of the way they formatted their answer. Here was their code We should allow for that code to pass because they got it right. Here are the current tests For all of the tests that use we should instead update it to use a regex solution with instead. That will make it possible for campers to submit answers with different spacing. All of the tests with the to make sure they have a or element should stay the same though. For those, interested in working on this issue, please read through the first. There will be no assignment for this issue. If you are interested in working on it, then you can submit a PR The following code should pass regardless of different formatting with spaces. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response


Question: it('shows test output when the tests are triggered by the keyboard', () => { cy.visit(locations.index); // first wait for the editor to load <del> cy.get(selectors.editor, { timeout: 10000 }); </del> <ins> cy.get(selectors.editor, { timeout: 15000 }); </ins> cy.get(selectors.hotkeys) .focus() .type('{ctrl}{enter}')

!
Dropping Firefox support temporarily with . This was causing me to slow down with the PRs and rapid testing we are doing on the staging. I will let someone else investigate this.
any thoughts on this one? I'll take a look when I can, but I figured you might have some insight.
I'll look into it soon. Will let you know when I get to the bottom of it.
Mrugesh shared two links to the CI runs that failed and both of them failed for the . So, I was looking at the test and saw a lot of explicit timeout increasing... this is probably the reason why it fails on Firefox. Because the timeout were increased by watching the time it took on Chrome and manually adjusting it. But Firefox normally needs a few more seconds to finish running (this is due to ). I think increasing the timeout limit should do the trick.
We do wait for the editor, but everything after that should be basically instantaneous. Thanks for investigating that, but it should be fixed for Firefox 80 () and that's what we run the tests on. Also, suggests we should be using which could be a factor, but would have thought that would make things fail entirely rather than run slowly. That could work, yeah. The strange thing is the dev mode works perfectly locally and the CI should be even faster, since it uses the built site.
The bug is fixed on Firefox but Cypress still manually triggers GC as it is said in the Cypress docs (also when you run the tests locally in Firefox, it'll show you a message about GC. This is because Cypress doesn't manually run GC on but when it's run in CI using then Cypress manually triggers GC). I agree. I don't think this is the reason. I couldn't reproduce the bug locally... maybe we should try to reproduce it in CI by running it repeatedly?
Right, but would this make a test fail? If it runs between tests, which is the default, it should just make the whole run a bit slower. If it's included in the timeout for a particular test, that would be a massive oversight. My assumption is that the only timeout you might hit because of this is the limit for the entire run. Sure.

I'll let decide when he wants to do this, though, since it makes deploying a bit of a headache (if you're being bombarded with fail negatives, I mean).
I am open to creating a new branch on the upstream if you need to test it on CI by adding random commits? In theory you should be able to test it on a fork as well.


Question: tests: - text: The AppWrapper should render to the page. testString: assert((function() { const mockedComponent = Enzyme.mount(React.createElement(AppWrapper)); return mockedComponent.find('AppWrapper').length === 1; })());  - text: The Presentational component should render an h2, input, button, and ul elements.   - text: The Presentational component should render to page.  testString: assert((function() { const mockedComponent = Enzyme.mount(React.createElement(AppWrapper)); return mockedComponent.find('Presentational').length === 1; })()); - text: The Presentational component should render an h2, input, button, and ul elements. testString: assert((function() { const mockedComponent = Enzyme.mount(React.createElement(AppWrapper)); const PresentationalComponent = mockedComponent.find('Presentational'); return ( PresentationalComponent.find('div').length === 1 && PresentationalComponent.find('h2').length === 1 && PresentationalComponent.find('button').length === 1 && PresentationalComponent.find('ul').length === 1 ); })());

Describe your problem and how to reproduce it: Go to: Look for: Test outputs in the bottom-left corner Duplicated test output: Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Chrome Browser Version: 79 Operating System: Mac OS 10.13.6 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): !
The same duplicated test output exist in the following Challenge: Go to: Look for: Test outputs in the bottom-left corner Duplicated test output: The Presentational component should render an h2, input, button, and ul elements. !
You are correct, the 2nd test should actually state: The <codePresentational</codecomponent should render to the page.
Taking this up.


Question: # --description-- <del> Add one final property to the object named `text`. Give this property the final `text.innerText` value from the `goTown` function. </del> <ins> Add one final property to the object named `text`. Give this property the same string value as the one assigned to `text.innerText` in the `goTown` function. </ins> # --hints--

I think we can make the instructions more clear. They are a bit confusing. Or something like that. Clear instructions. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] Forum:
I think that is much clearer. We can open this up for contribution
Hi, is someone working on this issue? If not, I'd like to contribute.
We typically do not assign issues. Instead, we accept the first pull request that comprehensively solves the issue. Issues labelled with or are open for contributions. Please make sure you read . We prioritize contributors following the instructions in our guide. Join us in or if you need help contributing - our community will be happy to assist you.


Question: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <link rel="stylesheet" type="text/css" href="./styles.css" />

An issue was brought up in the forum where the user could not pass the challenge using firefox. They had the correct code and weren't using browser extensions. On google chrome and safari the test does pass. The test will only pass on Firefox using this code Correct answer not passing in firefox <img width="936" alt="Screen Shot 2022-01-25 at 8 44 56 AM" src="https://user-"Incorrect answer passing in firefox <img width="981" alt="Screen Shot 2022-01-25 at 8 45 31 AM" src="https://user-"- Device: [macbook pro] OS: [macOs Catalina] Browser: [Firefox] Version: [96.0.2]
Step 14 has the same issue. This is the correct code that passes in google chrome <img width="905" alt="Screen Shot 2022-01-25 at 8 57 21 AM" src="https://user-"Here is the same code but it doesn't pass with firefox <img width="915" alt="Screen Shot 2022-01-25 at 9 00 09 AM" src="https://user-"


Question:
/> ) : null} <SignoutModal />  {isChallenge && !examInProgress && isRenderBreadcrumb ? (
 <BreadCrumb block={block as string} superBlock={superBlock as string} />
 ) : isExSmallViewportHeight ? ( <Spacer size='xxSmall' /> ) : ( <Spacer size='small' /> )}   {isChallenge && !examInProgress && (isRenderBreadcrumb ? (
 <BreadCrumb block={block as string} superBlock={superBlock as string} />
 ) : ( <Spacer size={isExSmallViewportHeight ? 'xxSmall' : 'small'} /> ))}  {fetchState.complete && children}
 {showFooter && }

There is an extra spacer in the top of the donate page. It might be cause by the donate page or its wrappers. The spacer should be removed or adjusted so it does not show up unecessarly. The issue is viewable locally or on production by viewing the donate page. <img width="1067" alt="Screenshot 2024-07-23 at 3 02 34 PM" src=""- Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
Hi, can I be assigned to this task?
We typically do not assign issues. Instead, we accept the first pull request that comprehensively solves the issue. Issues labelled with or are open for contributions. Please make sure you read . We prioritize contributors following the instructions in our guide. Join us in or if you need help contributing - our community will be happy to assist you.
sorry, the issue not so clear for me... where is extra space mentioned in issue? is it this gap under the topbar? !
I think we should just remove the spacers: If the page content needs some extra space below the nav, then the content could have some margin/padding in its CSS.


Question: </style>       ``` # --solutions--

We need to replace all images and audio samples for the legacy content with the ones that were just to our freeCodeCamp cdn. Here are all of the files that will need to be updated Here are all of the new asset links


Question: "assert.deepEqual(palindrome("not a palindrome"), false);", "assert.deepEqual(palindrome("A man, a plan, a canal. Panama"), true);", "assert.deepEqual(palindrome("never odd or even"), true);", <del> "assert.deepEqual(palindrome("nope"), false);" </del> <ins> "assert.deepEqual(palindrome("nope"), false);", "assert.deepEqual(palindrome("almostomla"), false);" </ins> ], "challengeSeed": [ "function palindrome(str) {",

There is a bug in the test, I wrote the code to check the string palindrome or not like this. function palindrome(str) { // Good luck! var i, j; for (i = 0,j = ( -1) ; i < j; i++,j--){ if(str[i].toLowerCase() !== str[j].toLowerCase()) return false; else return true; } } If you see this program it looks correct. yes this is correct to check the string palindrome or not. but this is wrong in returning. it wont loop entire string, With this code all the tests are passing, but it should not pass any test, at least 2 test should fail.
Pleese close this and take an extra look at your if-statement. The #help channel on Slack is a great resource if you can't figure it out, or you can @ me on there and I'll help you out.
Hi I know my program is wrong. That's what I am mentioning with this program all test cases are passing, and it allowed me to go to next exercise. Regards Namitha On Saturday, June 13, 2015, Anton Strömkvist wrote:
Oh, sorry, my bad! Should be fixed with


Question: | Username not found label.negative-10.btn.btn-primary.btn-block#submitButton i.fa.fa-play <del> |   Run code (ctrl + enter) </del> <ins> |   Run tests (ctrl + enter) </ins> .button-spacer .btn-group.input-group.btn-group-justified label.btn.btn-success#trigger-reset-modal

I noticed on this challenge that the button to run the tests still runs code ! I think this should say run tests


Question: # --instructions-- <del> Within `tests/2_functional-tests.js`, in the `'Submit the surname "Vespucci" in the HTML form'` test (`// #5`), automate the following: </del> <ins> Within `tests/2_functional-tests.js`, in the `'Submit the surname "Vespucci" in the HTML form'` test (`// #6`), automate the following: </ins> 1.  Fill in the form with the surname `Vespucci` 2.  Press the submit button

Two of the typos are minor but one could be confusing In the first paragraph of the instructions (see below), there is a reference to The actual test number to change is and not , so it should be changed to reflect this. n/a No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response_
Hey, I created pull request for this issue.


Question: min-width: 150px; } <del> .media { word-break: break-all; } </del> /* Timeline pagination */ .timeline-pagination_list { list-style: none;

Affected page Any profile with a portfolio item: To Reproduce 1) Go to above portfolio link 2) Scroll to first and only portfolio item 3) Be shocked and horrified at word-wrapping Expected behaviour There should be no word wrapping breaking the word. I suggest something be to the CSS like: Screenshots ! Reported on forum: An issue with the help wanted or first timers only label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the
Hi I had a look at this. It appears that this line is creating the mess. Wouldn't it be better to just remove that rule? I've tested it through dev tools and it works. Also checked the source and it appears that is only referenced in , so there are probably no unwanted side effects. Unfortunately, I can't access the profile page on my local setup to test. On a sidenote, how could I setup my local instance so that I can access the profile page? Anyway, what do you think?
Potentially. But, as you say, only if there are no side-effects. It is in this section of the . If you want to make the change, and open a PR, I think that makes sense. We will QA it, and, if anyone notices the change breaking something else, then we can work from there. Thanks, for digging deeper into this.
Thanks! Will send a PR, tomorrow!


Question: assert(isValidSolution_(solve24(testCases_[1]))); ``` <del> `solve24("6789")` should return `(6*8)/(9-7)`. `(8*6)/(9-7)`, or a similar valid string </del> <ins> `solve24("6789")` should return `(6*8)/(9-7)`, `(8*6)/(9-7)`, or a similar valid string </ins> ```js assert(isValidSolution_(solve24(testCases_[2])));

In both the sentences on this line the word should be surrounded with backticks: In this line there is a period (full-stop) where there should be a comma. This looks like something that can be fixed by "first-time" code contributors to this repository. Here are the files that you should be looking at to work on a fix: List of files: Please make sure you read our , we prioritize contributors following the instructions in our guides. Join us in our or our if you need help contributing; our moderators will guide you through this. Sometimes we may get more than one pull request. We typically accept the most quality contribution followed by the one that is made first. Happy contributing.
Hello, I want to work on this.
Heyy, is this assigned to anyone?
I will work on this.
Hey! I would like to work on this issue.
Hi I have fixed the issue and you can find the PR here
Is this issue available or has it been resolved?


Question: ```html <style> <ins> body { min-height: 150vh; } </ins> #navbar { position: fixed; top: 0;

Describe your problem and how to reproduce it: We were in the middle of a meetup that was oriented at beginners, and a camper that was doing this challenge asked me: what does do? I feel like it works exactly as I showed them that it kept the element in place when the page scrolled. The description says it One key difference between the and positions is that an element with a fixed position won't move when the user scrolls. However, it doesn't provide a visible example where the user can scroll and see that for themselves. Add text and styles to invite campers to scroll the content and see how differs from . Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Google Chrome Browser Version: Version 77.0.3865.90 Operating System: Elementary OS Loki 0.4.1 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): ! As you can see, the content isn't scrollable


Question: cursor: pointer; display: flex; font-weight: normal; <del> border: 2px solid var(--secondary-background); </del> <ins> border-left: 4px solid var(--tertiary-background); border-right: 4px solid var(--tertiary-background); border-top: 2px solid var(--tertiary-background); border-bottom: 2px solid var(--tertiary-background); } .video-quiz-option-label:first-child { border-top: 4px solid var(--tertiary-background); } .video-quiz-option-label:last-child { border-bottom: 4px solid var(--tertiary-background); </ins> } .video-quiz-input-hidden {

<img width="492" alt="Screen Shot 2020-05-28 at 1 29 28 PM" src="https://user-"<img width="511" alt="Screen Shot 2020-05-28 at 1 28 37 PM" src="https://user-"<hr<img width="518" alt="Screen Shot 2020-05-28 at 1 53 35 PM" src="https://user-"
thanks for catching the code blocks in the answer section looking off. Didn't notice it at first -- maybe it required a refresh? But yeah, looks off with the darker background. Tested this locally and it seems like we can just remove the language (py or python) from the triple backticks: ! I also think it would be better to have all the code in markdown. It's a bit finicky in conjunction with YAML, but makes it much easier to control the formatting/spacing than tags.
How about something like this: ! this is with a background of and using to enable highlighting. I'm not sure what the best background is. This one looks a little better than white and is a bit better from a contrast perspective.
I would like to see the same background color for answers like in Kris's photo, but the code highlighting, like in Oliver's. I think the only way to achieve this is to change some styles after the fact in the css.
Here are some options: ! the first two being white and prism's default (#). The issue being they look progressively better, but get progressively harder to read. in particular starts to fade into the background. That's what got me thinking about this , so I think it's fine to go with the prettiest version as long as we address the a11y issues.
what about changing the whole box to white... <img width="446" alt="Screen Shot 2020-05-29 at 3 41 42 PM" src="https://user-"Kinda solves both issues
Makes sense to me. They might look a little better with a dark border, but either way, I think the white background is the way to go.


Question: "tests": [], "type": "waypoint", "challengeType": 3, <del> "nameEs": "Crea una aplicación de votaciones" </del> <ins> "nameEs": "Desafios para aprender React", "descriptionEs": [] </ins> } ] }

[x] Learn D3 Challenges
what should we do with these ones? I guess they are not finished, so there's no point in translating that one line, or am I wrong?


Question: return ( <a href={to} {...other} rel='noopener noreferrer' target='_blank'> {children} <del> <FontAwesomeIcon className='external-link-icon' icon={faExternalLinkAlt} size='xs' /> </del> </a> ); };

Expected behavior Please see attached screenshot for more details. Basically: [x] "Contact email" should be "Email Us" [x] We should get rid of the outbound link icons [ ] The footer should always go below the tallest element. Currently on the Guide, it seems to go under the least tall element. Screenshots <img width="1246" alt="echoandprint_freecodecamp_guide" src="https://user-"
Side note (perhaps a separate issue): the footer on the page is difficult to get to due to the loading of content on a scroll down. So you have to keep scrolling and keep loading content until there's no more to load to reach the footer. I suppose there would be a similar issue on the forum or anywhere else that uses the loading on a scroll.
I'll give it a try.
I have fixed the first two issues but couldn't quite reproduce the third one either in Chrome or Firefox(In Windows 10). cc - !
There is a UX trade off for doing that for implementing the third one. In order for the footer to go under the tallest element, both elements should have the height of 100% (no-scroll). In that case, when user clicks on a side nav that is taller than the content, the page should either go to the top to show the top of the content (loses the location of the scroll), or keep its scroll which means the user will scroll up and down just to change the tabs. here is a demo: ! with no footer, our layout would have behaved similar to the default Gatsby sidebar example. With the footer, the optimal solution would be to add some javascript and have a floating sidebar that stops at the footer. We could also have a fixed sidebar that the footer would overlap at the end of the page. imho, the current setup does the job, but please let me know which solution you would like me to explore.
Hi I agree with I think the key here is to use the site as an end user, and then decide on the tradeoff. I agree that the current sidebar is far better UX for the user, who are more likely browsing through an article and have it in view rather than have them scroll a long way to switch to the next topic of their interest. That will definitely increase a session time and reduce bounce rate.
That is fine. People will scroll.

I think you all are dramatically overestimating the inconvenience of scrolling. On mobile, this will all be a single column layout anyway. This is what people thought was the optimal solution back in the 1990s. In practice, it's confusing to users. Users would much rather scroll up and down a page then have to move their mouse around to different "frames" and scroll up and down within those in a more confined space. Just look at this page here on GitHub. The footer is always at the bottom of the tallest column, which in this case is the middle one. If I want to see who this issue is assigned to, yes - I have to scroll back up to the top of the page. That's no big deal - it takes less than a second. We should use a similar approach with footers everywhere on freeCodeCamp. Separate horizontal scrolling portions are bad enough, and I'd like to move away from them - let alone separate vertical portions. Here's an example of how having separate scrolling areas is hurting usability on learn: <img width="1415" alt="learnbasichtmlandhtml5fillintheblankwithplaceholdertextfreecodecamporg" src="https://user-"A new user might not even realize that there are buttons and tests underneath the "run test" button. The footer should always be at the bottom of whichever column is tallest, and we should not have independently scrolling columns. At some point in the past year or two, the independently scrolling columns were introduced. could you start working on a version that puts the footer at the bottom of the tallest column?
I strongly recommend testing the app as user would to derive the best UX for our app's use case. For the Guide, I think the tallest element principle does not work in practice, you can test that locally yourself, it's just weird to scroll through whitespace vs content. People will scroll through content, not whitespace? For Learn I had given my feedback in a comment here: But, we quickly realized that the tallest element won't work either. Here is what we should do though is to use the buttons as a fixed component on learn. This gives us the ability to scroll the "content" as much as we want, while keeping the most used component buttons in our case in view. !

Also, I would like to bring light to the fact that several feedback (fairly frustrated) threads that we have had here on GitHub and forum is the ability to use the challenge map about scrolling. It works when you are casually browsing, not when you are looking for something specific. But that's a different problem unrelated to this thread. Anyways, let's start working on a version that does put the footer at the bottom of the tallest element and do a A/B test.
I will make a MVP and have you test it ASAP. Here is how Khan academy does it when the scroll meets the footer. Notice the shadow indicating that side nav is continuing and scrollable <img width="504" alt="screen shot 2019-02-12 at 9 29 49 pm" src="https://user-".
Please let me know if you wanna move forward with this design, and if you want the user to go to the top of the page after clicking the side nav or not so I could adjust it accordingly.
Please take a look at this document: Also consider this: very few people are actively looking for the footer. And if they are, they're just going to swipe down really fast and get there immediately, regardless of how tall the page is. The main purpose of the footer is SEO and for the 0.001% of people who are actively looking for it. (how many times a day do you find yourself trying to scroll down to content in a footer?) The Guide's sidebar is only 109 entries tall. It's not going to be that much space. If they have one of the bigger categories expanded, yes, it could be more. But I don't think the footer is important enough to warp the experience of the guide.
A good example of how to handle a documentation page with expandable side menu items, and a footer, without extra scrolling is the MDN: When you expand the menu items on the left, the footer just gets pushed further down the page.
with these changes, this issue will back Or am I missing something?
so I think wants the page scroll to go to zero only when a node with no children is clicked on the side nav. I cannot think of a way that I could implemented it without recording and resetting the scroll with JS, so if anything comes to your mind, let me know.
Nodes with children also have articles.

very good point, so we would be reverting to the bug, then. if the height of both elements are set to 100% our footer would be pushed down when an element is expanded; however, in the mozilla doc, Nodes with children do not have articles. So users can click on an end node on the side nav and then it page goes to the top. in our case, if a user wants to visit for example . She would be scrolling the whole side nav 3 times. If we really need to go in that direction, the other option would be not take the users to the top of the page regardless of where they click on the nav. but when they reach their destination in the sidenav tree, they will have to scroll up to see the article's beginning.
Hi IMHO, and all honesty I really do not care about the footer. Meaning we are on the same page about its priority. The idea is the best usability of the site itself. I am not advocating that we should not make it so that people do not have to scroll. All I am interested in is making the UX intuitive and not painful from a user's viewpoint. I completely agree on your well researched thoughts about scrolling. But I keep re-iterating to test the site ourselves in A/B strategy and see what works best for us. In my tests, I found it weird and awkward to scroll when I am working through challenges, or looking through guide articles (not casually browsing like on a news site). So, from my tests: On the guide, the footer should be below the content element (the right guide article itself). The content element will expand in height depending on its content. This will keep the footer out of the view at all times. That is The footer can be hidden out of view under the viewport. Your MDN example, does something same. At all times, the content block is on the top of the footer. On the learn, I think we should get rid of the internal scrolls. But this also means, we should keep three things always in view: editor (labeled 2 on my screenshot) buttons preview panel (labeled 4 on my screenshot) These are the most interacted elements on the learn app. Only the instructions (without the buttons, will scroll) The footer can be hidden out of view under the viewport.

Maybe for the challenges and guide page we could make a smaller footer similar to the one github uses.
!
Re-opening. GitHub closed it automatically. This issue will be taken care of in repeated iterations.
I believe the decision is to make the sidebar more concise so there would not be a need to scroll. Although displaying the sibling nav items were discussed, I think it would be best to move forward with something similar to the following convention where only children and parent nodes are in the sidebar. !
Yes, let's get a variation that you propose in, and test it out.
I have a couple of suggestions on the footer: I feel the links are too cramped and need a little more padding between them Headings can be simplified There should be substantial space between the block of text on the left and the links At the end, it could look somewhat like this: !
I really like your design, it definitely looks better than the current one. Here are a couple of considerations. The logo looks great, but it makes the footer area taller. As a general rule we would like to save as much screen real state as possible. To be accessible we need a way other than color to establish visual hierarchy between headings and footer items. I encourage you to take screenshot of both the current version and your design so we could compare their sizes and their white space allocation better. After that let's have a pr and merge the changes.
Also I don't think you're allowed to change the colour of logo according to https://design-style-
let us address side-nav related suggestions and improvement in the above-referenced issue so it does not get confused with the footer.
Here are the screenshots for screenshots for comparison. ! ! !
would you be interested in making the footer titles more concise as suggested?
I always have this message always poping up when i run my code "Your Footer do not all have a white color" i have done all i could but cannot detect any fault in my code. this stopped my html from running further. I gave an inline style with white as color yet the problem continued. I just don't know what to do again


Question: ); ``` <del> The state of `StatefulComponent` should be initialized with a property `name` set to a string. </del> <ins> The state of `StatefulComponent` should be initialized with a property `firstName` set to a string. </ins> ```js assert(

A user wondering why his solution passed. I then realized the 2nd test test is not working as intended. The user is supposed to assign a string to a property of . The user's solution assigns an uninitialized variable as a property. The purpose of the test is to make sure the user assigns a string value to a prop named , but the test still allows the user to pass as the prop's value and the test passes. Not sure why, but assigning an uninitialized property to ends up assigned an empty string to it. This of course passes the test requirement but defeats the purpose of the learning here. I suggest changed the required property name to something like , so if a user does something like this, all of the tests will fail. Test in question: The second test should fail because the property of should be undefinedbecause it was not initialized by the user's code. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
After a bit of research, it appears that assigning as a property that is uninitialized is the same as writing: = { } Since the window has no name, it is just an empty string.


Question: import MultifileEditor from './multifile-editor'; import DesktopLayout from './desktop-layout'; import MobileLayout from './mobile-layout'; <ins> import { mergeChallengeFiles } from './saved-challenges'; </ins> import './classic.css'; import '../components/test-frame.css';

Code in the doesn't seem to be evaluated in production for Cash Register project. (Edit)This appear to be related to the code saving / resetting. In development there isn't such issue. Including building production client and serving it. This is actually the only challenge from the new challenges that is using . Old challenges are working fine when using . Both when names start with ` might be somehow deciding factor, but there isn't any other new challenge to check that. After adding function to user code, error moves normally to the next used in test non-defined variable - and then . Steps to reproduce the behavior: (Be logged in, and have previously saved code for project). to solution. Example: tests. errors. Code present in the should be evaluated after the user code, and before running tests. (Edit) When logged out there's different error, or no errors at all(?!). This might be somehow related to saving / resetting code.
Thanks again for the detailed report, You were dead right about the issue: it's due to the fact that saved challenges don't include head or tail (aka and ) and we were just using them in place of challengeFiles (which does have that stuff).
I have marked this as a showstopper seeing as it is affecting camper's ability to complete a certificate project. It would be nice to get the fix in as soon as possible, so the forum isn't filled with support threads for this.


Question: # --description-- <del> In the game of [golf](https://en.wikipedia.org/wiki/Golf) each hole has a `par` meaning the average number of `strokes` a golfer is expected to make in order to sink the ball in a hole to complete the play. Depending on how far above or below `par` your `strokes` are, there is a different nickname. </del> <ins> In the game of [golf](https://en.wikipedia.org/wiki/Golf), each hole has a `par`, meaning, the average number of `strokes` a golfer is expected to make in order to sink the ball in the hole to complete the play. Depending on how far above or below `par` your `strokes` are, there is a different nickname. </ins> Your function will be passed `par` and `strokes` arguments. Return the correct string according to this table which lists the strokes in order of priority; top (highest) to bottom (lowest):

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Describe your problem and how to reproduce it: Commas are missing in the paragraph, making it hard to read and understand the meaning behind the problem. It should be something like this: "In the game of golf, each hole has a par, meaning, the average number of strokes a golfer is expected to make in order to sink the ball in the hole to complete the play. Depending on how far above or below par your strokes are, there is a different nickname." Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Google Chrome Browser Version: Version 89.0.4389.90 Operating System: macOS Big Sur Version 11.2.3 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): <img width="712" alt="Screen Shot 2021-03-19 at 10 20 21 AM" src="https://user-"
Thanks for opening this issue. This looks something that can be fixed by "first time" code contributors to this repository. Along improving that part of text, it also should be considered, per , if external link to Wikipedia page about golf is necessary for completing challenge. Here are the files that you should be looking at to work on a fix: List of files: Please make sure you read , we prioritize contributors following the instructions in our guides. Join us in our chat room or the forum if you need help contributing, our moderators will guide you through this. Sometimes we may get more than one pull-requests. We typically accept the most quality contribution followed by the one that is made first. Happy contributing.


Question: </FullWidthRow> <Spacer size='medium' /> <FullWidthRow> <del> <form id='form-quincy-email' onSubmit={handleSubmit}> </del> <ins> <form id='form-quincy-email' onSubmit={e => e.preventDefault()}> </ins> <ToggleButtonSetting action={t('settings.email.weekly')} flag={sendQuincyEmail}

Describe the bug When you try to make api call in the setting page, to change your subscription to Quincy newsletter, you will see a failed API call before the new one. To Reproduce Steps to reproduce the behavior: to 'Email Settings' in on unsubscribe from Quincy news-letter alert show before the success alert shown. Expected behavior Wait until the api fail before showing the alert


Question: "assert.deepEqual(diff(["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"]), [], 'message: ["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"] should return [].');", "assert.deepEqual(diff([1, 2, 3, 5], [1, 2, 3, 4, 5]), [4], 'message: [1, 2, 3, 5], [1, 2, 3, 4, 5] should return [4].');", "assert.includeMembers(diff([1, "calf", 3, "piglet"], [1, "calf", 3, 4]), ["piglet", 4], 'message: [1, "calf", 3, "piglet"], [1, "calf", 3, 4] should return ["piglet", 4].');",  "assert.deepEqual(diff([], ["snuffleupagus", "cookie monster", "elmo"]), ["snuffleupagus", "cookie monster", "elmo"], 'message: [], ["snuffleupagus", "cookie monster", "elmo"] should return ["snuffleupagus", "cookie monster", "elmo"].');"   "assert.deepEqual(diff([], ["snuffleupagus", "cookie monster", "elmo"]), ["snuffleupagus", "cookie monster", "elmo"], 'message: [], ["snuffleupagus", "cookie monster", "elmo"] should return ["snuffleupagus", "cookie monster", "elmo"].');", "assert.includeMembers(diff([1, "calf", 3, "piglet"], [7, "filly"]), [1, "calf", 3, "piglet", 7, "filly"], 'message: [1, "calf", 3, "piglet"], [7, "filly"] should return [1, "calf", 3, "piglet", 7, "filly"].');"  ], "MDNlinks": [ "Comparison Operators",

This should have all four elements in the final array but it does not. Have to beef up the validation on the tests.
Correct code for testing purposes.
It looks like this is for


Question: Your `meta` element should have a `charset` attribute with the value `UTF-8`. ```js <del> assert.match(code, /<meta[sS]+?charset=('|"|`)UTF-81/) </del> <ins> assert.match(code, /<meta[sS]+?charset=('|"|`)UTF-81/i) </ins> ``` Your code should have a `title` element.

The value for is case-insensitive. Not sure if I missed any, but here are case-sensitive ones I found. Case sensitive curriculumchallengesenglish14-responsive-web-design-22learn-accessibility-by-building-a-quiz Case sensitive curriculumchallengesenglish14-responsive-web-design-22learn-css-animation-by-building-a-ferris-wheel Case sensitive curriculumchallengesenglish14-responsive-web-design-22learn-intermediate-css-by-building-a-picasso-painting Case sensitive curriculumchallengesenglish14-responsive-web-design-22learn-responsive-web-design-by-building-a-piano Case sensitive curriculumchallengesenglish14-responsive-web-design-22learn-the-css-box-model-by-building-a-rothko-painting a lot Both are valid The value for should be case insensitive for all challenges. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22]


Question: 'showMultifileProjectSolution' ); expect(getSolutionDisplayType(multifilePythonSolution)).toBe( <del> 'showMultifileProjectSolution' </del> <ins> 'showUserCode' </ins> ); }); it('should handle solutions with a single valid url', () => {

After submitting one of the new multifile Python cert projects, when you try to view the project on your settings page - it shows a blank page (links are to .dev) to a a solution to down to the project you just submitted -blank page Either show the python code running, or just remove the button for those projects. !


Question: assert(code.match(/</htmls*>/)); ``` <del> Your `html` element should be below the `DOCTYPE` declaration. </del> <ins> Your `DOCTYPE` declaration should be at the beginning of your HTML. </ins> ```js <del> assert(code.match(/s*<!DOCTYPEs+htmls*>(r?n)+<s*htmls*>/gi)); </del> <ins> assert(__helpers.removeHtmlComments(code).match(/^s*<!DOCTYPEs+htmls*>/i)); </ins> ``` You should have an opening `head` tag.

Several. One example is The hint for this step seems to indicate that the user must add the element below the (there must be at least one new line separating them). Hint: "Your element should be below the declaration.:" So the expected behavior would be that the user will not pass this step until they add the element below the . <!-- Please complete the following information. --- Device: Desktop OS: Linux/Fedora 34 Browser: Firefox Version: [e.g. 22] This is happening for several courses. The regex used for this test is not enforcing the newline between the elements. If this requirement is important enough to be enforced then we should probably come up with one regex that enforces this requirement and use it for all courses.
One possible regex I am using as a solution for this is:
Affected pages: : js 57 assert((/^s<!DOCTYPEs+htmls[sS]<shtmls/gi)); 58 : js 55 assert((/(?<!<htmls)<!DOCTYPEs+htmls/gi)); 56 : js 53 assert((/(?<!<htmls)<!DOCTYPEs+htmls/gi)); 54 : js 55 assert((/(?<!<htmls)<!DOCTYPEs+htmls/gi)); 56 : js 17 assert((/(?<!<htmls)<!DOCTYPEs+htmls/gi)); 18 : js 17 assert((/(?<!<htmls)<!DOCTYPEs+htmls/gi)); 18 : js 41 assert((/(?<!<htmls)<!DOCTYPEs+htmls/gi)); 42 : js 53 assert((/(?<!<htmls)<!DOCTYPEs+htmls*/gi)); 54
If the regex from is the way we want to go, I'd be happy to start working on it in the pages linked by .
I was eventually going to get around to updating these but please, feel free to step in. My solution above was officially merged into main so I'm assuming that's acceptable to use for these as well.
I'm beginning to wonder if we should even have a requirement that the DOCTYPE be on its own separate line?

I can't seem to find any documentation that says this is required and the W3C HTML validator accepts it without being on a new line. Also, we don't seem to be enforcing separate lines for other types of tags. But the DOCTYPE does need to be the first element on the page, which I don't think we are currently testing for, so I propose we test for that instead and get rid of the separate line requirement.
As far as the tests go, I suggest we stick with this: If the HTML spec can parse it, it is valid, and should be accepted, unless the instructions specifically say, for example, "add a semi-colon at the end of the value" So, as I can see in the spec, there is no requirement for the DOCTYPE and the element to be on separate lines:
Would you agree with me then that instead of testing for DOCTYPE being on a separate line we should be testing that the DOCTYPE is the first element on the page? This brings us back to another I found in which there are JS comments in the code string before the HTML begins: Not impossible to work around, just wanted to make whoever ultimately works on this aware of it.
It wouldnt surprise me if that's the why the test was written that way, because if doctype isnt the first element, how else would you check it's current placement? It would be in relation to the html tag, right?
Ideally, yes. As I mentioned below, we do have a solution to the comment thing, but it is a work-in-progress.
I have submitted a that fixes the source of this issue (css comments before the html in the code string) which if approved will allow us to easily test that the DOCTYPE declaration is the first element in the HTML.
should i close my initial pull request since you said in your pull request that you were going to fix the others once yours gets approved and merged? I dont mind helping update the other docs with the new test once it's approved if you want me to. either way, just let me know !
We've had a couple of reports in the support inbox that the negative lookbehind used in some of these tests is failing in Safari, so it's great that either or (pending update) will take care of that as well. At the moment seems more flexible, and allows valid code to pass without forcing a particular style.

It'll also be good to move away from regex for this type of test.
If __helpers.removeHtmlComments(code) is preferred, we could modify in that direction or accept alternatively.
Yes, is the final PR to put this issue to rest. I did an initial PR for just one course and it has already been merged. is using the same solution, just updating the remaining courses that need it.


Question: } else { return 'Something unexpected happened while updating your email.'; } <del> }; </del> <ins> } User.prototype.requestUpdateEmail = requestUpdateEmail; </ins> User.prototype.requestUpdateFlags = async function requestUpdateFlags( values

I can't change my email address on the settings page. Anyone one else want to confirm this?
Happy to help on this - I poked around a bit and believe I've found the source of the bug. Also glad to point you in that direction if you prefer to handle this since you've already assigned it to yourself.
Sure, thing go for a PR if you have something ready.
I have a WIP PR ready - cool if I open that?
Do it you can use draft mode if it's not ready.

Describe the bug TL;DR – first signed up with GitHub (which has email # 1 set as primary). Lately changed the email on FCC to email # 2 and since then unable to log in using any of the available methods. I have two emails: .domain On GitHub, I have the first one as a primary email and the second one as a secondary. IIRC, I first signed up to FCC with GitHub, so the letters were going to my first email. Then I set my email at FCC to the second one and this is where the fun begins. What happens when I try to log in using different methods: As you can see, no method allows me to log into my original account. Email bindings shown in each of the accounts: My session cookie is still present in one of the browsers and when I try to change the email back to # 1, it says that it is already bound to another account, which is fair enough.
Does something need to be clarified? It's not a "Help" issue, it's a bug report.
What if you try to change your email to some other email - then go to the browser that's still logged in with the original account, and change the email back to - or if you're still logged in on a browser with your original account, maybe change the email to a new email and see if that will allow you on to your original account. It doesn't get to the root of the problem, but it may get you back on to your original account.
Hi Thanks for your report. Can you send me an email with details of your emails. I'll fix up your account, and investigate the root cause and possible fix there on.
I no longer have this session. I've sent an email, the subject is as the name of the issue.
I can see that we indeed have two accounts for each of your emails listed in the email. For all intents and purposes, we only use email as the primary identifier of your account. So, it literally depends on what a provider returns us as an email address to lookup and sign you into the account. For example: First email: Changed email: Scenario 1: When you sign-in through email, you must use your changed email "", using the old email will indeed create a new account for "". We do not track old emails per account as a measure of privacy.

Scenario 2: When you sign-in through social providers like GitHub, they should be returning us the changed email, or indeed it will simply create a new account for the email they returned to us. We do not bind email to social provider again for privacy reasons. Essentially by design, we will create or return an account as per the authentication method used.
Well, the thing is – there are now three accounts. The original one is .
Okay, I found the issue. Thanks for the additional information. This indeed is a validation bug, when someone changes email. So, when you entered your email on the update form in settings: You entered something like: , this was stored on our DB as is without sanitising it to lowercase. And the providers will always return lowercase emails. We unfortunately treated this incorrectly. If you are okay, I am going to delete your 'new accounts' and restore the email that you intended as per the change lower-cased, which should give you access back to your original account. As for the fix, I'll audit the code and get back to you.
I don't use them, so yeah.
thanks for confirming, I have updated the email to be lowercased on your original account and removed the new accounts. Can you test this and let me know, if it's all fixed.
Yep, it's working.
The fix for this is dependent on


Question: ], "tests": [ "assert(secondToLastLetterOfLastName === 'c', 'secondToLastLetterOfLastName should be "c".');", <del> "assert(editor.getValue().match(/.length/g), 'You have to use .length to get the third last letter.');" </del> <ins> "assert(editor.getValue().match(/.length/g).length === 2, 'You have to use .length to get the third last letter.');" </ins> ], "challengeSeed": [ "var firstName = "Ada";",

Challenge has an issue. test asserting is used will always be true, as the example code in the editor uses it.
thanks for pointing this out! You're right. Actually that assert should check if there are minimum two 's in the code.


Question: # --description-- <del> To calculate a root exponent, such as $sqrt[n]{x}$, you can use an inverted exponent $x^{1/n}$. </del> <ins> To calculate a root exponent, such as $sqrt[n]{x}$, you can use an inverted exponent $x^{1/n}$. JavaScript has a built-in `Math.pow()` function that can be used to calculate exponents. Here is the basic syntax for the `Math.pow()` function: ```js Math.pow(base, exponent); ``` Here is an example of how to calculate the square root of `4`: ```js const base = 4; const exponent = 0.5; // returns 2 Math.pow(base, exponent); ``` </ins> Declare a `standardDeviation` variable, and use the `Math.pow()` function to assign it the value of $variance^{1/2}$.

I struggled with the error message, see screenshot below. The error message asks challengers to use the variable, which I clearly did. So, it was not only unclear why the code didn't pass the test, but also misleading because the error message does not point to the real problem here: a second argument for (arg1, arg2) is missing. Since the instruction also doesn't provide a clear description of the syntax of (), I suggest that the syntax information of () be to the instruction. Albeit a minor issue, because anyone can look it up, I believe it would still make the instruction clearer. The error message should alert the challenger about a necessary second argument to pass in () if the variable is already passed in as the first argument. ! Device: Laptop OS: Windows 11 Browser: FireFox Version: 125.0.1 (64-bit) No response
For the new updated description, we could use this js (base, exponent) js const base = 4; const exponent = 0.5; // returns 2 (base, exponent); as for the hint text, it looks like the tests are broken up into two for In this case, I think it would be better to just have one test like this js (getStandardDeviation.toString(), /standardDeviations=sMath.pow(svariances,s1s/s2s)/);
Why step-51 in codebase is different also there is 58 steps showing when im running freecodecamp locally.But here there is only 55 steps.
The project is in beta which means the steps will be changing. So a recent update was made to the stats calculator project which means the step numbers were updated.


Question: "nav": { "forum": "https://forum.freecodecamp.org/c/espanol/", "news": "https://freecodecamp.org/espanol/news/" <ins> }, "help": { "HTML-CSS": "Espanol/HTML-CSS", "JavaScript": "Espanol/JavaScript", "Python": "Espanol/Python", "Relational Databases": "Espanol/Relational Databases" </ins> } }

As we are now rolling out the curriculum in Chinese and Spanish, we need to think about how to get the button to work for the two languages. Currently, when the button is clicked, the user is taken to the English forum () where a pre-populated topic message (in English) is displayed for the user to fill in with relevant information. These topics are dynamically generated before the post is created on the forum, so we will just need to make use of the file for the content of the topics. Also, we will need to route to the correct forum url for Chinese and target the correct subforum for Spanish.
So the Chinese links work correctly, because the Chinese forum is hosted at a different domain (which is passed in to the environment variable). For Espanol, as it currently stands the category comes from the value returned by the .


Question: You need to update the current song being played as well as the appearance of the `playButton` element. <del> Start by accessing the `userData` object and its `currentSong` property. Set its value equal to the `song` variable. </del> <ins> Assign `song` to the `currentSong` property on the `userData` object. </ins> *Note*: You should not use the optional chaining operator `?.` in this step because `userData.currentSong` will not be `null` or `undefined` at this point.

We should make the instructions a little clearer. Let's go with this suggestion from this forum post. ` see explanation above see explanation above No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the Happy coding
I made a PR, but I can close it and let some else do it. It is a nice first time issue.
no worries. I am currently auditing some of the projects so there will be more first timers only issues coming up soon


Question: </tr> </table> <del> # Contribution Guidelines </del> <ins> # Como trabajar con correos salientes localmente (para el flujo de trabajo de correo electrónico) </ins> <del> Hello 👋 ! </del> <ins> > **Nota:** Hay un **Opcional** Paso - Solo es requerido cuando trabajamos con el cuando se trabaja con flujos de trabajo de correo electrónico </ins> <del> These instructions have not been translated yet. Please check this issue for details: [`#18312`](https://github.com/freeCodeCamp/freeCodeCamp/issues/18312) </del>  No newline at end of file <ins> ## Introducción Algunos flujos de trabajo del correo electrónico, como la actualizar el correo electrónico de un usuario, requieren de una API, en el backend para mandar correos electrónicos. mientras desarrollamos podemos usar una herramienta para obtenerlos localmente, en lugar de tener que usar un proveedor de correo electrónico y enviar un correo electrónico real. MailHog es una de las muchas herramientas de email para probar en el entorno de desarrollo para desarrolladores, que capturará los correos electrónicos de su instancia local que freeCodeCamp está enviando. ## Instalando MailHog Como podemons instalar y usar MailHog depende del sistema operativo - [Instalando MailHog en macOS](#installing-mailhog-on-macos) - [Instalando MailHog en Windows](#installing-mailhog-on-windows) - [Instalando MailHog en Linux](#installing-mailhog-on-linux) ### Instalando MailHog en MacOS Aquí podemos ver como instalar MailHog en macOS [Homebrew](https://brew.sh/): ``` bash brew install mailhog brew services start mailhog ``` Esto emepezara un servicio de mailHog en segundo plano. Siguiente, puedes ir a [using MailHog](#using-mailhog). ### Instalar MailHog en Windows Descarga la versión mas reciente de MailHog de [MailHog's official repository](https://github.com/mailhog/MailHog/releases). Click en el link dependiendo de tu versión de Windows (32 ó 64 bit) y el archivo .exe será descargado en tu computadora. Una vez que termine la descarga, haga clic en el archivo. Probablemente recibirá una notificación de firewall de Windows donde tendrá que permitir el acceso a MailHog. Una vez que lo haga, se abrirá una línea de comando estándar de Windows con MailHog ya en ejecución. Para cerrar MailHog, cierre el símbolo del sistema. Para volver a ejecutarlo, haga clic en el mismo archivo .exe. No necesitas descargar uno nuevo. Siguiente, Puedes ir a [using MailHog](#using-mailhog). ### Instalando MailHog en Linux Primero instalar [Go](https://golang.org). Para sistemas basados en Debian como Ubuntu y Linux Mint, en la terminal: ``` bash sudo apt-get install golang ``` Para CentOS, Fedora, Red Hat Linux, y otros sistemas basados en RPM-based, en la terminal: ``` bash sudo dnf install golang ``` O: ``` bash sudo yum install golang ``` Establecer path para Go: ``` bash echo "export GOPATH=$HOME/go" >> ~/.profile echo 'export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin' >> ~/.profile source ~/.profile ``` Despues instalar y correr MailHog: ``` bash go get github.com/mailhog/MailHog sudo cp /home/$(whoami)/go/bin/MailHog /usr/local/bin/mailhog mailhog ``` Siguiente, Puedes ir a [using MailHog](#using-mailhog). ## Using MailHog ## Usando MailHog Una vez que hayas instalado MailHog y lo hayas iniciado, debes abrir tu bandeja de entrada de MailHog en tu navegador, y abre una nueva pestaña o ventana y navegar a [http://localhost:8025] (http://localhost:8025). Ahora debería ver una pantalla como la siguiente: ![MailHog Screenshot 1](images/mailhog/1.jpg) Cuando la instalación de freeCodeCamp envíe un correo electrónico, verás que aparece aquí. Como aquí abajo: ![MailHog Screenshot 2](images/mailhog/2.jpg) Abre el correo y verás dos pestañas donde puedes ver el contenido: texto sin formato y fuente. Asegúrate de que estás en la pestaña de texto sin formato. ![MailHog Screenshot 3](images/mailhog/3.jpg) Cualquier enlace en el correo electrónico debe ser seleccionable. ## Enlaces útiles - Para cualquier otra pregunta relacionada con MailHog o para obtener instrucciones sobre configuraciones personalizadas, consulte el repositorio [MailHog] (https://github.com/mailhog/MailHog). </ins>  No newline at end of file

from its english version at from its english version at from its english version at from its english version at from its english version at from its english version at  When you make a PR for this particular issue, do not tag it with instead just reference it with
Hey ! How could I claim so we don't double work? Thanks
Hi ! Actually we just merge in the first PR for open issues. And your comment on this thread is enough. So, its yours. Happy translating.
I just open a PR for
thanks a lot that was fast! Would you be interested in translating these in future as well? If yes, please keep a watch on this thread. We will be updating on the progress often Happy contributing.
Done translating ! My PR is available at ! Thanks for all you do, freeCodeCamp
I have sent a translation proposal for /docs/how-to-work-on-guide- PR Hope it will help!
There is still work pending on this. When you make a PR for this particular issue, do not tag it with instead just reference it with
Hello, I'm starting to help on the translation of the document /how-to-set-up-freecodecamp-
Working on /docs/spanish/how-to-work-on-guide-
Hello, I've improved the file
Hello, Improving docs/spanish/how-to-catch-outgoing-emails-
Hi, I'm improving docs/spanish/how-to-work-on-coding-
Hi, can I help with /docs/spanish/how-to-setup-freecodecamp-
Sorry, I opened a bad PR regarding but already closed it. I found there was still an English part to be translated
Hi! Is there any remaining documentation where I can help translate?
you can improve or fix redaction and spelling errors.
Hi there, It would be good if at the top are checked so we can see what is left to be translated. Thanks
Where I can start helping?
sorry to put it in this issue, but is there any way somebody could help with the pull requests? I mean, there are 5K+ opened already, people are sending them in troves, and I suspect a lot of them are a total crap (Like ) . I guess you opened a Pandora Box with your articule about HacktoberFest.

Hey all, not a translation, but fixes for the language bar of HTML links on the README file for Spanish, and markdown links to the How To guides that everyone has been translating. . or anyone else looking to do translations in Spanish, you could make a copy of the 2 style guides to translate into Spanish from the English version in the doc folder. It looks like those weren't in to the Spanish folder originally or included on this issue. Just leave the title the same, but put it in the Spanish folder
Hola! to all. I believe we should have guidelines for Spanish translations, which include what treatment (formal or informal) to use when referring to actions or the user. For example, Agregue (formal) or Agrega (informal). - I don't know if this kind of things are found in other languages. In the last articles I've read I've seen a mix between formal and informal, and I think we should standardize (I have done it with some articles). I propose to always use informal. Another thing that could be specified in the guidelines is: Challenges translations. Should they be translated? Referrals to types and attributes (which need to be in English for proper coding). For example, type "date" not type "fecha". If there is a guideline already, please let me know, if not, I would be happy to start one (just let me know where to put it). Hey I would like to know your thoughts about this. Thanks to you all and happy coding!
I agree that we should standardize around informal. I agree with you that we should look out for words like "fecha" that have been accidentally translated during our automated translation process.
Hi all I'm not sure if this is the right issue to discuss this, or if I should open a new one. I'm happy to open a new one if that makes things easier to track. I'll keep it here for the moment. What do people think about translating "array" as "arreglo"? I think this is a big mistake that has been repeated since somebody made that bad translation many years ago. As any Spanish speaker know, "arreglo" means "repair" (), and it makes any programming related text even harder to understand.

This is especially true for programming texts because it's full of abstract nouns and things that are not easy to represent in a tangible way. I learned to code in English (mainly FCC and Coursera), and after a while, I stumbled upon a programming text written in Spanish. I couldn't understand what it was talking about until I found out that "arreglo" was the (really bad) translation of "array". Then I could read the text as if I was reading an encoded message that had to be deciphered. I propose that the Spanish version of FreeCodeCamp doesn't carry on with that translation, which is just based on the similarity of the spelling but has nothing to do with the meaning of the words. I think the right term in Spanish is "ristra". According to the : Which basically means: "A group of things placed one after another" They also share all the phonems in "array", with the adittion of /r/ (rolling r) and /t/ in "ristra". I'm open to other candidates, but please, let's take "arreglo" out of the Spanish version. The word "array" has been used in Spanish texts before and even though it's not a Spanish word, I think it's still better than a word that exists with a different meaning. And to be honest, anyone learning how to code will have to become familiar with certain English terms like "list", "function", "import", "scope", etc. [1]: [2]:
Hello guy, I vote for yes, let’s do the change and I think will create a huge impact around of the world! Please let me know if you have more question questions or concerns. Andres Haro Cell: (619) 534-3190
Thanks - I agree that these machine translations need improvement. I encourage you to dig in and start fixing them. Be sure to join if you need help getting set up
There is still work pending on this. When you make a PR for this particular issue, do not tag it with instead just reference it with
Thanks for working on the translations for the "Contributing to freeCodeCamp". Here on we are making contributing to translations for contribution docs ad hoc. You are free to make pull-requests for improving these translations.

We are closing the issue as these do not need tracking per se. You can raise a fresh issue if you find something incorrect in the existing docs.


Question: show={solutionOpen} > <Modal.Header closeButton={true}> <del> <Modal.Title id='contained-modal-title'> </del> <ins> <Modal.Title id='contained-modal-title' className='text-center'> </ins> {`${username}'s Solution to ${ idToNameMap.get(id)?.challengeTitle ?? '' }`}

The title for code preview modals is left aligned. The rest of our modals have a centered title. to on view -show code left aligned title it -click view -show project is centered Center the title Code modal: ! Preview modal: ! I think I would just center the title, not the HTML/CSS/JS title
I wonder how should I tackle these, If I can tackle it of course. there is there solution: adding inline CSS to the adding with value to file we can go wild and change value to include
I would look at how the other titles are getting centered. Maybe there's just a class to those we didn't add on the others or something.
I see there is with value , I will start working on it


Question: In the previous lecture videos, you learned how to access characters in a string like this: ```js <del> const firstName = 'Jessica'; // returns 'J' </del> <ins> const firstName = "Jessica"; // returns "J" </ins> firstName[0]; ```

We prefer to use double quotes for JavasScript string, so the following code examples should be updated to follow the convention:
This issue is open for contributions. The files that you should be updating are linked in the original post. We typically do not assign issues. Instead, we accept the most quality contribution followed by the one that is made first. Please make sure you read our as well as our , we prioritize contributors following the instructions in our guides. Join us in our or our if you need help contributing; our moderators will guide you through this. Happy contributing.