fix(curriculum): remove boilerplate steps 1-3 from hotel feedback form (#63716)

This commit is contained in:
Diem-Trang Pham 2025-11-12 12:41:38 -06:00 committed by GitHub
parent e431559081
commit 628484c5db
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
37 changed files with 101 additions and 424 deletions

View File

@ -1,76 +0,0 @@
---
id: 66a8290a27c2c625e2355042
title: Step 1
challengeType: 0
dashedName: step-1
demoType: onLoad
---
# --description--
In this workshop, you will practice working with HTML forms by building a Hotel Feedback Form.
Start by adding the `<!DOCTYPE html>` followed by an `html` element with a `lang` attribute of `en`.
Inside your `html` element, add a `head` element.
# --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)
```
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)
```
Your `head` element should be inside the `html` element.
```js
assert.match(code, /<html\s+lang\s*=\s*('|")en\1\s*>[.\n\s]*<head>[.\n\s]*<\/head>[.\n\s]*<\/html>/im)
```
# --seed--
## --seed-contents--
```html
--fcc-editable-region--
--fcc-editable-region--
```

View File

@ -1,84 +0,0 @@
---
id: 66a833e88d08593618f22285
title: Step 2
challengeType: 0
dashedName: step-2
---
# --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 `Hotel Feedback Form`.
# --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
assert.match(code, /<head>.*\s*<meta.*charset.*>.*\s*<\/head>/si);
```
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 `Hotel Feedback Form`. You may need to check your spelling.
```js
const titleText = document.querySelector('title')?.innerText.trim();
assert.strictEqual(titleText, "Hotel Feedback Form");
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html lang="en">
--fcc-editable-region--
<head>
</head>
--fcc-editable-region--
</html>
```

View File

@ -1,54 +0,0 @@
---
id: 66a8347f97a33e36ffc81b9f
title: Step 3
challengeType: 0
dashedName: step-3
---
# --description--
To prepare to create 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>
<meta charset="UTF-8" />
<title>Hotel Feedback Form</title>
</head>
--fcc-editable-region--
</html>
```

View File

@ -1,12 +1,14 @@
---
id: 66a83601cd819e37f0dccd14
title: Step 4
title: Step 1
challengeType: 0
dashedName: step-4
dashedName: step-1
---
# --description--
In this workshop, you will practice working with HTML forms by building a Hotel Feedback Form.
For the introductory text, you will want to display the main title followed by a short note about leaving feedback.
Inside your `body` element, add a `header` element.

View File

@ -1,8 +1,8 @@
---
id: 66a8380d911e3f4270d5cadc
title: Step 5
title: Step 2
challengeType: 0
dashedName: step-5
dashedName: step-2
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a83bdcf425e7446900b7c4
title: Step 6
title: Step 3
challengeType: 0
dashedName: step-6
dashedName: step-3
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a83e5e491625454b6f62c3
title: Step 7
title: Step 4
challengeType: 0
dashedName: step-7
dashedName: step-4
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a83fec026a7a4631e084d2
title: Step 8
title: Step 5
challengeType: 0
dashedName: step-8
dashedName: step-5
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a84111965a0c46df6bbd0a
title: Step 9
title: Step 6
challengeType: 0
dashedName: step-9
dashedName: step-6
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a930b20f589b6664c51cb0
title: Step 10
title: Step 7
challengeType: 0
dashedName: step-10
dashedName: step-7
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a93730719e1f68410cce54
title: Step 11
title: Step 8
challengeType: 0
dashedName: step-11
dashedName: step-8
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a937e74920ba68ebe5e86d
title: Step 12
title: Step 9
challengeType: 0
dashedName: step-12
dashedName: step-9
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a93bbe65a26169dbf3bc39
title: Step 13
title: Step 10
challengeType: 0
dashedName: step-13
dashedName: step-10
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a93c95bc58e26a8fe95818
title: Step 14
title: Step 11
challengeType: 0
dashedName: step-14
dashedName: step-11
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a9401c9d660d6bb15993e2
title: Step 16
title: Step 13
challengeType: 0
dashedName: step-16
dashedName: step-13
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a9419e2d18476c645ce693
title: Step 17
title: Step 14
challengeType: 0
dashedName: step-17
dashedName: step-14
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a94ea5df66236ebed260e8
title: Step 18
title: Step 15
challengeType: 0
dashedName: step-18
dashedName: step-15
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a9521bc70162712caf118d
title: Step 19
title: Step 16
challengeType: 0
dashedName: step-19
dashedName: step-16
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a954b2bcddba72076c1857
title: Step 20
title: Step 17
challengeType: 0
dashedName: step-20
dashedName: step-17
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a9577022877d72d8f43b4f
title: Step 21
title: Step 18
challengeType: 0
dashedName: step-21
dashedName: step-18
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a95d0eff8168747805f1f3
title: Step 22
title: Step 19
challengeType: 0
dashedName: step-22
dashedName: step-19
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a96127422411756204bc1b
title: Step 23
title: Step 20
challengeType: 0
dashedName: step-23
dashedName: step-20
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a962954f4e0d76223b37ed
title: Step 24
title: Step 21
challengeType: 0
dashedName: step-24
dashedName: step-21
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a9689b1bf24b7750898a1b
title: Step 26
title: Step 23
challengeType: 0
dashedName: step-26
dashedName: step-23
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a969951120be7818d8ee49
title: Step 27
title: Step 24
challengeType: 0
dashedName: step-27
dashedName: step-24
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a96b01f33ef178dfca9e42
title: Step 28
title: Step 25
challengeType: 0
dashedName: step-28
dashedName: step-25
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a972137acd1179fa3fe8a0
title: Step 29
title: Step 26
challengeType: 0
dashedName: step-29
dashedName: step-26
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a975260401487af226b290
title: Step 30
title: Step 27
challengeType: 0
dashedName: step-30
dashedName: step-27
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a975c259525b7bc2d5c776
title: Step 31
title: Step 28
challengeType: 0
dashedName: step-31
dashedName: step-28
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a97ca8c4cbae7d0bb6e0ad
title: Step 32
title: Step 29
challengeType: 0
dashedName: step-32
dashedName: step-29
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a97f40ddd40d7deb0618b7
title: Step 33
title: Step 30
challengeType: 0
dashedName: step-33
dashedName: step-30
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a9824ac5d9f77ec304969f
title: Step 34
title: Step 31
challengeType: 0
dashedName: step-34
dashedName: step-31
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a9836b339fed7f9a8fe35a
title: Step 35
title: Step 32
challengeType: 0
dashedName: step-35
dashedName: step-32
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66a9843525e9fa8046d709b7
title: Step 36
title: Step 33
challengeType: 0
dashedName: step-36
dashedName: step-33
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 66ad24c7eb8c121000c603a6
title: Step 25
title: Step 22
challengeType: 0
dashedName: step-25
dashedName: step-22
---
# --description--

View File

@ -1,8 +1,8 @@
---
id: 67a51d3a8a6fe123b77b0c6e
title: Step 15
title: Step 12
challengeType: 0
dashedName: step-15
dashedName: step-12
---
# --description--

View File

@ -7,150 +7,39 @@
"hasEditableBoundaries": true,
"dashedName": "workshop-hotel-feedback-form",
"challengeOrder": [
{
"id": "66a8290a27c2c625e2355042",
"title": "Step 1"
},
{
"id": "66a833e88d08593618f22285",
"title": "Step 2"
},
{
"id": "66a8347f97a33e36ffc81b9f",
"title": "Step 3"
},
{
"id": "66a83601cd819e37f0dccd14",
"title": "Step 4"
},
{
"id": "66a8380d911e3f4270d5cadc",
"title": "Step 5"
},
{
"id": "66a83bdcf425e7446900b7c4",
"title": "Step 6"
},
{
"id": "66a83e5e491625454b6f62c3",
"title": "Step 7"
},
{
"id": "66a83fec026a7a4631e084d2",
"title": "Step 8"
},
{
"id": "66a84111965a0c46df6bbd0a",
"title": "Step 9"
},
{
"id": "66a930b20f589b6664c51cb0",
"title": "Step 10"
},
{
"id": "66a93730719e1f68410cce54",
"title": "Step 11"
},
{
"id": "66a937e74920ba68ebe5e86d",
"title": "Step 12"
},
{
"id": "66a93bbe65a26169dbf3bc39",
"title": "Step 13"
},
{
"id": "66a93c95bc58e26a8fe95818",
"title": "Step 14"
},
{
"id": "67a51d3a8a6fe123b77b0c6e",
"title": "Step 15"
},
{
"id": "66a9401c9d660d6bb15993e2",
"title": "Step 16"
},
{
"id": "66a9419e2d18476c645ce693",
"title": "Step 17"
},
{
"id": "66a94ea5df66236ebed260e8",
"title": "Step 18"
},
{
"id": "66a9521bc70162712caf118d",
"title": "Step 19"
},
{
"id": "66a954b2bcddba72076c1857",
"title": "Step 20"
},
{
"id": "66a9577022877d72d8f43b4f",
"title": "Step 21"
},
{
"id": "66a95d0eff8168747805f1f3",
"title": "Step 22"
},
{
"id": "66a96127422411756204bc1b",
"title": "Step 23"
},
{
"id": "66a962954f4e0d76223b37ed",
"title": "Step 24"
},
{
"id": "66ad24c7eb8c121000c603a6",
"title": "Step 25"
},
{
"id": "66a9689b1bf24b7750898a1b",
"title": "Step 26"
},
{
"id": "66a969951120be7818d8ee49",
"title": "Step 27"
},
{
"id": "66a96b01f33ef178dfca9e42",
"title": "Step 28"
},
{
"id": "66a972137acd1179fa3fe8a0",
"title": "Step 29"
},
{
"id": "66a975260401487af226b290",
"title": "Step 30"
},
{
"id": "66a975c259525b7bc2d5c776",
"title": "Step 31"
},
{
"id": "66a97ca8c4cbae7d0bb6e0ad",
"title": "Step 32"
},
{
"id": "66a97f40ddd40d7deb0618b7",
"title": "Step 33"
},
{
"id": "66a9824ac5d9f77ec304969f",
"title": "Step 34"
},
{
"id": "66a9836b339fed7f9a8fe35a",
"title": "Step 35"
},
{
"id": "66a9843525e9fa8046d709b7",
"title": "Step 36"
}
{ "id": "66a83601cd819e37f0dccd14", "title": "Step 1" },
{ "id": "66a8380d911e3f4270d5cadc", "title": "Step 2" },
{ "id": "66a83bdcf425e7446900b7c4", "title": "Step 3" },
{ "id": "66a83e5e491625454b6f62c3", "title": "Step 4" },
{ "id": "66a83fec026a7a4631e084d2", "title": "Step 5" },
{ "id": "66a84111965a0c46df6bbd0a", "title": "Step 6" },
{ "id": "66a930b20f589b6664c51cb0", "title": "Step 7" },
{ "id": "66a93730719e1f68410cce54", "title": "Step 8" },
{ "id": "66a937e74920ba68ebe5e86d", "title": "Step 9" },
{ "id": "66a93bbe65a26169dbf3bc39", "title": "Step 10" },
{ "id": "66a93c95bc58e26a8fe95818", "title": "Step 11" },
{ "id": "67a51d3a8a6fe123b77b0c6e", "title": "Step 12" },
{ "id": "66a9401c9d660d6bb15993e2", "title": "Step 13" },
{ "id": "66a9419e2d18476c645ce693", "title": "Step 14" },
{ "id": "66a94ea5df66236ebed260e8", "title": "Step 15" },
{ "id": "66a9521bc70162712caf118d", "title": "Step 16" },
{ "id": "66a954b2bcddba72076c1857", "title": "Step 17" },
{ "id": "66a9577022877d72d8f43b4f", "title": "Step 18" },
{ "id": "66a95d0eff8168747805f1f3", "title": "Step 19" },
{ "id": "66a96127422411756204bc1b", "title": "Step 20" },
{ "id": "66a962954f4e0d76223b37ed", "title": "Step 21" },
{ "id": "66ad24c7eb8c121000c603a6", "title": "Step 22" },
{ "id": "66a9689b1bf24b7750898a1b", "title": "Step 23" },
{ "id": "66a969951120be7818d8ee49", "title": "Step 24" },
{ "id": "66a96b01f33ef178dfca9e42", "title": "Step 25" },
{ "id": "66a972137acd1179fa3fe8a0", "title": "Step 26" },
{ "id": "66a975260401487af226b290", "title": "Step 27" },
{ "id": "66a975c259525b7bc2d5c776", "title": "Step 28" },
{ "id": "66a97ca8c4cbae7d0bb6e0ad", "title": "Step 29" },
{ "id": "66a97f40ddd40d7deb0618b7", "title": "Step 30" },
{ "id": "66a9824ac5d9f77ec304969f", "title": "Step 31" },
{ "id": "66a9836b339fed7f9a8fe35a", "title": "Step 32" },
{ "id": "66a9843525e9fa8046d709b7", "title": "Step 33" }
],
"helpCategory": "HTML-CSS"
}