From b1d8debac2b4794cdc106be0ceb87cc78f8f9cd0 Mon Sep 17 00:00:00 2001 From: Andre Pires Date: Tue, 19 Aug 2025 15:16:02 +0100 Subject: [PATCH 1/4] index.html file with all the html code --- index.html | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 139 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index a2d9c01ab..e8cee235a 100644 --- a/index.html +++ b/index.html @@ -1,9 +1,142 @@ -NPM Clone Nifty Penguin Magic npm Enterprise Products Solutions Resources Docs Support Search Join Log In Build amazing + + + + + + + +
+
+
+ black heart + Nifty Penguin Magic +
+ +
+
+ + magnifying-glass +
+ + +
+ Join + Log in +
+
+ + +
+ +

Build amazing things

+
+
+

Essential JavaScript development tools that help you go to market faster and build powerful applications using + modern open source code.

+
+
+ See plans + Join for free +
+
+ + + +
+ triangle hexagon + +

Bring the best of open source to your company

+
+
+

npm is the tool used by over 11,000,000 JavaScript developers around the world. Your developers already use it. Your company depends on it. Create an Org and get more out of the tools your team already knows and loves.

+
+
+ + + +
+ +
+ zero configuration + +

+ Zero configuration +

+
+

+ Create an org, add your team, and start collaborating. Nothing to configure, set up, or manage. +

+
+ + +
+ team management + +

+ Team management +

+
+

+ Control who has access to what modules within your team namespace using straightforward team management capabilities. +

+
+ + +
+ familiar features + +

+ Familiar features +

+
+

+ npm Orgs has 100% parity with all the public npm registry features your developers already use. +

+
+ + +
+ audit + +

+ npm audit +

+
+

+ Enjoy the security auditing features built into the npm client, a zero-friction way to make open source software safer. +

+
+ + Create an Org +
+ + + + + + \ No newline at end of file From 30d6cd0b0139f324dfd122946bf81677ea95451d Mon Sep 17 00:00:00 2001 From: Andre Pires Date: Tue, 19 Aug 2025 15:53:34 +0100 Subject: [PATCH 2/4] index.html file has been udpated with the class selectors and ID selectores --- index.html | 248 +++++++++++++++++++++++++---------------------------- 1 file changed, 116 insertions(+), 132 deletions(-) diff --git a/index.html b/index.html index e8cee235a..78dfc7655 100644 --- a/index.html +++ b/index.html @@ -5,138 +5,122 @@ -
-
-
- black heart - Nifty Penguin Magic -
- -
-
- - magnifying-glass -
- - -
- Join - Log in -
-
- - -
- -

Build amazing things

-
-
-

Essential JavaScript development tools that help you go to market faster and build powerful applications using - modern open source code.

-
-
- See plans - Join for free -
-
- - - -
- triangle hexagon - -

Bring the best of open source to your company

-
-
-

npm is the tool used by over 11,000,000 JavaScript developers around the world. Your developers already use it. Your company depends on it. Create an Org and get more out of the tools your team already knows and loves.

-
-
- - - -
- -
- zero configuration - -

- Zero configuration -

+ +
+
+
+ black heart + Nifty Penguin Magic +
+ +
+
+ + magnifying-glass +
+ + +
+ Join + Log in +
+
+ + +
+ +

Build amazing things

-

- Create an org, add your team, and start collaborating. Nothing to configure, set up, or manage. -

-
- - -
- team management - -

- Team management -

+
+

Essential JavaScript development tools that help you go to market faster and build powerful applications using + modern open source code.

+
+ +
+ + + +
+ triangle hexagon + +

Bring the best of open source to your company

-

- Control who has access to what modules within your team namespace using straightforward team management capabilities. -

- - - -
- familiar features - -

- Familiar features -

-
-

- npm Orgs has 100% parity with all the public npm registry features your developers already use. -

-
- - -
- audit - -

- npm audit -

-
-

