mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-04-30 16:01:14 -04:00
fix: use lowercase 'by' in title for consistency (#53208)
This commit is contained in:
@@ -46,7 +46,7 @@ Here are our twelve core certifications:
|
||||
- [Learn CSS Flexbox by Building a Photo Gallery](https://www.freecodecamp.org/learn/2022/responsive-web-design/#learn-css-flexbox-by-building-a-photo-gallery)
|
||||
- [Learn Typography by Building a Nutrition Label](https://www.freecodecamp.org/learn/2022/responsive-web-design/#learn-typography-by-building-a-nutrition-label)
|
||||
- [Learn Accessibility by Building a Quiz](https://www.freecodecamp.org/learn/2022/responsive-web-design/#learn-accessibility-by-building-a-quiz)
|
||||
- [Learn More About CSS Pseudo Selectors By Building A Balance Sheet](https://www.freecodecamp.org/learn/2022/responsive-web-design/#learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet)
|
||||
- [Learn More About CSS Pseudo Selectors by Building A Balance Sheet](https://www.freecodecamp.org/learn/2022/responsive-web-design/#learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet)
|
||||
- [Learn Intermediate CSS by Building a Picasso Painting](https://www.freecodecamp.org/learn/2022/responsive-web-design/#learn-intermediate-css-by-building-a-picasso-painting)
|
||||
- [Learn Responsive Web Design by Building a Piano](https://www.freecodecamp.org/learn/2022/responsive-web-design/#learn-responsive-web-design-by-building-a-piano)
|
||||
- [Learn CSS Variables by Building a City Skyline](https://www.freecodecamp.org/learn/2022/responsive-web-design/#learn-css-variables-by-building-a-city-skyline)
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
]
|
||||
},
|
||||
"learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet": {
|
||||
"title": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet",
|
||||
"title": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet",
|
||||
"intro": [
|
||||
"You can use CSS pseudo selectors to change specific HTML elements.",
|
||||
"In this course, you'll build a balance sheet using pseudo selectors. You'll learn how to change the style of an element when you hover over it with your mouse, and trigger other events on your webpage."
|
||||
@@ -366,7 +366,7 @@
|
||||
]
|
||||
},
|
||||
"learn-modern-javascript-methods-by-building-football-team-cards": {
|
||||
"title": "Learn Modern JavaScript Methods By Building Football Team Cards",
|
||||
"title": "Learn Modern JavaScript Methods by Building Football Team Cards",
|
||||
"intro": [
|
||||
"One common aspect of building web applications: processing datasets, and then outputting information to the screen. In this sports team cards project, you'll learn how to work with DOM manipulation, object destructuring, event handling, and data filtering.",
|
||||
"This project will cover concepts like switch statements, default parameters, <code>Object.freeze()</code>, the <code>map()</code> method, and more."
|
||||
@@ -388,7 +388,7 @@
|
||||
]
|
||||
},
|
||||
"learn-fetch-and-promises-by-building-an-fcc-authors-page": {
|
||||
"title": "Learn Fetch and Promises By Building an fCC Authors Page",
|
||||
"title": "Learn Fetch and Promises by Building an fCC Authors Page",
|
||||
"intro": [
|
||||
"One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.",
|
||||
"This freeCodeCamp authors page project will show you how to use the fetch method, then dynamically update the DOM to display the fetched data.",
|
||||
@@ -767,7 +767,7 @@
|
||||
]
|
||||
},
|
||||
"learn-list-comprehension-by-building-a-case-converter-program": {
|
||||
"title": "Learn Python List Comprehension By Building a Case Converter Program",
|
||||
"title": "Learn Python List Comprehension by Building a Case Converter Program",
|
||||
"intro": [
|
||||
"List Comprehension is a way to construct a new Python list from an iterable types: lists, tuples, and strings. All without using a for loop or the `.append()` list method.",
|
||||
"In this project, you'll write a program that takes a string formatted in Camel Case or Pascal Case, then converts it into Snake Case.",
|
||||
|
||||
@@ -29944,7 +29944,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-1",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd5a93fd62bb35968adeab",
|
||||
"title": "Step 1"
|
||||
@@ -29956,7 +29956,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-2",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd6343fb42013d99bcd7f3",
|
||||
"title": "Step 2"
|
||||
@@ -29968,7 +29968,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-3",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd66c687e610436494c6f1",
|
||||
"title": "Step 3"
|
||||
@@ -29980,7 +29980,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-4",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd67a656743144844941cb",
|
||||
"title": "Step 4"
|
||||
@@ -29992,7 +29992,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-5",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd6ab779390f49148773bb",
|
||||
"title": "Step 5"
|
||||
@@ -30004,7 +30004,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-6",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd6b7c83dbf54a08cf0498",
|
||||
"title": "Step 6"
|
||||
@@ -30016,7 +30016,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-7",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd6cc9475a784b7776233e",
|
||||
"title": "Step 7"
|
||||
@@ -30028,7 +30028,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-8",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd70336ebb3e4f62ee81ba",
|
||||
"title": "Step 8"
|
||||
@@ -30040,7 +30040,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-9",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd719788899952e67692b9",
|
||||
"title": "Step 9"
|
||||
@@ -30052,7 +30052,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-10",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd71d596e8f253b9408b39",
|
||||
"title": "Step 10"
|
||||
@@ -30064,7 +30064,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-11",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd75ea7f663457612dba02",
|
||||
"title": "Step 11"
|
||||
@@ -30076,7 +30076,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-12",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd7648a7ba2e5882436831",
|
||||
"title": "Step 12"
|
||||
@@ -30088,7 +30088,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-13",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd778081276b59d59abad6",
|
||||
"title": "Step 13"
|
||||
@@ -30100,7 +30100,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-14",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd77f7ad2aeb5ae34d07d6",
|
||||
"title": "Step 14"
|
||||
@@ -30112,7 +30112,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-15",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd78621573aa5e8b512f5e",
|
||||
"title": "Step 15"
|
||||
@@ -30124,7 +30124,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-16",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd7a160ed17960e971f28b",
|
||||
"title": "Step 16"
|
||||
@@ -30136,7 +30136,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-17",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd7b3fcaa5406257abc5d1",
|
||||
"title": "Step 17"
|
||||
@@ -30148,7 +30148,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-18",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd8e491324ce717da97ffe",
|
||||
"title": "Step 18"
|
||||
@@ -30160,7 +30160,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-19",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd8fd08af43372f02952d0",
|
||||
"title": "Step 19"
|
||||
@@ -30172,7 +30172,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-20",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd9126aa72a474301fc49f",
|
||||
"title": "Step 20"
|
||||
@@ -30184,7 +30184,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-21",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd933ba685de776a94997e",
|
||||
"title": "Step 21"
|
||||
@@ -30196,7 +30196,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-22",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd94056e0355785fbba4d3",
|
||||
"title": "Step 22"
|
||||
@@ -30208,7 +30208,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-23",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd986ddbcbd47ba8fbc5ec",
|
||||
"title": "Step 23"
|
||||
@@ -30220,7 +30220,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-24",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd990577d8227dd93fbeeb",
|
||||
"title": "Step 24"
|
||||
@@ -30232,7 +30232,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-25",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd9a4ff2fc4481b9157bd7",
|
||||
"title": "Step 25"
|
||||
@@ -30244,7 +30244,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-26",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd9ad665a4a282c8106be3",
|
||||
"title": "Step 26"
|
||||
@@ -30256,7 +30256,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-27",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd9b7285bde783ad5b8aac",
|
||||
"title": "Step 27"
|
||||
@@ -30268,7 +30268,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-28",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fd9d9fbdfe078800317055",
|
||||
"title": "Step 28"
|
||||
@@ -30280,7 +30280,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-29",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fda307bde0b091cf7d884a",
|
||||
"title": "Step 29"
|
||||
@@ -30292,7 +30292,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-30",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fda339eadcfd92a6812bed",
|
||||
"title": "Step 30"
|
||||
@@ -30304,7 +30304,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-31",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fdac1e31692f9a9ad97295",
|
||||
"title": "Step 31"
|
||||
@@ -30316,7 +30316,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-32",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fdaea3999cb19d76ce717b",
|
||||
"title": "Step 32"
|
||||
@@ -30328,7 +30328,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-33",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fdaf9ff894b6a084ecdc1b",
|
||||
"title": "Step 33"
|
||||
@@ -30340,7 +30340,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-34",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fdafe6f07fd7a1c6785bc2",
|
||||
"title": "Step 34"
|
||||
@@ -30352,7 +30352,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-35",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "61fdb04d9939f0a26ca51c2b",
|
||||
"title": "Step 35"
|
||||
@@ -30364,7 +30364,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-36",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "620159cd5431aa34bc6a4c9c",
|
||||
"title": "Step 36"
|
||||
@@ -30376,7 +30376,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-37",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "62015a5da1c95c358f079ebb",
|
||||
"title": "Step 37"
|
||||
@@ -30388,7 +30388,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-38",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "62015cd2654a1139321a89d2",
|
||||
"title": "Step 38"
|
||||
@@ -30400,7 +30400,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-39",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "62015d8942384c3aed48329e",
|
||||
"title": "Step 39"
|
||||
@@ -30412,7 +30412,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-40",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "620167374bb8b4455cd11125",
|
||||
"title": "Step 40"
|
||||
@@ -30424,7 +30424,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-41",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "620174ed519dd7506c1a4b61",
|
||||
"title": "Step 41"
|
||||
@@ -30436,7 +30436,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-42",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "620175b3710a0951cfa86edf",
|
||||
"title": "Step 42"
|
||||
@@ -30448,7 +30448,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-43",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "6201782cc420715562f36271",
|
||||
"title": "Step 43"
|
||||
@@ -30460,7 +30460,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-44",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "620179bc0a6a2358c72b90ad",
|
||||
"title": "Step 44"
|
||||
@@ -30472,7 +30472,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-45",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "62017b6f47454059bf2d3bd1",
|
||||
"title": "Step 45"
|
||||
@@ -30484,7 +30484,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-46",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "62017f47c87be96457c49f46",
|
||||
"title": "Step 46"
|
||||
@@ -30496,7 +30496,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-47",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "62017fa5bbef406580ceb44f",
|
||||
"title": "Step 47"
|
||||
@@ -30508,7 +30508,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-48",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "62018243f046a368fab8ffb6",
|
||||
"title": "Step 48"
|
||||
@@ -30520,7 +30520,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-49",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "6201830cb0c74b69f1b41635",
|
||||
"title": "Step 49"
|
||||
@@ -30532,7 +30532,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-50",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "620186f4b6b8356d2def576b",
|
||||
"title": "Step 50"
|
||||
@@ -30544,7 +30544,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-51",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "62018ba1aa263770c953be66",
|
||||
"title": "Step 51"
|
||||
@@ -30556,7 +30556,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-52",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "62018c3e94434a71af1d5eaa",
|
||||
"title": "Step 52"
|
||||
@@ -30568,7 +30568,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-53",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "62018ec29b3ae674f40bef31",
|
||||
"title": "Step 53"
|
||||
@@ -30580,7 +30580,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-54",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "62019093fe30e278e797d2f6",
|
||||
"title": "Step 54"
|
||||
@@ -30592,7 +30592,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-55",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "620191707bc65579ddd3ce15",
|
||||
"title": "Step 55"
|
||||
@@ -30604,7 +30604,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-56",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "620192a767533a7ad19d96d7",
|
||||
"title": "Step 56"
|
||||
@@ -30616,7 +30616,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-57",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "6201995d9ab88e80f1989dce",
|
||||
"title": "Step 57"
|
||||
@@ -30628,7 +30628,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-58",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "620199c7a7a32c81d4db3410",
|
||||
"title": "Step 58"
|
||||
@@ -30640,7 +30640,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-59",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "6201a1a7af32c287bd6b8183",
|
||||
"title": "Step 59"
|
||||
@@ -30652,7 +30652,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-60",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "6201a1cc668a34888f5b2f52",
|
||||
"title": "Step 60"
|
||||
@@ -30664,7 +30664,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-61",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "6201a20d742f5c89736c8cfb",
|
||||
"title": "Step 61"
|
||||
@@ -30676,7 +30676,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-62",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "6201a42e39bf3b95b6a33bf3",
|
||||
"title": "Step 62"
|
||||
@@ -30688,7 +30688,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-63",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "6201a4adcc6414968b391592",
|
||||
"title": "Step 63"
|
||||
@@ -30700,7 +30700,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-64",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "6201a5258af7b398b030bfaf",
|
||||
"title": "Step 64"
|
||||
@@ -30712,7 +30712,7 @@
|
||||
"challenge": {
|
||||
"fields": {
|
||||
"slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-65",
|
||||
"blockName": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet"
|
||||
"blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet"
|
||||
},
|
||||
"id": "6201a59be346d399c21d10b1",
|
||||
"title": "Step 65"
|
||||
|
||||
@@ -6,6 +6,6 @@ block: learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet
|
||||
superBlock: 2022/responsive-web-design
|
||||
---
|
||||
|
||||
## Introduction to the Learn More About CSS Pseudo Selectors By Building A Balance Sheet
|
||||
## Introduction to the Learn More About CSS Pseudo Selectors by Building A Balance Sheet
|
||||
|
||||
This is a test for the new project-based curriculum.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: Introduction to the Learn Fetch and Promises By Building an fCC Authors Page
|
||||
title: Introduction to the Learn Fetch and Promises by Building an fCC Authors Page
|
||||
block: learn-fetch-and-promises-by-building-an-fcc-authors-page
|
||||
superBlock: JavaScript Algorithms and Data Structures
|
||||
isBeta: true
|
||||
---
|
||||
|
||||
## Introduction to the Learn Fetch and Promises By Building an fCC Authors Page
|
||||
## Introduction to the Learn Fetch and Promises by Building an fCC Authors Page
|
||||
|
||||
This is a test for the new project-based curriculum.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: Introduction to the Learn Modern JavaScript Methods By Building Football Team Cards
|
||||
block: Learn Modern JavaScript Methods By Building Football Team Cards
|
||||
block: Learn Modern JavaScript Methods by Building Football Team Cards
|
||||
superBlock: JavaScript Algorithms and Data Structures
|
||||
isBeta: true
|
||||
---
|
||||
|
||||
## Introduction to the Learn Modern JavaScript Methods By Building Football Team Cards
|
||||
## Introduction to the Learn Modern JavaScript Methods by Building Football Team Cards
|
||||
|
||||
This is a test for the new project-based curriculum.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: Introduction to the Learn Python List Comprehension By Building a Case Converter Program
|
||||
title: Introduction to the Learn Python List Comprehension by Building a Case Converter Program
|
||||
block: learn-list-comprehension-by-building-a-case-converter-program
|
||||
superBlock: upcoming-python
|
||||
isBeta: true
|
||||
---
|
||||
|
||||
## Introduction to the Learn Python List Comprehension By Building a Case Converter Program
|
||||
## Introduction to the Learn Python List Comprehension by Building a Case Converter Program
|
||||
|
||||
This is a test for the new project-based curriculum.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "Learn Fetch and Promises By Building an fCC Authors Page",
|
||||
"name": "Learn Fetch and Promises by Building an fCC Authors Page",
|
||||
"isUpcomingChange": false,
|
||||
"usesMultifileEditor": true,
|
||||
"hasEditableBoundaries": true,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "Learn Python List Comprehension By Building a Case Converter Program",
|
||||
"name": "Learn Python List Comprehension by Building a Case Converter Program",
|
||||
"isUpcomingChange": false,
|
||||
"usesMultifileEditor": true,
|
||||
"hasEditableBoundaries": true,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "Learn Modern JavaScript Methods By Building Football Team Cards",
|
||||
"name": "Learn Modern JavaScript Methods by Building Football Team Cards",
|
||||
"isUpcomingChange": false,
|
||||
"usesMultifileEditor": true,
|
||||
"hasEditableBoundaries": true,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "Learn More About CSS Pseudo Selectors By Building A Balance Sheet",
|
||||
"name": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet",
|
||||
"isUpcomingChange": false,
|
||||
"usesMultifileEditor": true,
|
||||
"hasEditableBoundaries": true,
|
||||
|
||||
@@ -63,7 +63,7 @@ assert.match(code, /const\s+openTaskFormBtn\s*=\s*document\.getElementById\(\s*(
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ assert.match(code, /const\s+cancelBtn\s*=\s*document\.getElementById\(\s*('|"|`)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ assert.match(code, /const\s+titleInput\s*=\s*document\.getElementById\(\s*('|"|`
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ assert.match(code, /const\s+descriptionInput\s*=\s*document\.getElementById\(\s*
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ assert.match(code, /let\s+currentTask\s*=\s*\{\};?/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ assert.match(code, /openTaskFormBtn\.addEventListener\(\s*('|"|`)click\1\s*,\s*\
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ assert.match(code, /closeTaskFormBtn\.addEventListener\(('|"|`)click\1,\s*\(.*\)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ assert.match(code, /cancelBtn\.addEventListener\(('|"|`)click\1\,\s*\(\)\s*\s*=>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ assert.match(code, /discardBtn\.addEventListener\(\s*('|"|`)click\1\s*,\s*\(\)\s
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ assert.match(code, /taskForm\.addEventListener\(('|"|`)submit\1,\s*(\(\s*e\s*\)|
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ assert.match(code, /const dataArrIndex\s*=\s*taskData\.findIndex\(\(?item\)?\s*=
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ assert.match(code, /const\s+taskObj\s*=\s*\{\s*id:\s*`\$\{titleInput\.value\.toL
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ assert.match(code, /description:\s*descriptionInput\.value,?/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ assert.match(code, /if\s*\(dataArrIndex\s*===\s*-1\)\s*\{\s*taskData\.unshift\(t
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ assert.match(code, /taskData\.forEach\(\s*\(\s*\{\s*(?:id\s*,\s*title\s*,\s*date
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ assert.match(code, /taskData\.forEach\(\s*\(\s*\{.*\}\s*\)\s*=>\s*\{?\s*(\s*\(?t
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ assert.match(code, /<div\s+class\s*=\s*('|")task\1\s*id\s*=\s*('|")\$\{id\}\2\s*
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ assert.match(code, /<p><strong>Title:\s*<\/strong>\s*/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ assert.match(code, /<p><strong>Date:\s*<\/strong>\s*/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ assert.match(code, /<button\s+type=('|")button\1\s+class=('|")btn\2>Delete<\/but
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ assert.match(splitter[0], /taskForm\.classList\.toggle\(('|")hidden\1\)/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ assert.match(reset.toString(), /\(\)\s*\{\s*\}/);
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ assert.match(reset.toString(), /currentTask\s*=\s*\{\};?/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ assert.match(code, /reset\(\)/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ assert.match(code, /confirmCloseDialog\.close\(\);?\s*reset\(\);?/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ assert.match(code, /const\s*formInputsContainValues\s*=\s*titleInput\.value\s*\|
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ assert.match(code, /if\s*\(formInputsContainValues\)\s*\{\s*confirmCloseDialog\.
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ assert.match(code, /const\s+addOrUpdateTask\s*=\s*\(\s*\)\s*=>\s*\{\s*const\s+da
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ assert.match(code, /const\s+updateTaskContainer\s*=\s*\(\)\s*=>\s*\{\s*taskData\
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ assert.match(code, /updateTaskContainer\(\);?\s*reset\(\);?\s*/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ assert.match(code, /addOrUpdateTask\(\)/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ assert.match(code, /<button\s*onclick\s*=\s*('|")deleteTask\(\s*this\s*\)\1\s*ty
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ assert.match(deleteTask.toString(), /\(\s*buttonEl\s*\)\s*\{\s*\}/);
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ assert.match(code, /tasksContainer\.innerHTML\s*=\s*("|')\1;?/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ assert.match(code, /const\s*deleteTask\s*=\s*\(buttonEl\)\s*=>\s*\{\s*const\s+da
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ assert.match(deleteTask.toString(), /taskData\.splice\(dataArrIndex,\s*1\);?/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ assert.match(editTask.toString(), /\(\s*buttonEl\s*\)\s*\{\s*\}/);
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ assert.match(code, /const\s+editTask\s+=\s*\(buttonEl\)\s*=>\s*\{\s*const\s+data
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ assert.match(code, /currentTask\s*=\s*taskData\[dataArrIndex\];?/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ assert.match(editTask.toString(), /descriptionInput\.value\s*=\s*currentTask\.de
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ assert.match(editTask.toString(), /addOrUpdateTaskBtn\.innerText\s*=\s*("|')Upda
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ assert.match(editTask.toString(), /taskForm\.classList\.toggle\(('|")hidden\1\);
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ assert.match(code, /if\s*\(dataArrIndex\s*===\s*-1\)\s*\{\s*taskData\.unshift\(t
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ assert.match(code, /const\s*formInputValuesUpdated\s*=\s*titleInput\.value\s*!==
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ assert.match(code.split("if (formInputsContainValues"), /\s*&&\s*formInputValues
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ assert.match(code, /localStorage\.setItem\(("|')data\1,\s*myTaskArr\);?/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ assert.match(code, /localStorage\.setItem\(("|')data\1,\s*JSON\.stringify\(myTas
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ assert.match(code, /console\.log\(getTaskArr\);?/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ assert.match(code, /console\.log\(getTaskArrObj\);?/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ assert.match(code, /localStorage\.removeItem\(('|")data\1\);?/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ assert.match(code, /localStorage\.clear\(\);?/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ assert.notMatch(code, /const\s*myTaskArr\s*=\s*\[\s*\{\s*task:\s"Walk\s*the\s*Do
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ assert.match(code, /localStorage\.setItem\(('|")data\1,\s*JSON\.stringify\(taskD
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ assert.match(splitter[1], /localStorage\.setItem\(('|")data\1,\s*JSON\.stringify
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ assert.match(code, /const\s*taskData\s*=\s*JSON.parse\(localStorage\.getItem\(('
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ assert.match(code, /if\s*\(taskData\.length\)\s*\{\s*updateTaskContainer\(\);?\s
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
@@ -414,7 +414,7 @@ taskForm.addEventListener("submit", (e) => {
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ assert.match(code, /const\s+taskObj\s*=\s*\{\s*id:\s*`\$\{titleInput\.value\.toL
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ assert.match(code, /<p><strong>Description:\s*<\/strong>\s*/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ assert.match(code, /addOrUpdateTaskBtn\.innerText\s*=\s*('|")Add Task\1\s*/)
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Learn localStorage By Building a Todo App</title>
|
||||
<title>Learn localStorage by Building a Todo App</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user