mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2025-12-19 18:18:27 -05:00
fix(curriculum): remove boilerplate steps 1-4 in cat blog page (#63717)
This commit is contained in:
@@ -1,58 +0,0 @@
|
||||
---
|
||||
id: 669aff9f5488f1bea056416d
|
||||
title: Step 1
|
||||
challengeType: 0
|
||||
dashedName: step-1
|
||||
demoType: onLoad
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this workshop, you will practice working with semantic HTML by building a blog page dedicated to Mr. Whiskers the cat.
|
||||
|
||||
To begin the project, add the `<!DOCTYPE html>`, and an `html` element with a `lang` attribute of `en`.
|
||||
|
||||
Remember that you learned how to build a basic HTML boilerplate like this in the previous module.
|
||||
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<!--all other elements go here-->
|
||||
</html>
|
||||
```
|
||||
|
||||
# --hints--
|
||||
|
||||
You should have the `<!DOCTYPE html>`.
|
||||
|
||||
```js
|
||||
assert.match(code, /<!DOCTYPE\s+html>/i);
|
||||
```
|
||||
|
||||
You should have an opening `html` tag with the language set to english.
|
||||
|
||||
```js
|
||||
assert.match(code, /<html\s+lang\s*=\s*('|")en\1\s*>/gi);
|
||||
```
|
||||
|
||||
You should have a closing `html` tag.
|
||||
|
||||
```js
|
||||
assert.match(code, /<\/html>/i);
|
||||
```
|
||||
|
||||
Your `DOCTYPE` should come before the `html` element.
|
||||
|
||||
```js
|
||||
assert.match(code, /<!DOCTYPE\s+html>[.\n\s]*<html\s+lang\s*=\s*('|")en\1\s*>/im)
|
||||
```
|
||||
|
||||
# --seed--
|
||||
|
||||
## --seed-contents--
|
||||
|
||||
```html
|
||||
--fcc-editable-region--
|
||||
|
||||
--fcc-editable-region--
|
||||
```
|
||||
@@ -1,43 +0,0 @@
|
||||
---
|
||||
id: 669fc7e141e4703748c558bf
|
||||
title: Step 2
|
||||
challengeType: 0
|
||||
dashedName: step-2
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
Inside the `html` element, add a `head` element.
|
||||
|
||||
# --hints--
|
||||
|
||||
You should have an opening `head` tag.
|
||||
|
||||
```js
|
||||
assert.match(code, /<head>/i);
|
||||
```
|
||||
|
||||
You should have a closing `head` tag.
|
||||
|
||||
```js
|
||||
assert.match(code, /<\/head>/i);
|
||||
```
|
||||
|
||||
Your opening `head` tag should come before the closing `head` tag.
|
||||
|
||||
```js
|
||||
assert.match(code, /<head>[.\n\s]*<\/head>/im)
|
||||
```
|
||||
|
||||
# --seed--
|
||||
|
||||
## --seed-contents--
|
||||
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
--fcc-editable-region--
|
||||
|
||||
--fcc-editable-region--
|
||||
</html>
|
||||
```
|
||||
@@ -1,87 +0,0 @@
|
||||
---
|
||||
id: 669fc938d38e6e38ace9251e
|
||||
title: Step 3
|
||||
challengeType: 0
|
||||
dashedName: step-3
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
Inside your `head` element, nest a `meta` element with the `charset` attribute set to the value `"UTF-8"`.
|
||||
|
||||
Below that `meta` element, add a `title` element.
|
||||
|
||||
The `title` element's text should be `Mr. Whiskers' Blog`.
|
||||
|
||||
# --hints--
|
||||
|
||||
You should have a `meta` element.
|
||||
|
||||
```js
|
||||
assert.isNotNull(document.querySelector("meta"));
|
||||
```
|
||||
|
||||
The `meta` element is a void element, it should not have an end tag `</meta>`.
|
||||
|
||||
```js
|
||||
assert.notMatch(code, /<\/meta>/i);
|
||||
```
|
||||
|
||||
Your `meta` tag should have a `charset` attribute.
|
||||
|
||||
```js
|
||||
assert.match(code, /<meta\s+charset\s*/i);
|
||||
```
|
||||
|
||||
Your `charset` attribute should have a value of `"UTF-8"`.
|
||||
|
||||
```js
|
||||
assert.match(code, /charset\s*=\s*('|")UTF-8\1/i);
|
||||
```
|
||||
|
||||
Your `meta` element should be nested inside your `head` element.
|
||||
|
||||
```js
|
||||
const meta = document.querySelector('head > meta');
|
||||
assert.strictEqual(meta?.parentElement?.tagName, 'HEAD');
|
||||
```
|
||||
|
||||
You should have an opening `title` tag.
|
||||
|
||||
```js
|
||||
assert.match(code, /<title>/i);
|
||||
```
|
||||
|
||||
You should have a closing `title` tag.
|
||||
|
||||
```js
|
||||
assert.match(code, /<\/title>/i);
|
||||
```
|
||||
|
||||
Your `title` element should be nested in your `head` element.
|
||||
|
||||
```js
|
||||
assert.match(code, /<head>.*\s*<title>.*<\/title>.*\s*<\/head>/si);
|
||||
```
|
||||
|
||||
Your `title` element should have the text `Mr. Whiskers' Blog`. You may need to check your spelling.
|
||||
|
||||
```js
|
||||
const titleText = document.querySelector('title')?.innerText.trim();
|
||||
assert.strictEqual(titleText, "Mr. Whiskers' Blog");
|
||||
```
|
||||
|
||||
# --seed--
|
||||
|
||||
## --seed-contents--
|
||||
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
--fcc-editable-region--
|
||||
<head>
|
||||
|
||||
</head>
|
||||
--fcc-editable-region--
|
||||
</html>
|
||||
```
|
||||
@@ -1,54 +0,0 @@
|
||||
---
|
||||
id: 669fcb06c3034a39f5431a38
|
||||
title: Step 4
|
||||
challengeType: 0
|
||||
dashedName: step-4
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
To prepare creating some actual content, add a `body` element below the `head` element.
|
||||
|
||||
# --hints--
|
||||
|
||||
You should have an opening `<body>` tag.
|
||||
|
||||
```js
|
||||
assert.match(code, /<body>/i);
|
||||
```
|
||||
|
||||
You should have a closing `</body>` tag.
|
||||
|
||||
```js
|
||||
assert.match(code, /<\/body>/i);
|
||||
```
|
||||
|
||||
You should not change your `head` element. Make sure you did not delete your closing tag.
|
||||
|
||||
```js
|
||||
assert.match(code, /<head>/i);
|
||||
assert.match(code, /<\/head>/i);
|
||||
```
|
||||
|
||||
Your `body` element should come after your `head` element.
|
||||
|
||||
```js
|
||||
assert.match(code, /<\/head>[.\n\s]*<body>/im)
|
||||
```
|
||||
|
||||
# --seed--
|
||||
|
||||
## --seed-contents--
|
||||
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
--fcc-editable-region--
|
||||
<head>
|
||||
<title>Mr. Whiskers' Blog</title>
|
||||
<meta charset="UTF-8" />
|
||||
</head>
|
||||
|
||||
--fcc-editable-region--
|
||||
</html>
|
||||
```
|
||||
@@ -1,12 +1,14 @@
|
||||
---
|
||||
id: 669fcb5106eeb13ab7afcd09
|
||||
title: Step 5
|
||||
title: Step 1
|
||||
challengeType: 0
|
||||
dashedName: step-5
|
||||
dashedName: step-1
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this workshop, you will practice working with semantic HTML by building a blog page dedicated to Mr. Whiskers the cat.
|
||||
|
||||
The first section you will build out is the page <dfn>header</dfn>.
|
||||
|
||||
The `header` element is used to represent introductory content like page navigation and other introductory information.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 669fd003cb89ee3c2402e041
|
||||
title: Step 7
|
||||
title: Step 3
|
||||
challengeType: 0
|
||||
dashedName: step-7
|
||||
dashedName: step-3
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 669fd6fd12918e3de87854d4
|
||||
title: Step 8
|
||||
title: Step 4
|
||||
challengeType: 0
|
||||
dashedName: step-8
|
||||
dashedName: step-4
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 669fdc11c9b0263fe0814a7a
|
||||
title: Step 9
|
||||
title: Step 5
|
||||
challengeType: 0
|
||||
dashedName: step-9
|
||||
dashedName: step-5
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 669fdd3965f36f40af9615e5
|
||||
title: Step 10
|
||||
title: Step 6
|
||||
challengeType: 0
|
||||
dashedName: step-10
|
||||
dashedName: step-6
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 669fde2081f65141ad703fe4
|
||||
title: Step 11
|
||||
title: Step 7
|
||||
challengeType: 0
|
||||
dashedName: step-11
|
||||
dashedName: step-7
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 669fdfc9a5e3da42d2376609
|
||||
title: Step 13
|
||||
title: Step 9
|
||||
challengeType: 0
|
||||
dashedName: step-13
|
||||
dashedName: step-9
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 66a334a1a7cca6354999f9bf
|
||||
title: Step 14
|
||||
title: Step 10
|
||||
challengeType: 0
|
||||
dashedName: step-14
|
||||
dashedName: step-10
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 66a335e5888ffb367633200a
|
||||
title: Step 15
|
||||
title: Step 11
|
||||
challengeType: 0
|
||||
dashedName: step-15
|
||||
dashedName: step-11
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 66a338be7f1dee383a0e0ecb
|
||||
title: Step 16
|
||||
title: Step 12
|
||||
challengeType: 0
|
||||
dashedName: step-16
|
||||
dashedName: step-12
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 66a33a00514b40393a983c24
|
||||
title: Step 17
|
||||
title: Step 13
|
||||
challengeType: 0
|
||||
dashedName: step-17
|
||||
dashedName: step-13
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 66a33ac0ae8e3139fb34afc3
|
||||
title: Step 18
|
||||
title: Step 14
|
||||
challengeType: 0
|
||||
dashedName: step-18
|
||||
dashedName: step-14
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 66a33bd56208583aeb4837c4
|
||||
title: Step 19
|
||||
title: Step 15
|
||||
challengeType: 0
|
||||
dashedName: step-19
|
||||
dashedName: step-15
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 66a33c449ffdf93b90c5821e
|
||||
title: Step 20
|
||||
title: Step 16
|
||||
challengeType: 0
|
||||
dashedName: step-20
|
||||
dashedName: step-16
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 66a33e9bd3aa213cd23d9c57
|
||||
title: Step 21
|
||||
title: Step 17
|
||||
challengeType: 0
|
||||
dashedName: step-21
|
||||
dashedName: step-17
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 66a49f685961e997e337cab1
|
||||
title: Step 6
|
||||
title: Step 2
|
||||
challengeType: 0
|
||||
dashedName: step-6
|
||||
dashedName: step-2
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 66a7e72adf226c02626715a3
|
||||
title: Step 12
|
||||
title: Step 8
|
||||
challengeType: 0
|
||||
dashedName: step-12
|
||||
dashedName: step-8
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 67d1edfde28a4133ba64ad26
|
||||
title: Step 22
|
||||
title: Step 18
|
||||
challengeType: 0
|
||||
dashedName: step-22
|
||||
dashedName: step-18
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
id: 67d1f348f2cc9eab9d0b4ff4
|
||||
title: Step 23
|
||||
title: Step 19
|
||||
challengeType: 0
|
||||
dashedName: step-23
|
||||
dashedName: step-19
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
@@ -7,98 +7,25 @@
|
||||
"hasEditableBoundaries": true,
|
||||
"dashedName": "workshop-blog-page",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "669aff9f5488f1bea056416d",
|
||||
"title": "Step 1"
|
||||
},
|
||||
{
|
||||
"id": "669fc7e141e4703748c558bf",
|
||||
"title": "Step 2"
|
||||
},
|
||||
{
|
||||
"id": "669fc938d38e6e38ace9251e",
|
||||
"title": "Step 3"
|
||||
},
|
||||
{
|
||||
"id": "669fcb06c3034a39f5431a38",
|
||||
"title": "Step 4"
|
||||
},
|
||||
{
|
||||
"id": "669fcb5106eeb13ab7afcd09",
|
||||
"title": "Step 5"
|
||||
},
|
||||
{
|
||||
"id": "66a49f685961e997e337cab1",
|
||||
"title": "Step 6"
|
||||
},
|
||||
{
|
||||
"id": "669fd003cb89ee3c2402e041",
|
||||
"title": "Step 7"
|
||||
},
|
||||
{
|
||||
"id": "669fd6fd12918e3de87854d4",
|
||||
"title": "Step 8"
|
||||
},
|
||||
{
|
||||
"id": "669fdc11c9b0263fe0814a7a",
|
||||
"title": "Step 9"
|
||||
},
|
||||
{
|
||||
"id": "669fdd3965f36f40af9615e5",
|
||||
"title": "Step 10"
|
||||
},
|
||||
{
|
||||
"id": "669fde2081f65141ad703fe4",
|
||||
"title": "Step 11"
|
||||
},
|
||||
{
|
||||
"id": "66a7e72adf226c02626715a3",
|
||||
"title": "Step 12"
|
||||
},
|
||||
{
|
||||
"id": "669fdfc9a5e3da42d2376609",
|
||||
"title": "Step 13"
|
||||
},
|
||||
{
|
||||
"id": "66a334a1a7cca6354999f9bf",
|
||||
"title": "Step 14"
|
||||
},
|
||||
{
|
||||
"id": "66a335e5888ffb367633200a",
|
||||
"title": "Step 15"
|
||||
},
|
||||
{
|
||||
"id": "66a338be7f1dee383a0e0ecb",
|
||||
"title": "Step 16"
|
||||
},
|
||||
{
|
||||
"id": "66a33a00514b40393a983c24",
|
||||
"title": "Step 17"
|
||||
},
|
||||
{
|
||||
"id": "66a33ac0ae8e3139fb34afc3",
|
||||
"title": "Step 18"
|
||||
},
|
||||
{
|
||||
"id": "66a33bd56208583aeb4837c4",
|
||||
"title": "Step 19"
|
||||
},
|
||||
{
|
||||
"id": "66a33c449ffdf93b90c5821e",
|
||||
"title": "Step 20"
|
||||
},
|
||||
{
|
||||
"id": "66a33e9bd3aa213cd23d9c57",
|
||||
"title": "Step 21"
|
||||
},
|
||||
{
|
||||
"id": "67d1edfde28a4133ba64ad26",
|
||||
"title": "Step 22"
|
||||
},
|
||||
{
|
||||
"id": "67d1f348f2cc9eab9d0b4ff4",
|
||||
"title": "Step 23"
|
||||
}
|
||||
{ "id": "669fcb5106eeb13ab7afcd09", "title": "Step 1" },
|
||||
{ "id": "66a49f685961e997e337cab1", "title": "Step 2" },
|
||||
{ "id": "669fd003cb89ee3c2402e041", "title": "Step 3" },
|
||||
{ "id": "669fd6fd12918e3de87854d4", "title": "Step 4" },
|
||||
{ "id": "669fdc11c9b0263fe0814a7a", "title": "Step 5" },
|
||||
{ "id": "669fdd3965f36f40af9615e5", "title": "Step 6" },
|
||||
{ "id": "669fde2081f65141ad703fe4", "title": "Step 7" },
|
||||
{ "id": "66a7e72adf226c02626715a3", "title": "Step 8" },
|
||||
{ "id": "669fdfc9a5e3da42d2376609", "title": "Step 9" },
|
||||
{ "id": "66a334a1a7cca6354999f9bf", "title": "Step 10" },
|
||||
{ "id": "66a335e5888ffb367633200a", "title": "Step 11" },
|
||||
{ "id": "66a338be7f1dee383a0e0ecb", "title": "Step 12" },
|
||||
{ "id": "66a33a00514b40393a983c24", "title": "Step 13" },
|
||||
{ "id": "66a33ac0ae8e3139fb34afc3", "title": "Step 14" },
|
||||
{ "id": "66a33bd56208583aeb4837c4", "title": "Step 15" },
|
||||
{ "id": "66a33c449ffdf93b90c5821e", "title": "Step 16" },
|
||||
{ "id": "66a33e9bd3aa213cd23d9c57", "title": "Step 17" },
|
||||
{ "id": "67d1edfde28a4133ba64ad26", "title": "Step 18" },
|
||||
{ "id": "67d1f348f2cc9eab9d0b4ff4", "title": "Step 19" }
|
||||
],
|
||||
"helpCategory": "HTML-CSS"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user