- Enjoy the security auditing features built into the npm client, a zero-friction way to make open source software safer. -

-
- - Create an Org -
- - - - - +
+

npm is the tool used by over 11,000,000 JavaScript developers around the world. Your developers already use it. Your company depends on it. Create an Org and get more out of the tools your team already knows and loves.

+
+ + + + +
+ +
+ zero configuration + +

Zero configuration

+
+

Create an org, add your team, and start collaborating. Nothing to configure, set up, or manage.

+
+ + +
+ team management + +

Team management

+
+

Control who has access to what modules within your team namespace using straightforward team management capabilities.

+
+ + +
+ familiar features + +

Familiar features

+
+

npm Orgs has 100% parity with all the public npm registry features your developers already use.

+
+ + +
+ audit + +

npm audit

+
+

Enjoy the security auditing features built into the npm client, a zero-friction way to make open source software safer.

+
+ Create an Org +
+ + + + + \ No newline at end of file From caa814dbf066e90fc996e48a3d485e2dddf14a05 Mon Sep 17 00:00:00 2001 From: Andre Pires Date: Tue, 19 Aug 2025 22:23:48 +0100 Subject: [PATCH 3/4] html code review and some corrections in the struture of the webpage and more class seletors added --- index.html | 92 ++++++++++++++++++++++++------------------------------ 1 file changed, 40 insertions(+), 52 deletions(-) diff --git a/index.html b/index.html index 78dfc7655..897bac01f 100644 --- a/index.html +++ b/index.html @@ -3,15 +3,16 @@ + npm Clone
-
-
- black heart - Nifty Penguin Magic -
+
+
+ black heart + Nifty Penguin Magic +
-
+
-
- -

Build amazing things

-
-
-

Essential JavaScript development tools that help you go to market faster and build powerful applications using - modern open source code.

+
+

Build amazing things

+
+

Essential JavaScript development tools that help you go to market faster and build powerful applications using modern open source code.

-
-
- triangle hexagon - -

Bring the best of open source to your company

-
-
+
+ triangle hexagon +

Bring the best of open source to your company

+

npm is the tool used by over 11,000,000 JavaScript developers around the world. Your developers already use it. Your company depends on it. Create an Org and get more out of the tools your team already knows and loves.

-
+
-
- zero configuration - -

Zero configuration

-
-

Create an org, add your team, and start collaborating. Nothing to configure, set up, or manage.

+
+ zero configuration +

Zero configuration

+

Create an org, add your team, and start collaborating. Nothing to configure, set up, or manage.

-
- team management - -

Team management

-
-

Control who has access to what modules within your team namespace using straightforward team management capabilities.

+
+ team management +

Team management

+

Control who has access to what modules within your team namespace using straightforward team management capabilities.

-
- familiar features - -

Familiar features

-
-

npm Orgs has 100% parity with all the public npm registry features your developers already use.

+
+ familiar features +

Familiar features

+

npm Orgs has 100% parity with all the public npm registry features your developers already use.

-
- audit - -

npm audit

-
-

Enjoy the security auditing features built into the npm client, a zero-friction way to make open source software safer.

+
+ audit +

npm audit

+

Enjoy the security auditing features built into the npm client, a zero-friction way to make open source software safer.

- Create an Org + Create an Org
From d87398e8b8612d4ae304ff3809603d29171b5aef Mon Sep 17 00:00:00 2001 From: Andre Pires Date: Wed, 20 Aug 2025 17:51:45 +0100 Subject: [PATCH 4/4] commit including the CSS code inside the file style.css and the file listSelectors.js contains a small piece of code to get the class and id selectors. --- index.html | 25 ++-- listSelectors.js | 39 +++++++ style.css | 293 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 345 insertions(+), 12 deletions(-) create mode 100644 listSelectors.js create mode 100644 style.css diff --git a/index.html b/index.html index 897bac01f..8cea28354 100644 --- a/index.html +++ b/index.html @@ -4,6 +4,7 @@ npm Clone + @@ -37,30 +38,30 @@ -
-

