* feat: use legacy flag chore: reorder challenges fix: linter revert: server change feat: unblock new editor fix: proper order fix: 0-based order fix: broke the order feat: move tribute certification to its own block feat: split the old projects block into 4 fix: put all blocks in order chore: add intro text refactor: use block, not blockName in query fix: project progress indicator * fix: reorder new challenges/certs * fix: reorder legacy challenges * fix: reintroduce legacy certs * feat: add showNewCurriculum flag to env * chore: forgot sample.env * feat: use feature flag for display * fix: rename meta + dirs to match new blocks * fix: add new blocks to help-category-map * fix: update completion-modal for new GQL schema * test: duplicate title/id errors -> warnings * fix: update completion-modal to new GQL schema Mk2 * chore: re-order metas (again) * fix: revert super-block-intro changes The intro needs to show both legacy and new content. We need to decide which pages are created, rather than than what a page shows when rendered. * feat: move upcoming curriculum into own superblock * fix: handle one certification with two superBlocks * fix: remove duplicated intros * fix: remove duplicate projects from /settings * fix: drop 'two' from Responsive Web Design Two * chore: rename slug suffix from two to v2 * feat: control display of new curriculum * feat: control project paths shown on /settings * fix: use new project order for /settings This does mean that /settings will change before the release, but I don't think it's serious. All the projects are there, just not in the legacy order. * fix: claim/show cert button * chore: remove isLegacy Since we have legacy superblocks, we don't currently need individual blocks to be legacy * test: fix utils.test * fix: verifyCanClaim needs certification If Shaun removes the cert claim cards, maybe we can remove this entirely * fix: add hasEditableBoundaries flags where needed * chore: remove isUpcomingChange * chore: v2 -> 22 Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
80 lines
2.1 KiB
Markdown
80 lines
2.1 KiB
Markdown
---
|
||
id: 5dc24614f86c76b9248c6ebd
|
||
title: Step 10
|
||
challengeType: 0
|
||
dashedName: step-10
|
||
---
|
||
|
||
# --description--
|
||
|
||
You can link to another page with the anchor (`a`) element. For example, `<a href='https://freecodecamp.org'></a>` would link to `freecodecamp.org`.
|
||
|
||
Add an anchor element after the paragraph that links to `https://freecatphotoapp.com`. At this point, the link won’t show up in the preview.
|
||
|
||
# --hints--
|
||
|
||
Your anchor (`a`) element should have an opening tag. Opening tags have this syntax: `<elementName>`.
|
||
|
||
```js
|
||
assert(document.querySelector('a'));
|
||
```
|
||
|
||
Your anchor (`a`) element should have a closing tag. Closing tags have a `/` just after the `<` character.
|
||
|
||
```js
|
||
assert(code.match(/<\/a\>/));
|
||
```
|
||
|
||
Your anchor (`a`) element should be below the `p` element. You have them in the wrong order.
|
||
|
||
```js
|
||
const collection = [...document.querySelectorAll('a, p')].map(
|
||
(node) => node.nodeName
|
||
);
|
||
assert(collection.indexOf('P') < collection.indexOf('A'));
|
||
```
|
||
|
||
Your anchor (`a`) element does not have an `href` attribute. Check that there is a space after the opening tag's name and/or there are spaces before all attribute names.
|
||
|
||
```js
|
||
assert(document.querySelector('a').hasAttribute('href'));
|
||
```
|
||
|
||
Your anchor (`a`) element should link to `https://freecatphotoapp.com`. You have either omitted the URL or have a typo.
|
||
|
||
```js
|
||
assert(
|
||
document.querySelector('a').getAttribute('href') ===
|
||
'https://freecatphotoapp.com'
|
||
);
|
||
```
|
||
|
||
Although you have set the anchor ('a') element's `href` attribute to the correct link, it is recommended to always surround the value of an attribute with quotation marks.
|
||
|
||
```js
|
||
assert(
|
||
!/\<a\s+href\s*=\s*https:\/\/www.freecodecamp.org\/cat-photos/.test(code)
|
||
);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```html
|
||
<html>
|
||
<body>
|
||
<h1>CatPhotoApp</h1>
|
||
<main>
|
||
<h2>Cat Photos</h2>
|
||
<!-- TODO: Add link to cat photos -->
|
||
--fcc-editable-region--
|
||
<p>Click here to view more cat photos.</p>
|
||
--fcc-editable-region--
|
||
<img src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg" alt="A cute orange cat lying on its back.">
|
||
</main>
|
||
</body>
|
||
</html>
|
||
```
|
||
|