{ "name": "Basic HTML and HTML5", "order": 0, "time": "5 hours", "helpRoom": "Help", "challenges": [ { "id": "560add10cb82ac38a17513be", "title": "Learn How freeCodeCamp Works", "description": [ [ "", "", "Welcome to freeCodeCamp!

Check out the lesson map on the left. We have thousands of coding lessons to help you improve your skills.

You can earn verified certificates by completing certificate's 5 required projects.

And yes - all of this is 100% free, thanks to the thousands of campers who donate to our nonprofit.", "" ] ], "challengeSeed": [], "tests": [], "type": "Waypoint", "challengeType": 7 }, { "id": "bd7123c8c441eddfaeb5bdef", "title": "Say Hello to HTML Elements", "description": [ "Welcome to freeCodeCamp's HTML coding challenges. These will walk you through web development step-by-step.", "First, you'll start by building a simple web page using HTML. You can edit code in your code editor, which is embedded into this web page.", "Do you see the code in your code editor that says <h1>Hello</h1>? That's an HTML element.", "Most HTML elements have an opening tag and a closing tag.", "Opening tags look like this:", "<h1>", "Closing tags look like this:", "</h1>", "The only difference between opening and closing tags is the forward slash after the opening bracket of a closing tag.", "Each challenge has tests you can run at any time by clicking the \"Run tests\" button. When you pass all tests, you'll be prompted to submit your solution and go to the next coding challenge.", "
", "To pass the test on this challenge, change your h1 element's text to say \"Hello World\"." ], "challengeSeed": ["

Hello

"], "tests": [ { "text": "Your h1 element should have the text \"Hello World\".", "testString": "assert.isTrue((/hello(\\s)+world/gi).test($('h1').text()), 'Your h1 element should have the text \"Hello World\".');" } ], "type": "waypoint", "challengeType": 0, "translations": { "de": { "description": [ "Willkommen bei deiner ersten Programmier-Challenge von freeCodeCamp!", "Mithilfe des eingebauten code editors kannst du den code bearbeiten.", "Siehst du den Code <h1>Hallo</h1> im Editor? Das ist ein HTML element", "Die meisten HTML Elemente haben einen opening tag und einen closing tag.", "Öffnende Tags sehen so aus:", "<h1>", "Schließende Tags so:", "</h1>", "Beachte, dass der einzige Unterschied zwischen öffnenden und schließenden Tags ist, dass bei schließenden Tags ein Slash nach der sich öffnenden spitzen Klammer folgt.", "Jede Challenge hat Tests die du jederzeit starten kannst indem du den \"Run tests\" Button drückst. Wenn alle Tests bestehen kannst du mit der nächsten Challenge fortfahren.", "
", "Um den Test dieser Challenge zu bestehen, ändere den Text deines h1 Elements von \"Hello\" zu \"Hello World\". Klicke dann den \"Run tests\" Button." ] }, "fr": { "title": "Dites bonjour aux éléments HTML", "description": [ "Bienvenue au premier défi de code de freeCodeCamp.", "Vous pouvez modifier le code dans votre éditeur texte, lequel est disponible dans cette page.", "Voyez-vous le code dans l'éditeur texte qui dit <h1>Hello</h1>? C'est un élément HTML.", "La plupart des éléments HTML ont une balise ouvrante et une balise fermante", "Les balises ouvrantes ont cette apparence :", "<h1>", "Les balises fermantes ont cette apparence :", "</h1>", "Notez que la seule différence entre une balise ouvrante et fermante est que la balise fermante a une barre oblique après son chevron ouvrant.", "Chaque défi contient des tests que vous pouvez éxécuter en cliquant sur le bouton \"Run tests\". Lorsque tous les tests sont réussis, vous pouvez poursuivre avec le défi suivant.", "
", "Pour réussir le test de ce défi, changez le texte de l'élément h1 pour \"Hello World\" plutôt que \"Hello\". Cliquez ensuite sur le bouton \"Run tests\"." ] }, "pt-br": { "title": "Diga oi para os elementos HTML", "description": [ "Bem-vindo(a) aos desafios de programação do freeCodeCamp. Eles vão te guiar pelo desenvolvimento web passo a passo.", "Nós recomendamos que você os resolva em ordem, mas fique à vontade para navegar pelos desafios clicando em \"map\" no menu acima.", "Além disso, se você quiser salvar seu progresso, você deve entrar para nossa comunidade criando uma conta. Em apenas alguns minutos, você pode entrar na nossa sala de chat, fórum e até mesmo em um grupo de estudos da sua cidade.", "Primeiramente, você vai começar construindo uma página da web simples com HTML. Você pode editar o código no seu editor de texto, que está embutido nessa página.", "Você está vendo o código no seu editor de texto que contém <h1>Hello</h1>? Esse é um elemento HTML.", "A maioria dos elementos HTML têm uma tag de abertura e uma tag de fechamento.", "As tags de abertura são assim:", "<h1>", "As tags de fechamento são assim:", "</h1>", "A única diferença entre tags de abertura e fechamento é que as tags de fechamento possuem uma barra (/) depois do sinal de menor (<).", "Cada desafio possui testes que você pode rodar a qualquer momento clicando no botão \"Run tests\". Quando seu código passar em todos os testes, você poderá enviar sua solução e avançar para o próximo desafio.", "
", "Para passar no teste desse desafio, mude o texto do seu elemento h1 para \"Hello World\"." ] }, "ru": { "title": "Скажи привет HTML-элементам", "description": [ "Добро пожаловать на первое программное испытание freeCodeCamp.", "Вы можете редактировать код в вашем текстовом редакторе, который мы встроили в эту web-страницу.", "Видите этот код в вашем текстовом редакторе: <h1>Hello</h1>? Это HTML элемент.", "Большинство HTML-элементов имеют открывающую метку закрывающую метку.", "Открывающие метки выглядят так:", "<h1>", "Закрывающие метки выглядят следующим образом:", "</h1>", "Обратите внимание, что единственная разница между открывающими и закрывающими метками заключается в наличии косой черты после открывающей треугольной скобки.", "Каждое испытание имеет функцию проверки решения, которую вы можете запустить в любой момент нажатием на кнопку \"Run tests\". Как только ваше решение будет удовлетворять всем требованиям, вы сможете перейти к следующему испытанию.", "
", "Для прохождения этого испытания измените текст элемента h1 с \"Hello\" на \"Hello World\". Затем нажмите кнопку \"Run tests\"." ] } } }, { "id": "bad87fee1348bd9aedf0887a", "title": "Headline with the h2 Element", "description": [ "Over the next few lessons, we'll build an HTML5 cat photo web app piece-by-piece.", "The h2 element you will be adding in this step will add a level two heading to the web page.", "This element tells the browser about the structure of your website. h1 elements are often used for main headings, while h2 elements are generally used for subheadings. There are also h3, h4, h5 and h6 elements to indicate different levels of subheadings.", "
", "Add an h2 tag that says \"CatPhotoApp\" to create a second HTML element below your \"Hello World\" h1 element." ], "challengeSeed": ["

Hello World

"], "tests": [ "assert(($(\"h2\").length > 0), 'message: Create an h2 element.');", "assert(code.match(/<\\/h2>/g) && code.match(/<\\/h2>/g).length === code.match(/

/g).length, 'message: Make sure your h2 element has a closing tag.');", "assert.isTrue((/cat(\\s)?photo(\\s)?app/gi).test($(\"h2\").text()), 'message: Your h2 element should have the text \"CatPhotoApp\".');", "assert.isTrue((/hello(\\s)+world/gi).test($(\"h1\").text()), 'message: Your h1 element should have the text \"Hello World\".');" ], "type": "waypoint", "challengeType": 0, "translations": { "de": { "description": [ "In den nächsten Challenges werden wir eine HTML5 App entwickeln die ungefähr so aussehen wird:", "\"Ein", "Das eingetragene h2 Element wird ein h2 Element auf der Website erzeugen.", "Dieses Element sagt dem Browser, wie die Struktur deiner Website aufgebaut ist. h1 Elemente werden oft für Hauptüberschriften verwendet, während h2 Elemente üblicherweise für Zwischenüberschriften verwendet werden. Es gibt auch h3, h4, h5 und h6 Elemente die verschiedene und neue Bereiche kennzeichnen.", "
", "Füge unter h1 \"Hello World\" ein zweites HTML Element h2 hinzu, in dem \"CatPhotoApp\" steht." ] }, "fr": { "title": "Un titre avec l'élément h2", "description": [ "Pour les quelques prochains défis, nous construirons une application HTML5 qui ressemblera à ceci :", "\"Une", "L'élément h2 que vous entrerez créera un élément h2 sur le site.", "Cet élément renseigne votre navigateur sur la structure de votre site. Les éléments h1 sont souvent utilisés comme titre, tandis que les éléments h2 sont généralement utilisés comme sous-titres. Il existe également les éléments h3, h4, h5 et h6 qui indiquent une nouvelle et différente section.", "
", "Ajoutez une balise h2 contenant \"CatPhotoApp\" pour créer un second élément HTML sous l'élément h1 contenant \"Hello World\"." ] }, "pt-br": { "title": "Título com o elemento h2", "description": [ "Nas próximas duas seções, nós vamos construir um app HTML5 que vai ficar mais ou menos assim:", "\"Um", "O elemento h2 que você vai adicionar vai criar um elemento h2 na página.", "Esse elemento indica ao navegador a estrutura do seu site. Elementos h1 são geralmente usados para os títulos principais, enquanto elementos h2 são usados para subtítulos. Também existem os elementos h3, h4, h5 e h6, que indicam seções novas e diferentes.", "
", "Adicione uma tag h2 com o texto \"CatPhotoApp\" para criar um segundo elemento HTML abaixo do seu elemento h1 com o texto \"Hello World\"." ] }, "ru": { "title": "Заголовок с применением элемента h2", "description": [ "В результате прохождения нескольких следующих испытаний, мы построим HTML5 приложение, которое будет похоже на это:", "\"A", "Вводимый вами элемент h2 создаст соответствующий элемент h2 на web-странице.", "Этот элемент сообщает браузеру о структуре вашего web-сайта. Элементы h1 часто применяют в качестве главных заголовков, в то время как элементы h2 обычно используют для обозначения позаголовков. Также существуют элементы h3, h4, h5 и h6 для обозначения отдельных секций.", "
", "Добавьте метку h2 с текстом \"CatPhotoApp\" для создания второго HTML элемента под вашим элементом h1 с текстом \"Hello World\"." ] } } }, { "id": "bad87fee1348bd9aedf08801", "title": "Inform with the Paragraph Element", "description": [ "p elements are the preferred element for paragraph text on websites. p is short for \"paragraph\".", "You can create a paragraph element like this:", "<p>I'm a p tag!</p>", "
", "Create a p element below your h2 element, and give it the text \"Hello Paragraph\"." ], "challengeSeed": ["

Hello World

", "

CatPhotoApp

"], "tests": [ "assert(($(\"p\").length > 0), 'message: Create a p element.');", "assert.isTrue((/hello(\\s)+paragraph/gi).test($(\"p\").text()), 'message: Your p element should have the text \"Hello Paragraph\".');", "assert(code.match(/<\\/p>/g) && code.match(/<\\/p>/g).length === code.match(/

p element has a closing tag.');" ], "type": "waypoint", "challengeType": 0, "translations": { "de": { "description": [ "p Elemente sind das bevorzugte Element für normale Paragraphentexte auf einer Website. P ist die Abkürzung für \"Paragraph\".", "Du kannst ein p Element so erzeugen:", "<p>Ich bin ein p Element!</p>", "


", "Erstelle ein p Element unter deinem h2 Element und füge den Text \"Hello Paragraph\" ein." ] }, "fr": { "title": "Informez avec l'élément paragraphe", "description": [ "L'élément p est le préféré pour les textes de paragraphes de taille normale. P est l'acronyme de \"paragraphe\",", "Vous pouvez créer un élément p comme ceci :", "<p>Je suis une balise p!</p>", "
", "Créez un élément p sous votre élément h2 et inscrivez-y le texte \"Hello Paragraph\"." ] }, "pt-br": { "title": "Informe com o elemento de parágrafo", "description": [ "Elementos p são os elementos preferenciais para parágrafos de texto de tamanho normal em sites. P é a abreviação de \"parágrafo\".", "Você pode criar um elemento p assim:", "<p>Eu sou uma tag p!</p>", "
", "Crie um elemento p abaixo do seu elemento h2, e dê a ele o texto \"Hello Paragraph\"." ] }, "ru": { "title": "Проинформируйте с применением элемента p", "description": [ "Элементы p предпочтительно использовать для обозначения параграфов с текстом нормального размера в web-сайтах. P - сокращение от \"paragraph\".", "Вы можете создать элемент p следующим образом:", "<p>Я метка p!</p>", "
", "Создайте элемент p под вашим элементом h2 и присвойте ему текст \"Hello Paragraph\"." ] } } }, { "id": "bad87fee1348bd9aedf08833", "title": "Fill in the Blank with Placeholder Text", "description": [ "Web developers traditionally use lorem ipsum text as placeholder text. The 'lorem ipsum' text is randomly scraped from a famous passage by Cicero of Ancient Rome.", "Lorem ipsum text has been used as placeholder text by typesetters since the 16th century, and this tradition continues on the web.", "Well, 5 centuries is long enough. Since we're building a CatPhotoApp, let's use something called kitty ipsum text.", "
", "Replace the text inside your p element with the first few words of this kitty ipsum text: Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff." ], "challengeSeed": [ "

Hello World

", "", "

CatPhotoApp

", "", "

Hello Paragraph

" ], "tests": [ "assert.isTrue((/Kitty(\\s)+ipsum/gi).test($(\"p\").text()), 'message: Your p element should contain the first few words of the provided kitty ipsum text.');" ], "type": "waypoint", "challengeType": 0, "translations": { "de": { "description": [ "Webentwickler nutzen für gewöhnlich \"Lorem Ipsum Text\" als Platzhalter. Es heißt \"Lorem Ipsum\", weil es die ersten zwei Wörter aus einer bekannten Passage von Cicero des alten Roms sind.", "\"Lorem Ipsum\" Text wurde seit dem 16. Jahrhundert von Schriftsetzern als Platzhalter verwendet. Diese Tradition setzt sich im Web fort.", "Nun gut, fünf Jahrhunderte sind lange genug. Da wir eine CatPhotoApp entwickeln, lass uns stattdessen lieber kitty ipsum text nutzen.", "
", "Ersetze den Text in deinem p Element mit den ersten Wörtern des \"Kitty Ipsum\" Textes: Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff." ] }, "fr": { "title": "Remplissez les blancs avec du faux-texte", "description": [ "Les développeurs Web utilisent traditionnellement du lorem ipsum comme texte de substitution. Le texte lorem ipsum provient d'un extrait de Cicero, de la Rome antique.", "Le texte lorem ipsum a été utilisé comme faux-texte par des typographes depuis le 16ème siècle et cette tradition se poursuit sur le Web.", "Enfin, 5 siècles est suffisament long. Étant donné que nous fabriquons une application de photos de chats, utilisons plutôt du texte Kitty ipsum.", "
", "Remplacez le texte à l'intérieur des éléments p avec ces quelques mots du texte Kitty ipsum : Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff." ] }, "pt-br": { "title": "Preencha o vazio com texto de exemplo", "description": [ "Desenvolvedores web tradicionalmente usam lorem ipsum como texto de exemplo. Os textos 'lorem ipsum' são partes retiradas aleatoriamente de uma passagem famosa escrita por Cícero na Roma Antiga.", "Esses textos têm sido usados como texto de exemplo por tipógrafos desde o século 16, e essa tradição continua na web.", "Bem, 5 séculos é tempo suficiente. Já que estamos construindo um app de fotos de gatos, vamos usar um novo texto chamado de gatinho ipsum.", "
", "Substitua o texto dentro do seu elemento p com as primeiras palavras desse gatinho ipsum: Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff." ] }, "ru": { "title": "Заполните пустоты замещающим текстом", "description": [ "Традиционно web-разработчики используют текст lorem ipsum в качестве замещающего текста. Он называется тектсом lorem ipsum по первым двум словам известного пассажа Цицерона из Древнего Рима.", "Текст lorem ipsum применяется в качестве замещающего текста наборщиками с 16-го века, и эта традиция продолжается в сети.", "5 веков довольно долгий период. Так как мы строим приложение CatPhotoApp, давайте используем нечто называемое текстом kitty ipsum.", "
", "Замените текст внутри вашего элемента p первыми двумя словами текста kitty ipsum: Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff." ] } } }, { "id": "bad87fee1348bd9aedf08802", "title": "Uncomment HTML", "description": [ "Commenting is a way that you can leave comments for other developers within your code without affecting the resulting output that is displayed the end user.", "Commenting is also a convenient way to make code inactive without having to delete it entirely.", "Comments in HTML starts with <!--, and ends with a -->", "
", "Uncomment your h1, h2 and p elements." ], "challengeSeed": [ "" ], "tests": [ "assert($(\"h1\").length > 0, 'message: Make your h1 element visible on your page by uncommenting it.');", "assert($(\"h2\").length > 0, 'message: Make your h2 element visible on your page by uncommenting it.');", "assert($(\"p\").length > 0, 'message: Make your p element visible on your page by uncommenting it.');", "assert(!/[^fc]-->/gi.test(code.replace(/ *" ], "tests": [ "assert(($(\"h1\").length === 0), 'message: Comment out your h1 element so that it is not visible on your page.');", "assert(($(\"h2\").length > 0), 'message: Leave your h2 element uncommented so that it is visible on your page.');", "assert(($(\"p\").length === 0), 'message: Comment out your p element so that it is not visible on your page.');", "assert(code.match(/[^fc]-->/g).length > 1, 'message: Be sure to close each of your comments with -->.');", "assert((code.match(/<([a-z0-9]){1,2}>/g)[0]===\"

\" && code.match(/<([a-z0-9]){1,2}>/g)[1]===\"

\" && code.match(/<([a-z0-9]){1,2}>/g)[2]===\"

\") , 'message: Do not change the order of the h1 h2 or p in the code.');" ], "type": "waypoint", "challengeType": 0, "translations": { "de": { "description": [ "Denk daran, dass ein Kommentar mit <!-- beginnt und mit --> endet.", "Hier wirst du deinen Kommentar vor dem h2 Element beenden müssen.", "


", "Kommentiere die h1 und p Elemente aus, aber lasse dein h2 Element unkommentiert." ] }, "fr": { "title": "Commentez du HTML", "description": [ "Souvenez-vous que pour débuter un commentaire, vous devez utiliser <!-- et que pour le terminer, vous devez utiliser -->.", "Ici vous devrez terminer le commentaire juste avant que l'élément h2 commence.", "
", "Commentez les éléments h1 et p, mais laissez l'élément h2 tel quel." ] }, "pt-br": { "title": "Comente o HTML", "description": [ "Lembre-se de que, para começar um comentário, você precisa usar <!-- e para terminá-lo, você precisa usar -->", "Aqui, você vai precisar terminar o comentário antes do começo do seu elemento h2.", "
", "Comente seus elementos h1 e p, mas deixe seu elemento h2 descomentado." ] }, "ru": { "title": "Закомментируйте HTML", "description": [ "Помните, что для начала комментария вам необходимо использовать <!--, а для завершения комментария - -->", "Тут вам необходимо завершить комментарий до начала вашего элемента h2.", "
", "Закомментируйте ваши элементы h1 и p, но оставьте ваш элемент h2 раскомментированным." ] } } }, { "id": "bad87fed1348bd9aedf08833", "title": "Delete HTML Elements", "description": [ "Our phone doesn't have much vertical space.", "Let's remove the unnecessary elements so we can start building our CatPhotoApp.", "
", "Delete your h1 element so we can simplify our view." ], "challengeSeed": [ "

Hello World

", "", "

CatPhotoApp

", "", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

" ], "tests": [ "assert(($(\"h1\").length == 0), 'message: Delete your h1 element.');", "assert(($(\"h2\").length > 0), 'message: Leave your h2 element on the page.');", "assert(($(\"p\").length > 0), 'message: Leave your p element on the page.');" ], "type": "waypoint", "challengeType": 0, "translations": { "de": { "description": [ "Unser Smartphone hat nicht sehr viel vertikalen Platz.", "Lass uns die unwichtigen Elemente entfernen, damit wir unsere CatPhotoApp entwickeln können.", "
", "Lösche die Elemente h1, um etwas Ordnung zu schaffen." ] }, "fr": { "title": "Supprimer des éléments HTML", "description": [ "Notre téléphone n'a pas beaucoup d'espace vertical.", "Enlevons les éléments superflus pour débuter la construction de notre application de photos de chats.", "
", "Supprimez l'élément h1 afin de simplifier l'affichage." ] }, "pt-br": { "title": "Delete elementos HTML", "description": [ "Nosso celular não tem muito espaço vertical.", "Vamos remover os elementos desnecessários para podermos começar a construir nosso app de fotos de gatinhos.", "
", "Delete seu elemento h1 para podermos simplificar nossa tela." ] }, "ru": { "title": "Удалите HTML-элементы", "description": [ "Наш телефон не очень большой по-вертикали.", "Давайте удалим некоторые ненужные элементы, чтобы мы могли приступить к созданию приложения CatPhotoApp.", "
", "Удалите ваш h1 элемент, чтобы упростить общий вид." ] } } }, { "id": "bad87fee1348bd9aecf08801", "title": "Introduction to HTML5 Elements", "description": [ "HTML5 introduces more descriptive HTML tags. These include header, footer, nav, video, article, section and others.", "These tags make your HTML easier to read, and also help with Search Engine Optimization (SEO) and accessibility.", "The main HTML5 tag helps search engines and other developers find the main content of your page.", "Note
Many of the new HTML5 tags and their benefits are covered in the Applied Accessibility section.", "
", "Create a second p element after the existing p element with the following kitty ipsum text: Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.", "Wrap the paragraphs with an opening and closing main tag." ], "challengeSeed": [ "

CatPhotoApp

", "", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

" ], "tests": [ "assert($(\"p\").length > 1, 'message: You need 2 p elements with Kitty Ipsum text.');", "assert(code.match(/<\\/p>/g) && code.match(/<\\/p>/g).length === code.match(/

p elements has a closing tag.');", "assert.isTrue((/Purr\\s+jump\\s+eat/gi).test($(\"p\").text()), 'message: Your p element should contain the first few words of the provided additional kitty ipsum text.');", "assert($('main').length === 1, 'message: Your code should have one main element.');", "assert($(\"main\").children(\"p\").length === 2, 'message: The main element should have two paragraph elements as children.');", "assert(code.match(/

\\s*?

/g), 'message: The opening main tag should come before the first paragraph tag.');", "assert(code.match(/<\\/p>\\s*?<\\/main>/g), 'message: The closing main tag should come after the second closing paragraph tag.');" ], "type": "waypoint", "challengeType": 0, "translations": { "pt-br": { "title": "Introdução aos elementos HTML5", "description": [ "O HTML5 introduziu tags mais descritivas, como header (cabeçalho), footer (rodapé), nav (navegação), video (vídeo), article (artigo), section (seção), entre outras.", "Essas tags deixam seu HTML mais fácil de ler e também ajudam na otimização para motores de busca (SEO) e acessibilidade.", "A tag HTML5 main (principal) ajuda mecanismos de busca e outros desenvolvedores a encontrar o conteúdo principal da sua página.", "Nota
Várias das novas tags HTML5 e seus benefícios são discutidos na seção de Acessibilidade aplicada.", "


", "Crie um segundo elemento p depois dos elementos p existentes com o seguinte texto gatinho ipsum: Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.", "Coloque tags main de abertura e fechamento ao redor dos parágrafos." ] } } }, { "id": "bad87fee1348bd9aedf08812", "title": "Add Images to Your Website", "description": [ "You can add images to your website by using the img element, and point to a specific image's URL using the src attribute.", "An example of this would be:", "<img src=\"https://www.your-image-source.com/your-image.jpg\" />", "Note that in most cases, img elements are self-closing.", "All img elements must have an alt attribute. The text inside an alt attribute is used for screen readers to improve accessibility and is displayed if the image fails to load.", "Note: If the image is purely decorative, using an empty alt attribute is a best practice.", "Ideally the alt attribute should not contain special characters unless needed.", "Let's add an alt attribute to our img example above:", "<img src=\"https://www.your-image-source.com/your-image.jpg\" alt=\"Author standing on a beach with two thumbs up.\" />", "
", "Let's try to add an image to our website:", "Insert an img tag, before the h2 element.", "Now set the src attribute so that it points to this url:", "https://bit.ly/fcc-relaxing-cat", "Finally don't forget to give your image an alt text." ], "challengeSeed": [ "

CatPhotoApp

", "
", " ", " ", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

", "
" ], "tests": [ "assert($(\"img\").length > 0, 'message: Your page should have an image element.');", "assert(new RegExp(\"\\/\\/bit.ly\\/fcc-relaxing-cat|\\/\\/s3.amazonaws.com\\/freecodecamp\\/relaxing-cat.jpg\", \"gi\").test($(\"img\").attr(\"src\")), 'message: Your image should have a src attribute that points to the kitten image.');", "assert(code.match(/alt\\s*?=\\s*?(\\\"|\\').*(\\\"|\\')/), 'message: Your image element must have an alt attribute.');" ], "type": "waypoint", "challengeType": 0, "translations": { "de": { "description": [ "Du kannst img Elemente verwenden, um Bilder in deine Website einzubauen. Um zur URL des Bildes zu verweisen, benutzt du das src Attribut.", "Ein Beispiel dafür wäre:", "<img src=\"https://www.deine-bild-quelle.com/dein-bild.jpg\">", "Beachte, dass img Elemente in den meisten Fällen selbstschließend sind.", "
", "Versuche es mit diesem Bild:", "https://bit.ly/fcc-relaxing-cat" ] }, "fr": { "title": "Ajouter des images à votre site Web", "description": [ "Vous pouvez ajouter des images à votre site Web en utilisant l'élément img et pointer vers une URL d'image spécifique en utilisant l'attribut src.", "Un exemple de cette procédure serait :", "<img src=\"https://www.your-image-source.com/your-image.jpg\">", "Note that in most cases, img elements are self-closing.", "Prenez note que dans la plupart des cas, les éléments img sont auto-fermants.", "
", "Essayez avec cette image :", "https://bit.ly/fcc-relaxing-cat" ] }, "pt-br": { "title": "Adicione imagens à sua página web", "description": [ "Você pode adicionar imagens ao seu site usando o elemento img e apontando para a URL de uma imagem específica no atributo src.", "Um exemplo disso seria:", "<img src=\"https://www.a-fonte-da-sua-imagem.com/sua-imagem.jpg\">", "Note que na maioria dos casos, elementos img possuem auto-fechamento (não precisam de tag de fechamento).", "Todos os elementos img devem ter um atributo alt. O texto do atributo alt é usado por leitores de tela para melhorar a acessibilidade e é mostrado no lugar da imagem se ela não puder ser carregada.", "Vamos adicionar um atributo alt ao nosso exemplo acima:", "<img src=\"https://www.a-fonte-da-sua-imagem.com/sua-imagem.jpg\" alt=\"Autor numa praia fazendo joinha.\">", "
", "Vamos tentar adicionar uma imagem ao nosso site:", "Insira uma tag img, antes do elemento h2.", "Agora coloque essa URL no seu atributo src:", "https://bit.ly/fcc-relaxing-cat", "Finalmente, não esqueça de dar à sua imagem um texto alt." ] }, "ru": { "title": "Добавьте изображения к вашему сайту", "description": [ "Вы можете добавлять изображения к вашему сайту с помощью элемента img и указывать ссылки определённых изображений с помощтю атрибута src.", "Примером добавления мзображения может служить:", "<img src=\"https://www.your-image-source.com/your-image.jpg\">", "Обратите внимание, что в большинстве случаев элементы img являются самозакрывающимися.", "
", "Попробуйте добавить изображение используя следующую ссылку:", "https://bit.ly/fcc-relaxing-cat" ] } }, "guideUrl": "https://guide.freecodecamp.org/certificates/add-images-to-your-website" }, { "id": "bad87fee1348bd9aedf08816", "title": "Link to External Pages with Anchor Elements", "description": [ "You can use anchor elements to link to content outside of your web page.", "anchor elements need a destination web address called an href attribute. They also need anchor text. Here's an example:", "<a href=\"https://freecodecamp.org\">this links to freecodecamp.org</a>", "Then your browser will display the text \"this links to freecodecamp.org\" as a link you can click. And that link will take you to the web address https://www.freecodecamp.org.", "
", "Create an a element that links to http://freecatphotoapp.com and has \"cat photos\" as its anchor text." ], "challengeSeed": [ "

CatPhotoApp

", "
", " ", " ", " ", " \"A", " ", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

", "
" ], "tests": [ "assert((/cat photos/gi).test($(\"a\").text()), 'message: Your a element should have the anchor text of \"cat photos\".');", "assert(/http:\\/\\/(www\\.)?freecatphotoapp\\.com/gi.test($(\"a\").attr(\"href\")), 'message: You need an a element that links to http://freecatphotoapp.com');", "assert(code.match(/<\\/a>/g) && code.match(/<\\/a>/g).length === code.match(/a
element has a closing tag.');" ], "type": "waypoint", "challengeType": 0, "translations": { "de": { "title": "Verlinke externe Seiten mit Anker Elementen", "description": [ "a Elemente, auch bekannt als anchor (Anker) Elemente, werden verwendet um auf Inhalte außerhalb der aktuellen Seite zu verweisen.", "So sieht ein a Element aus. In diesem Fall wird es innerhalb eines Paragraphen Elements verwendet. Das bedeutet dein Link wird innerhalb des Satzes erscheinen.", "\"Eine", "Hier ist ein Beispiel:", "<p>Hier ist ein <a href=\"http://freecodecamp.org\"> Link zu freeCodeCamp</a> dem du folgen kannst.</p>", "
", "Erstelle ein a Element, das auf http://freecatphotoapp.com verweist und den \"cat photos\" als anchor text (Link-Text) beinhaltet." ] }, "es": { "title": "Enlaza páginas externas con elementos ancla", "description": [ "Los elementos a, también conocidos como elementos ancla, se utilizan para enlazar a contenido fuera de la página actual.", "Aquí está un diagrama de un elemento a. En este caso, el elemento a se utiliza en el medio de un elemento de párrafo, lo que significa que el enlace aparecerá en el medio de una frase. ", " \"un ", "He aquí un ejemplo:", "<p>Aquí está un <a href=\"https://freecodecamp.org\"> enlace a freeCodeCamp</a> para que lo sigas.</p>", "
", "Crea un elemento a que se vincule a http://freecatphotoapp.com y tenga como texto de ancla \"fotos de gatos\"." ] }, "pt-br": { "title": "Crie links para páginas externas com elementos âncora", "description": [ "Elementos a, também conhecidos como elementos âncora, são usados para criar links para conteúdo de fora da página atual.", "Aqui está um diagrama de um elemento a. Nesse caso, o elemento a é usado no meio de um elemento de parágrafo, o que significa que esse link vai aparecer no meio de uma frase.", "\"um", "Aqui está um exemplo:", "<p>Aqui está um <a href=\"http://freecodecamp.org\"> link para o freecodecamp.org</a> para você clicar.</p>", "
", "Crie um elemento a que vá para http://freecatphotoapp.com e tenha \"cat photos\" como seu texto âncora." ] }, "ru": { "title": "Присоедините внешние страницы с помощью якорных элементов", "description": [ "Элементы a, также известные как якорные элементы, применяют для связи с содержимым вне текущей страницы.", "Вот диаграмма элемента a. В этом случае, элемент a использован в середине элемента параграфа, что значит, что ссылка появится в середине предложения.", "\"a", "Вот пример:", "<p>Вот <a href=\"http://freecodecamp.org\"> ссылка на freeCodeCamp</a> для перехода на ресурс.</p>", "
", "Создайте элемент a, который присоединяет http://freecatphotoapp.com и имеет значение \"cat photos\" в качестве текста якоря." ] } } }, { "id": "bad88fee1348bd9aedf08816", "title": "Link to Internal Sections of a Page with Anchor Elements", "description": [ "Anchor elements can also be used to create internal links to jump to different sections within a webpage.", "To create an internal link, you assign a link's href attribute to a hash symbol # plus the value of the id attribute for the element that you want to internally link to, usually further down the page. You then need to add the same id attribute to the element you are linking to. An id is an attribute that uniquely describes an element.", "Below is an example of an internal anchor link and its target element:", "
<a href=\"#contacts-header\">Contacts</a>
...
<h2 id=\"contacts-header\">Contacts</h2>
", "When users click the Contacts link, they'll be taken to the section of the webpage with the Contacts header element.", "
", "Change your external link to an internal link by changing the href attribute to \"#footer\" and the text from \"cat photos\" to \"Jump to Bottom\".", "Remove the target=\"_blank\" attribute from the anchor tag since this causes the linked document to open in a new window tab.", "Then add an id attribute with a value of \"footer\" to the <footer> element at the bottom of the page." ], "challengeSeed": [ "

CatPhotoApp

", "
", " ", " cat photos", " ", " \"A", " ", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff. Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched. Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched. Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff. Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

", "

Meowwww loved it, hated it, loved it, hated it yet spill litter box, scratch at owner, destroy all furniture, especially couch or lay on arms while you're using the keyboard. Missing until dinner time toy mouse squeak roll over. With tail in the air lounge in doorway. Man running from cops stops to pet cats, goes to jail.

", "

Intently stare at the same spot poop in the plant pot but kitten is playing with dead mouse. Get video posted to internet for chasing red dot leave fur on owners clothes meow to be let out and mesmerizing birds leave fur on owners clothes or favor packaging over toy so purr for no reason. Meow to be let out play time intently sniff hand run outside as soon as door open yet destroy couch.

", " ", "
", " ", "
Copyright Cat Photo App
" ], "tests": [ "assert($('a').length == 1, 'message: There should be only one anchor tag on your page.');", "assert($('footer').length == 1, 'message: There should be only one footer tag on your page.');", "assert($('a').eq(0).attr('href') == \"#footer\", 'message: The a tag should have an href attribute set to \"#footer\".');", "assert(typeof $('a').eq(0).attr('target') == typeof undefined || $('a').eq(0).attr('target') == true, 'message: The a tag should not have a target attribute');", "assert($('a').eq(0).text().match(/Jump to Bottom/gi), 'message: The a text should be \"Jump to Bottom\".');", "assert($('footer').eq(0).attr('id') == \"footer\", 'message: The footer tag should have an id attribute set to \"footer\".');" ], "type": "waypoint", "challengeType": 0, "translations": { "pt-br": { "title": "Crie links para seções internas de uma página com elementos âncora", "description": [ "Além de criar links externos, elementos âncora também podem ser usados para criar links internos, que são links que pulam para diferentes seções dentro de uma mesma página.", "O formato é parecido com um link externo, só que, ao invés de uma URL no atributo href, você usa o símbolo # e uma palavra para descrever a seção para a qual você quer pular.", "Aqui está um exemplo:", "<a href=\"#contact\">Ir para a seção de contato</a>", "Em seguida, você precisa criar no seu HTML um elemento âncora correspondente no lugar em que você quer que seus usuários cheguem quando clicarem no seu link interno. Ao invés de usar o atributo href, você deve usar o atributo name. Aqui está um exemplo:", "
<h1>Contato</h1>
<a name=\"contact\"></a>
", "Agora, quando seus usuários clicarem no link \"Ir para a seção de contato\", eles serão levados para a seção da página em que está o elemento âncora que tenha \"contact\" no seu atributo name.", "
", "Mude seu link externo para um link interno trocando seu atributo href para \"#bottom\" e o texto âncora de \"cat photos\" para \"Pular para o final\".", "Então, adicione um elemento âncora com o atributo name como \"bottom\" depois do último parágrafo.", "Nota
Adicionamos mais texto gatinho ipsum para os parágrafos para mostrar melhor o efeito de clicar no link interno para pular para o final da página. Além disso, essa mudança só vai se aplicar para esse desafio. O próximo desafio vai voltar a mostrar seu link externo." ] } } }, { "id": "bad87fee1348bd9aede08817", "title": "Nest an Anchor Element within a Paragraph", "description": [ "You can nest links within other text elements.", "
<p>
Here's a <a href=\"http://freecodecamp.org\"> link to freecodecamp.org</a> for you to follow.
</p>
", "Let's break down the example:", "Normal text is wrapped in the p element:
<p> Here's a ... for you to follow. </p>", "Next is the anchor element <a> (which requires a closing tag </a>):
<a> ... </a>", "href is an anchor tag attribute that contains the URL address of the link:
<a href=\"http://freecodecamp.org\"> ... </a>", "The text, \"link to freecodecamp.org\", within the anchor element called anchor text, will display a link to click:
<a href=\" ... \">link to freecodecamp.org</a>", "The final output of the example will look like this:

Here's a link to freecodecamp.org for you to follow.

", "
", "Now nest your existing a element within a new p element (just after the existing main element). The new paragraph should have text that says \"View more cat photos\", where \"cat photos\" is a link, and the rest of the text is plain text." ], "challengeSeed": [ "

CatPhotoApp

", "
", " ", " cat photos", " ", " \"A", " ", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

", "
" ], "tests": [ "assert(($(\"a[href=\\\"http://freecatphotoapp.com\\\"]\").length > 0 || $(\"a[href=\\\"http://www.freecatphotoapp.com\\\"]\").length > 0), 'message: You need an a element that links to \"http://freecatphotoapp.com\".');", "assert($(\"a\").text().match(/cat\\sphotos/gi), 'message: Your a element should have the anchor text of \"cat photos\"');", "assert($(\"p\") && $(\"p\").length > 2, 'message: Create a new p element around your a element. There should be at least 3 total p tags in your HTML code.');", "assert(($(\"a[href=\\\"http://freecatphotoapp.com\\\"]\").parent().is(\"p\") || $(\"a[href=\\\"http://www.freecatphotoapp.com\\\"]\").parent().is(\"p\")), 'message: Your a element should be nested within your new p element.');", "assert(($(\"a[href=\\\"http://freecatphotoapp.com\\\"]\").parent().text().match(/View\\smore\\s/gi) || $(\"a[href=\\\"http://www.freecatphotoapp.com\\\"]\").parent().text().match(/View\\smore\\s/gi)), 'message: Your p element should have the text \"View more \" (with a space after it).');", "assert(!$(\"a\").text().match(/View\\smore/gi), 'message: Your a element should not have the text \"View more\".');", "assert(code.match(/<\\/p>/g) && code.match(/

/g).length === code.match(/

p elements has a closing tag.');", "assert(code.match(/<\\/a>/g) && code.match(//g).length === code.match(/a elements has a closing tag.');" ], "type": "waypoint", "challengeType": 0, "translations": { "de": { "title": "Anker Element mit einem Paragraphen umschließen", "description": [ "Hier ist nochmal ein Beispiel für ein a Element:", "\"Eine", "Hier ist ein Beispiel:", "<p>Hier ist ein <a href=\"https://freecodecamp.org\"> Link zu freeCodeCamp</a> dem du folgen kannst.</p>", "Nesting bedeutet, ein Element innerhalb eines anderen Elements zu schreiben", "


", "Jetzt umschließe dein a Element mit einem neuen p Element (direkt nach dem bereits existierenden main Element) indem steht \"View more cat photos\", wo allerdings nur \"cat photos\" ein Link ist und der Rest normaler Text." ] }, "es": { "title": "Anida un elemento de ancla dentro de un párrafo", "description": [ "Una vez más, aquí está un diagrama de un elemento a para tu referencia:", "\"un", "He aquí un ejemplo:", "<p>Aquí hay un <a href=\"https://freecodecamp.org\"> enlace a freeCodeCamp</a> para que lo sigas.</p>", "Anidamiento simplemente significa poner un elemento dentro de otro elemento.", "
", "Ahora anida el elemento a existente dentro de un nuevo elemento p (justo después del elemento main que ya tienes) de tal forma que el párrafo que lo rodee diga \"View more cat photos\", pero que sólo \"cat photos\" sea un enlace, y el resto sea texto plano ." ] }, "pt-br": { "title": "Aninhe um elemento âncora a um parágrafo", "description": [ "Novamente, aqui está um diagrama de um elemento a para você usar como referência:", "\"um", "Veja um exemplo:", "<p>Aqui está um <a href=\"https://freecodecamp.org\"> link para o freeCodeCamp</a> para você clicar.</p>", "Aninhar significa colocar um elemento dentro de outro.", "
", "Agora, aninhe seu elemento a existente a um novo elemento p (logo em seguida do elemento main existente), de forma que o parágrafo ao redor tenha o texto \"View more cat photos\", mas apenas a parte \"cat photos\" seja um link e o resto seja apenas texto." ] }, "ru": { "title": "Создайте вложенный якорный элемент внутри параграфа", "description": [ "Вот диаграмма элемента a:", "\"a", "Вот пример:", "<p>Вот <a href=\"https://freecodecamp.org\"> ссылка на freeCodeCamp</a> для перехода на ресурс.</p>", "Вложенность значит установку одного элемента внутрь друго элемента.", "
", "Теперь вложите ваш существующий элемент a внутрь нового элемента p (сразу после существующего элемента main) таким образом, что добавляемый параграф сообщает: \"View more cat photos\", но где только \"cat photos\" является ссылкой, а остальной текст обычный." ] } } }, { "id": "560add71cb82ac38a17513c2", "title": "Join a freeCodeCamp Study Group in Your City", "description": [ [ "", "", "You can code together with other campers in your city by joining a local freeCodeCamp study group.

Click the button below to open our study group directory.

Find your local study group and click it. This will take you to their Facebook group.

Click the Join group button.

You'll get a notification from Facebook once the group has accepted you. Then you can go back and introduce yourself.

If you don't have a Facebook account or don't want to code with other campers in your city, you can skip this step.", "https://study-group-directory.freecodecamp.org/" ] ], "challengeSeed": [], "tests": [], "type": "Waypoint", "challengeType": 7, "translations": { "es": { "title": "Únete a un Campamento en Tu Ciudad", "description": [ [ "https://i.imgur.com/NAOFJWN.jpg", "Una imagen de algunos de nuestros campistas compartiendo en un café local. 3 hombres y 3 mujeres están sentados alrededor de una mesa con portátiles afuera, y están sonriendo y programando.", "Nuestros Campamentos te ayudan a programar con otros campistas en tu ciudad. Puedes coordinar grupos de estudio o atender eventos de programación locales juntos.", "" ], [ "https://i.imgur.com/fTFMjwf.gif", "Un gif mostrándote como puedes pulsar en el enlace inferior, encontrar tu ciudad en la lista de Campamentos, entonces haz clic en el enlace de Facebook para tu ciudad y unirte al grupo de Facebook de tu ciudad.", "Encuentra tu ciudad en esta lista y haz clic en esta. Esto te llevara al grupo de Facebook del Campamento de tu ciudad. Da clic en el botón de \"Unirse al grupo\" para unirte a el grupo. Alguien del mismo campamento debería aprobarte en breve.", "http://forum.freecodecamp.org/t/free-code-camp-city-based-local-groups/19574" ] ] }, "de": { "title": "Tritt einem Campsite in deiner Stadt bei", "description": [ [ "https://i.imgur.com/XugIMb4.jpg", "Ein Foto von einigen Campern bei einem Treffen in einem lokalen Cafe.", "Unsere Campsites sind Facebook Gruppen die dir helfen dich mit anderen Campern aus deiner Stadt zu treffen. Du kannst diese Gruppen verwenden um an \"Coffee-and-Code\" Treffen, wo du andere Camper in einem Cafe triffst um gemeinsam zu programmieren, teilzunehmen oder zu organisieren", "" ], [ "https://i.imgur.com/fTFMjwf.gif", "Ein GIF das zeigt wie du auf den untenstehenden Link klickst, deine Stadt aus der Liste aller Campsites suchst, auf den Facebook Link klickst und der Facebook Gruppe beitrittst.", "Finde deine Stadt auf dieser Liste und klick sie an. Du wirst auf die Facebook Gruppe des Campsites deiner Stadt geleitet. Klick den \"Gruppe beitreten\" Button um eine Beitrittsanfrage zu stellen. Jemand aus der Gruppe sollte dich in kürzester Zeit annehmen.", "http://forum.freecodecamp.org/t/free-code-camp-city-based-local-groups/19574" ] ] }, "it": { "title": "Unisciti ad un gruppo Free Code Camp nella tua città", "description": [ [ "https://i.imgur.com/XugIMb4.jpg", "Una foto di alcuni dei nostri camper riuniti in un bar locale.", "È possibile programmare insieme ad altri campers nella tua città aderendo ad un gruppo Free Code Camp vicino a te.", "" ], [ "https://i.imgur.com/fTFMjwf.gif", "Una gif che mostra come è possibile fare clic sul link qui sotto, e trovare la tua città nella lista dei gruppi locali.", "Trova la tua città in questa lista e cliccala. Verrai indirizzato alla sua pagina Facebook. Fai clic sul pulsante \" Entra nel gruppo \". Qualcuno del gruppo dovrebbe approvare a breve la tua richiesta. Se la tua città non è in questo elenco, scorri alla parte superiore di questo articolo wiki per le istruzioni su come iniziare un gruppo nella tua città. ", "http://forum.freecodecamp.org/t/free-code-camp-city-based-local-groups/19574" ] ] } } }, { "id": "58d9cc820ce2197370032a13", "title": "Become a Supporter", "description": [ [ "", "", "freeCodeCamp is a small nonprofit with a big mission: to help you improve your coding skills and expand your career. Help us pay for servers and other costs. Set up a monthly donation you can afford.", "https://donate.freecodecamp.org" ] ], "challengeSeed": [], "tests": [], "type": "Waypoint", "challengeType": 7 }, { "id": "bad87fee1348bd9aedf08817", "title": "Make Dead Links Using the Hash Symbol", "description": [ "Sometimes you want to add a elements to your website before you know where they will link.", "This is also handy when you're changing the behavior of a link using JavaScript, which we'll learn about later.", "
", "The current value of the href attribute is a link that points to \"http://freecatphotoapp.com\". Replace the href attribute value with a #, also known as a hash symbol, to create a dead link.", "For example: href=\"#\"" ], "challengeSeed": [ "

CatPhotoApp

", "
", "

Click here to view more cat photos.

", " ", " \"A", " ", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

", "
" ], "tests": [ "assert($(\"a\").attr(\"href\") === \"#\", 'message: Your a element should be a dead link with the value of the href attribute set to \"#\".');" ], "type": "waypoint", "challengeType": 0, "translations": { "de": { "title": "Erstelle tote Links mit dem Hash Symbol", "description": [ "Manchmal wirst du a Elemente zu deiner Website hinzufügen möchten, ohne dass du das Ziel des Links kennst.", "Das ist auch nützlich, wenn du die Funktion eines Links mit jQuery verändern willst. Das werden wir später noch behandeln.", "
", "Ersetze den Inhalt des href Attributs deines a Elements mit einem #, auch bekannt als Hash Symbol, um einen toten Link zu erzeugen." ] }, "es": { "title": "Haz vínculos muertos utilizando el símbolo de numero", "description": [ "A veces quieres agregar elementos a a tu sitio web antes de saber qué enlazarán.", "Esto también es útil cuando estás cambiando el comportamiento de un enlace usando jQuery, lo cual aprenderemos más adelante.", "
", "Reemplaza el atributo href de tu elemento a con un #, también conocido como un símbolo de número o de hash, para convertirlo en un vínculo muerto." ] }, "pt-br": { "title": "Crie links mortos com hashtags", "description": [ "Às vezes você vai querer adicionar elementos a ao seu site antes de saber para onde eles vão linkar.", "Isso também é útil para quando você está mudando o comportamento de um link usando jQuery, que nós vamos aprender mais tarde.", "
", "O valor atual do atributo href é \"http://freecatphotoapp.com\". Substitua esse valor por #, também conhecido como hashtag, para criar um link morto." ] }, "ru": { "title": "Создайте мёртвые ссылки используя хэш-символ", "description": [ "Иногда вам нужно добавить элементы a к вашему сайту до того, как вы знаете куда будут вести ссылки.", "Также это может оказаться полезно, когда вы меняете поведение ссылки используя jQuery, что мы изучим позже.", "
", "Замените значение атрибута href вашего элемента a на #, известное как хэш-символ, для превращения элемента в мёртвую ссылку." ] } } }, { "id": "bad87fee1348bd9aedf08820", "title": "Turn an Image into a Link", "description": [ "You can make elements into links by nesting them within an a element.", "Nest your image within an a element. Here's an example:", "<a href=\"#\"><img src=\"https://bit.ly/fcc-running-cats\" alt=\"Three kittens running towards the camera.\"></a>", "Remember to use # as your a element's href property in order to turn it into a dead link.", "
", "Place the existing image element within an anchor element.", "Once you've done this, hover over your image with your cursor. Your cursor's normal pointer should become the link clicking pointer. The photo is now a link." ], "challengeSeed": [ "

CatPhotoApp

", "
", "

Click here to view more cat photos.

", " ", " \"A", " ", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

", "
" ], "tests": [ "assert($(\"a\").children(\"img\").length > 0, 'message: Nest the existing img element within an a element.');", "assert(new RegExp(\"#\").test($(\"a\").children(\"img\").parent().attr(\"href\")), 'message: Your a element should be a dead link with a href attribute set to #.');", "assert(code.match(/<\\/a>/g) && code.match(//g).length === code.match(/a elements has a closing tag.');" ], "type": "waypoint", "challengeType": 0, "translations": { "de": { "title": "Verlinke ein Bild", "description": [ "Du kannst jedes Element in einen Link verwandeln, indem du es mit einem a Element umschließt.", "
", "Umschließe dein Bild mit einem a Element. Hier ist ein Beispiel:", "<a href=\"#\"><img src=\"https://bit.ly/fcc-running-cats\"></a>", "Vergewissere dich, dass du ein # innerhalb des href Attributs des a Elements nutzt, um daraus einen toten Link zu machen.", "Sobald du das gemacht hast, kannst du mit der Maus über dein Bild fahren. Der normale Mauszeiger sollte nun zu einer Hand für Links werden. Das Bild ist jetzt ein Link." ] }, "es": { "title": "Convierte una imagen en un vínculo", "description": [ "Puedes convertir elementos en enlaces al anidarlos dentro de un elemento a.", "
", "Anida tu imagen dentro de un elemento a. He aquí un ejemplo: ", "<a href=\"#\"><img src=\"https://bit.ly/fcc-running-cats\"/></a>", "Recuerda usar # como atributo href de tu elemento a con el fin de convertirlo en un vínculo muerto.", "Una vez hayas hecho esto, coloca el cursor sobre tu imagen. El puntero normal de tu cursor debería convertirse en el puntero de enlace. La foto es ahora un vínculo ." ] }, "pt-br": { "title": "Transforme uma imagem em um link", "description": [ "Você pode transformar elementos em links aninhando-os a um elemento a.", "Aninhe sua imagem a um elemento a. Aqui está um exemplo:", "<a href=\"#\"><img src=\"https://bit.ly/fcc-running-cats\" alt=\"Três gatinhos correndo em direção à câmera.\"></a>", "Lembre-se de usar # no atributo href do seu elemento a para que o link esteja morto.", "
", "Coloque a imagem existente dentro de um elemento âncora.", "Depois de fazer isso, coloque o cursor do mouse sobre sua imagem. O seu cursor normal deve virar um cursor de clique. A foto agora é um link." ] }, "ru": { "title": "Превратите изображение в ссылку", "description": [ "Вы можете превратить элементы в ссылки путём их вложения внутрь элементов a.", "
", "Вложите ваше изображение в элемент a. Вот пример:", "<a href=\"#\"><img src=\"https://bit.ly/fcc-running-cats\"></a>", "Не забывайте использовать # в качестве значения атрибута href вашего элемента a для превращения ссылки в мёртвую.", "Как только вы это сделаете, наведите курсор мыши на ваше изображение. При этом курсор должен изменить вид с обычного на используемый при наведении на ссылки. Ваше фото теперь является ссылкой." ] } } }, { "id": "bad87fee1348bd9aedf08827", "title": "Create a Bulleted Unordered List", "description": [ "HTML has a special element for creating unordered lists, or bullet point style lists.", "Unordered lists start with an opening <ul> element, followed by any number of <li> elements. Finally, unordered lists close with a </ul>", "For example: ", "
<ul>
  <li>milk</li>
  <li>cheese</li>
</ul>
", "would create a bullet point style list of \"milk\" and \"cheese\".", "
", "Remove the last two p elements and create an unordered list of three things that cats love at the bottom of the page." ], "challengeSeed": [ "

CatPhotoApp

", "
", "

Click here to view more cat photos.

", " ", " \"A", " ", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

", "
" ], "tests": [ "assert($(\"ul\").length > 0, 'message: Create a ul element.');", "assert($(\"ul li\").length > 2, 'message: You should have three li elements within your ul element.');", "assert(code.match(/<\\/ul>/gi) && code.match(/