Build amazing things

+
+

Build amazing things

Essential JavaScript development tools that help you go to market faster and build powerful applications using modern open source code.

-
-
- triangle hexagon -

Bring the best of open source to your company

-
+
+ triangle hexagon +
+

Bring the best of open source to your company

npm is the tool used by over 11,000,000 JavaScript developers around the world. Your developers already use it. Your company depends on it. Create an Org and get more out of the tools your team already knows and loves.

-
+
zero configuration @@ -69,7 +70,7 @@

Zero configuration

-
+
team management

Team management

Control who has access to what modules within your team namespace using straightforward team management capabilities.

@@ -88,7 +89,7 @@

Familiar features

npm audit

Enjoy the security auditing features built into the npm client, a zero-friction way to make open source software safer.

- Create an Org + Create an Org
diff --git a/listSelectors.js b/listSelectors.js new file mode 100644 index 000000000..c8de9d28c --- /dev/null +++ b/listSelectors.js @@ -0,0 +1,39 @@ +const fs = require("fs"); + +// --- CONFIG --- +const htmlFile = "index.html"; + +// --- SCRIPT --- +const html = fs.readFileSync(htmlFile, "utf8"); + +// Extract classes +const classRegex = /class\s*=\s*["']([^"']+)["']/gi; +let classes = []; +let match; +while ((match = classRegex.exec(html)) !== null) { + classes.push(...match[1].split(/\s+/)); +} + +// Extract ids +const idRegex = /id\s*=\s*["']([^"']+)["']/gi; +let ids = []; +while ((match = idRegex.exec(html)) !== null) { + ids.push(match[1]); +} + +// Extract element tags +const tagRegex = /<([a-zA-Z0-9-]+)/g; +let tags = []; +while ((match = tagRegex.exec(html)) !== null) { + tags.push(match[1]); +} + +// Deduplicate +classes = [...new Set(classes)].map(c => "." + c); +ids = [...new Set(ids)].map(i => "#" + i); +tags = [...new Set(tags)]; + +// Output +console.log("Classes:", classes); +console.log("IDs:", ids); +console.log("Tags:", tags); diff --git a/style.css b/style.css new file mode 100644 index 000000000..4aab66247 --- /dev/null +++ b/style.css @@ -0,0 +1,293 @@ +/* +.class-name {rule: value;} +#id-name {background-color: black;} +*/ + +@import url('https://fonts.googleapis.com/css?family=Poppins'); + + + +body { + font-family: 'Poppins'; + line-height: 1.5; + color: black; + background-color: #fff; +} + + +header > div { + padding: 0 25px; + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid lightgray; +} + +/* +.top-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 40px; + border-bottom: 1px solid #e0e0e0; + font-size: 12px; + +.brand { + display: flex; + align-items: center; + color: #333; +} + }*/ + + + +nav { + width: 600px; +} + +nav ul { + list-style: none; + display: flex; + justify-content: space-between; + align-items: center; +} + +nav a { + text-decoration: none; + color: black; +} + +/*IMAGES*/ +.black-heart { + width: 20px; + margin-right: 1rem; +} + +.logo { + width: 20px; +} + +.brand-name { + width: 20px; +} + + + +/*FORM*/ +.search-bar { + display: flex; + align-items: center; + padding: 16px 40px; + gap: 16px; + border-bottom: 1px solid #e0e0e0; +} + +.logo { + width: 70px; + height: auto; +} + +.search-bar form { + flex: 1; + display: flex; + align-items: center; + background-color: #f6f5f5; + border: 1px solid #e5e5e5; + border-radius: 4px; + padding: 6px 10px; +} + +.magnifying-glass { + width: 16px; + height: 16px; + margin-right: 8px; + opacity: 0.6; +} + +#search{ + flex: 1; + border: none; + outline: none; + background-color: transparent; + font-size: 14px; + color: #333; +} + +#search::placeholder { + color: #999; +} + +#button-search{ + background-color: #fb3b49; + color: #fff; + border: none; + padding: 8px 16px; + font-size: 12px; + border-radius: 4px; + cursor: pointer; + white-space: nowrap; +} + + + +/*button join and login*/ +.btn-join, +.btn-login { + text-decoration: none; + font-size: 12px; + padding: 8px 16px; + border-radius: 4px; + margin-left: 10px; +} + +.btn-join{ + border: 1px solid rgba(0,0,0,.3); + color: grey; +} + +.btn-login{ + color: grey; + border: none; +} + + + +/*Section1*/ +#section1{ + background-color: rgba(232,217,217,.3); + display: flex; /*activate the Flexbox*/ + flex-direction: column; + align-items: center; /*vertical centro*/ + justify-content: center; /*horizontal centro*/ + text-align: center; /*texto alinhado ao meio*/ + padding: 0px 20px 80px; /*padding top sides bottum*/ +} + +#header-section1{ + font-size: 64px; + font-weight: 700; /*Font thickness could be bold or normal*/ + margin-bottom: 0px; /*space between header and article*/ + max-width: 800px; /*maximum width of the header*/ +} + +#article-section1 p{ /*focus on the paragraph of the article*/ + font-size: 16px; + color: #555; + max-width: 600px; /*set a maximum width for the article*/ + margin: 0 auto 20px; /*set a margim in the bottum*/ +} + +#section1-buttons{ + display: flex; + gap: 40px; /*space between the two buttons*/ + justify-content: center; +} + +#button-see-plans, +#button-join-free { /*add the style for both buttons*/ + text-decoration: none; + display: inline-block; + font-size: 14px; + font-weight: 600; + border-radius: 4px; + padding: 14px 32px; /*align-items: center; is no longer required*/ + border: none; /*line just add some border to test -> replace none by 1px solid rgba(0,0,0,1);*/ +} + +#button-see-plans{ + box-shadow: 8px 8px 0 rgba(251,59,73,.2); + background-color: #FB3B49; + color:white; +} + +#button-join-free{ + background-color: #fff; + color: black; + border: 1px solid #000; +} + + +/*Section2*/ +#section2{ + display: flex; + flex-direction: column; + align-items: center; /*vertical centro*/ + padding: 80px 20px; /*padding topbottum sides*/ + text-align: center; /*texto alinhado ao meio*/ +} + +#imagem-section2{ + width: 200px; + margin-bottom: 40px; +} + + +#header-section2{ + font-size: 32px; + font-weight: 600; + background-color: rgba(255, 204, 53, 0.4); + padding: 8px 24px; /*padding topbottum sides*/ + display: inline-block; + margin-bottom: 30px; /*add space between the next element*/ +} + +#article-section2 p{ + transform: skew(9deg,0deg); + max-width: 650px; + margin: 0 auto; + font-size: 16px; + color: #555; + line-height: 1.6; +} + + + +/*Section3*/ +#section3 { + text-align: center; + padding: 80px 40px 100px; +} + +.section3-area{ + display: inline-block; + width: 22%; + margin: 0 1%; + vertical-align: top; + text-align: left; +} + +.imagem-section3-area { + width: 40px; + height: auto; + margin-bottom: 0px; +} + +.header-Section3{ + color:#ED1C24; + font-size: 18px; + font-weight: 600; + margin-bottom: 0px; +} + +.article-section3 { + font-size: 14px; + color: #333; + line-height: 1.6; +} + +#button-create-org{ + display: inline-block; + margin-top: 60px; + padding: 16px 40px; + background-color: #000; + color: #fff; + text-decoration: none; + font-weight: 600; + box-shadow: 8px 8px 0 rgba(128, 83, 35, 0.2); + border-radius: 4px; + min-width: 260px; +} + + + +