diff --git a/htdocs/assets/_footer.php b/htdocs/assets/_footer.php
index 094f607..2261832 100644
--- a/htdocs/assets/_footer.php
+++ b/htdocs/assets/_footer.php
@@ -8,10 +8,10 @@
Featured
@@ -36,6 +36,6 @@
\ No newline at end of file
diff --git a/htdocs/assets/extra-style.css b/htdocs/assets/extra-style.css
index 4c2975c..e3b4dc0 100644
--- a/htdocs/assets/extra-style.css
+++ b/htdocs/assets/extra-style.css
@@ -60,4 +60,21 @@ background: #38BDF8;
z-index: 2;
opacity: 0;
transition: opacity 500ms;
-}
\ No newline at end of file
+}
+
+/* .z-20 rect {
+ transition: fill 0.3s ease-in-out;
+}
+
+.z-20 rect:hover {
+ fill: red;
+}
+
+.z-20 path:hover + .z-20 rect {
+ fill: red;
+}
+
+.z-20 g:hover + .z-20 rect {
+ fill: red;
+} */
+
diff --git a/htdocs/assets/images/fantasywalls.jpg b/htdocs/assets/images/fantasywalls.jpg
new file mode 100644
index 0000000..4a9bd09
Binary files /dev/null and b/htdocs/assets/images/fantasywalls.jpg differ
diff --git a/htdocs/assets/images/prourl.jpg b/htdocs/assets/images/prourl.jpg
new file mode 100644
index 0000000..fb257db
Binary files /dev/null and b/htdocs/assets/images/prourl.jpg differ
diff --git a/htdocs/assets/style.css b/htdocs/assets/style.css
index 2449430..946d7bb 100644
--- a/htdocs/assets/style.css
+++ b/htdocs/assets/style.css
@@ -649,6 +649,11 @@ video {
margin-bottom: 0.25rem;
}
+.my-2 {
+ margin-top: 0.5rem;
+ margin-bottom: 0.5rem;
+}
+
.my-3 {
margin-top: 0.75rem;
margin-bottom: 0.75rem;
@@ -659,11 +664,6 @@ video {
margin-bottom: 1.75rem;
}
-.my-2 {
- margin-top: 0.5rem;
- margin-bottom: 0.5rem;
-}
-
.my-\[0\.30rem\] {
margin-top: 0.30rem;
margin-bottom: 0.30rem;
@@ -725,6 +725,10 @@ video {
margin-left: 0.75rem;
}
+.ml-4 {
+ margin-left: 1rem;
+}
+
.ml-5 {
margin-left: 1.25rem;
}
@@ -741,6 +745,10 @@ video {
margin-left: 2rem;
}
+.ml-\[0\.30rem\] {
+ margin-left: 0.30rem;
+}
+
.ml-\[0\.59rem\] {
margin-left: 0.59rem;
}
@@ -781,6 +789,10 @@ video {
margin-top: 4rem;
}
+.mt-20 {
+ margin-top: 5rem;
+}
+
.mt-3 {
margin-top: 0.75rem;
}
@@ -801,6 +813,14 @@ video {
margin-top: 2.2rem;
}
+.mt-32 {
+ margin-top: 8rem;
+}
+
+.mt-44 {
+ margin-top: 11rem;
+}
+
.flex {
display: flex;
}
@@ -853,6 +873,10 @@ video {
width: 0px;
}
+.w-2 {
+ width: 0.5rem;
+}
+
.w-\[200px\] {
width: 200px;
}
@@ -997,6 +1021,14 @@ video {
border-radius: 0.125rem;
}
+.rounded {
+ border-radius: 0.25rem;
+}
+
+.rounded-2xl {
+ border-radius: 1rem;
+}
+
.border-\[2px\] {
border-width: 2px;
}
@@ -1030,6 +1062,16 @@ video {
border-color: rgba(255, 255, 255, 0.30);
}
+.border-l-accent_primary {
+ --tw-border-opacity: 1;
+ border-left-color: rgb(56 189 248 / var(--tw-border-opacity));
+}
+
+.border-l-bg_primary {
+ --tw-border-opacity: 1;
+ border-left-color: rgb(15 23 42 / var(--tw-border-opacity));
+}
+
.border-t-accent_primary {
--tw-border-opacity: 1;
border-top-color: rgb(56 189 248 / var(--tw-border-opacity));
@@ -1140,6 +1182,10 @@ video {
line-height: 2.5rem;
}
+.text-\[10px\] {
+ font-size: 10px;
+}
+
.text-base {
font-size: 1rem;
line-height: 1.5rem;
@@ -1177,6 +1223,31 @@ video {
font-weight: 400;
}
+.text-\[\#38BDF8\] {
+ --tw-text-opacity: 1;
+ color: rgb(56 189 248 / var(--tw-text-opacity));
+}
+
+.text-\[\#3FF989\] {
+ --tw-text-opacity: 1;
+ color: rgb(63 249 137 / var(--tw-text-opacity));
+}
+
+.text-\[\#CD6CFB\] {
+ --tw-text-opacity: 1;
+ color: rgb(205 108 251 / var(--tw-text-opacity));
+}
+
+.text-\[\#DCDF3F\] {
+ --tw-text-opacity: 1;
+ color: rgb(220 223 63 / var(--tw-text-opacity));
+}
+
+.text-\[\#EC4B4B\] {
+ --tw-text-opacity: 1;
+ color: rgb(236 75 75 / var(--tw-text-opacity));
+}
+
.text-accent_four {
--tw-text-opacity: 1;
color: rgb(172 203 222 / var(--tw-text-opacity));
@@ -1206,31 +1277,6 @@ video {
color: rgb(15 23 42 / var(--tw-text-opacity));
}
-.text-\[\#38BDF8\] {
- --tw-text-opacity: 1;
- color: rgb(56 189 248 / var(--tw-text-opacity));
-}
-
-.text-\[\#3FF989\] {
- --tw-text-opacity: 1;
- color: rgb(63 249 137 / var(--tw-text-opacity));
-}
-
-.text-\[\#CD6CFB\] {
- --tw-text-opacity: 1;
- color: rgb(205 108 251 / var(--tw-text-opacity));
-}
-
-.text-\[\#DCDF3F\] {
- --tw-text-opacity: 1;
- color: rgb(220 223 63 / var(--tw-text-opacity));
-}
-
-.text-\[\#EC4B4B\] {
- --tw-text-opacity: 1;
- color: rgb(236 75 75 / var(--tw-text-opacity));
-}
-
.opacity-20 {
opacity: 0.2;
}
@@ -1239,6 +1285,10 @@ video {
opacity: 0.5;
}
+.opacity-\[0\.75\] {
+ opacity: 0.75;
+}
+
.shadow-\[0px_0px_100px_10px\] {
--tw-shadow: 0px 0px 100px 10px;
--tw-shadow-colored: 0px 0px 100px 10px var(--tw-shadow-color);
@@ -1275,11 +1325,58 @@ video {
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
+.shadow-lg {
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.shadow-\[10px_10px_20px\] {
+ --tw-shadow: 10px 10px 20px;
+ --tw-shadow-colored: 10px 10px 20px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.shadow-\[10px_10px_5px\] {
+ --tw-shadow: 10px 10px 5px;
+ --tw-shadow-colored: 10px 10px 5px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.shadow-\[0px_10px_5px\] {
+ --tw-shadow: 0px 10px 5px;
+ --tw-shadow-colored: 0px 10px 5px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.shadow-\[0px_10px_20px\] {
+ --tw-shadow: 0px 10px 20px;
+ --tw-shadow-colored: 0px 10px 20px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.shadow-\[0px_0px_20px\] {
+ --tw-shadow: 0px 0px 20px;
+ --tw-shadow-colored: 0px 0px 20px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.shadow-\[0px_0px_15px\] {
+ --tw-shadow: 0px 0px 15px;
+ --tw-shadow-colored: 0px 0px 15px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
.shadow-accent_primary_transparent {
--tw-shadow-color: rgba(56, 189, 248, 0.30);
--tw-shadow: var(--tw-shadow-colored);
}
+.shadow-accent_primary {
+ --tw-shadow-color: #38BDF8;
+ --tw-shadow: var(--tw-shadow-colored);
+}
+
.blur-2xl {
--tw-blur: blur(40px);
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
@@ -1290,6 +1387,11 @@ video {
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
+.drop-shadow-lg {
+ --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
+}
+
.transition {
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
@@ -1316,6 +1418,10 @@ video {
transition-duration: 500ms;
}
+.last\:mb-3:last-child {
+ margin-bottom: 0.75rem;
+}
+
.hover\:scale-125:hover {
--tw-scale-x: 1.25;
--tw-scale-y: 1.25;
diff --git a/htdocs/core/connection.php b/htdocs/core/connection.php
new file mode 100644
index 0000000..69d51c5
--- /dev/null
+++ b/htdocs/core/connection.php
@@ -0,0 +1,14 @@
+ connect_error) {
+ die("Database Connection Failed !" . $conn->connect_error);
+ }
+ echo "";
+?>
\ No newline at end of file
diff --git a/htdocs/index.php b/htdocs/index.php
index 2e57ba5..f9ad3a7 100644
--- a/htdocs/index.php
+++ b/htdocs/index.php
@@ -75,7 +75,7 @@
-
+
@@ -198,7 +198,7 @@
On a mission to!
make the web more interesting.
-
+
Wanna join the journey with me?
email to: hey@neosubhamoy.dev
diff --git a/htdocs/projects.php b/htdocs/projects.php
index ae3fb85..fe7a759 100644
--- a/htdocs/projects.php
+++ b/htdocs/projects.php
@@ -1,3 +1,27 @@
+ query($sql);
+
+if ($result) {
+ // create a array of all unique years
+ $years = array();
+ while ($row = $result -> fetch_assoc()) {
+ $years[] = $row['year'];
+ }
+
+ $result -> free();
+}
+
+//function to fetch all projects of the given year
+function fetch_projects_by_year($conn, $year) {
+ $sql = "SELECT * FROM projects WHERE year = $year ORDER BY id DESC";
+ $result = $conn -> query($sql);
+ return $result;
+}
+?>
+
@@ -17,8 +41,8 @@
I'm just obsessed with side projects and open-source stuffs
You can explore some of them below
-
-
+
+
-