Projects list page with project card

This commit is contained in:
Hazem Krimi
2023-11-09 20:55:17 +01:00
parent e81eba1637
commit 319ebbeb31
17 changed files with 168 additions and 9 deletions
+3 -1
View File
@@ -57,7 +57,9 @@ body {
#links .github,
#links .cv-paper-flip,
#links .mail,
#nav-toggler svg path {
#nav-toggler svg path,
.arrow,
.eye {
stroke: var(--text);
}
+14
View File
@@ -0,0 +1,14 @@
main section {
margin-top: 2rem;
}
main h2 {
font-size: 3rem;
margin-bottom: 1rem;
}
@media only screen and (max-width: 1024px) {
main h2 {
font-size: 1.75rem;
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
:root {
--footer-light-background: #ececec;
--footer-light-background: #ECECEC;
--footer-dark-background: #131212;
}
+2 -2
View File
@@ -1,7 +1,7 @@
:root {
--header-light-background: var(--white);
--header-light-background: #ECECEC;
--header-dark-background: #676666;
--nav-light-background: var(--white);
--nav-light-background: #ECECEC;
--nav-dark-background: #121212;
}
+60
View File
@@ -0,0 +1,60 @@
:root {
--project-card-light-background: #f2f2f2;
--project-card-dark-background: #131212;
}
article {
background-color: var(--project-card-background);
color: var(--text);
border-radius: 1.875rem;
padding: 3.5rem 2.5rem;
}
article h3 {
font-size: 2rem;
margin-bottom: 1.75rem;
text-transform: capitalize;
}
article p {
margin-bottom: 4rem;
}
article #links {
display: flex;
align-items: center;
justify-content: space-between;
}
article .read-more,
article .demo {
display: inline-flex;
align-items: center;
}
article .read-more svg,
article .demo svg {
margin-left: 0.5rem;
}
article .demo {
background-color: #353535;
color: var(--white);
border-radius: 0.4375rem;
text-decoration: none;
padding: 0.5rem 1rem;
}
article .demo .eye {
stroke: var(--white);
}
@media only screen and (max-width: 1024px) {
article h3 {
font-size: 1.5rem;
}
article p {
margin-bottom: 1.75rem;
}
}
+2 -2
View File
@@ -1,4 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5 12H19" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 5L19 12L12 19" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path class="arrow" d="M5 12H19" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path class="arrow" d="M12 5L19 12L12 19" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 312 B

After

Width:  |  Height:  |  Size: 340 B

+2 -2
View File
@@ -1,4 +1,4 @@
<svg width="21" height="22" viewBox="0 0 21 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0.875 11C0.875 11 4.375 4 10.5 4C16.625 4 20.125 11 20.125 11C20.125 11 16.625 18 10.5 18C4.375 18 0.875 11 0.875 11Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M10.5 13.625C11.9497 13.625 13.125 12.4497 13.125 11C13.125 9.55025 11.9497 8.375 10.5 8.375C9.05025 8.375 7.875 9.55025 7.875 11C7.875 12.4497 9.05025 13.625 10.5 13.625Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="eye" d="M0.875 11C0.875 11 4.375 4 10.5 4C16.625 4 20.125 11 20.125 11C20.125 11 16.625 18 10.5 18C4.375 18 0.875 11 0.875 11Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="eye" d="M10.5 13.625C11.9497 13.625 13.125 12.4497 13.125 11C13.125 9.55025 11.9497 8.375 10.5 8.375C9.05025 8.375 7.875 9.55025 7.875 11C7.875 12.4497 9.05025 13.625 10.5 13.625Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 580 B

After

Width:  |  Height:  |  Size: 604 B

+6
View File
@@ -49,6 +49,12 @@ function loadTheme() {
? 'var(--button-light-background)'
: 'var(--button-dark-background)'
);
root.style.setProperty(
'--project-card-background',
theme === 'light'
? 'var(--project-card-light-background)'
: 'var(--project-card-dark-background)'
);
root.style.setProperty(
'--footer-background',
theme === 'light'
+8
View File
@@ -0,0 +1,8 @@
---
title: "Blog"
date: 2023-10-18T20:03:43+01:00
---
## Blog
These are articles about things I learned about software engineering.
+5
View File
@@ -0,0 +1,5 @@
---
title: "Test blog"
description: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."
date: 2023-10-18T20:03:43+01:00
---
+8
View File
@@ -0,0 +1,8 @@
---
title: "Projects"
date: 2023-10-18T20:03:43+01:00
---
## Projects
These are all the projects I worked on personally and professionally.
@@ -0,0 +1,21 @@
---
title: 'React Weather App'
description: 'Weather app made with React, TypeScript and OpenWeatherMap API'
demo: "https://hazemkrimi.github.io/react-weather-app"
date: 2023-09-19
---
# About the project
This is a project that I made as a step in the interview process for my final year internship.
# Technologies
- React
- TypeScript
- Styled Components
- OpenWeatherMap API
# Screenshots
![Desktop](https://res.cloudinary.com/dun9hhyz1/image/upload/v1643548378/personal-website/portfolio/react-weather-app/screenshot_ueu2a4.png)
Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

@@ -1,5 +1,5 @@
{{ define "styles" }}
{{ $styles := resources.Get "css/page/contact.css" | toCSS | minify }}
{{ $styles := resources.Get "css/contact.css" | toCSS | minify }}
<link rel="stylesheet" href="{{ $styles.Permalink }}" />
{{ end }}
+15
View File
@@ -0,0 +1,15 @@
{{ define "styles" }}
{{ $styles := resources.Get "css/list.css" | toCSS | minify }}
<link rel="stylesheet" href="{{ $styles.Permalink }}" />
{{ end }}
{{ define "main" }}
{{ .Content }}
<section>
{{ range .Pages }}
{{ partial "project-card.html" . }}
{{ end }}
</section>
{{ end }}
+20
View File
@@ -0,0 +1,20 @@
{{ $styles := resources.Get "css/partials/project-card.css" | toCSS | minify }}
<link rel="stylesheet" href="{{ $styles.Permalink }}" />
<article>
<div>
<h3>{{ .Title }}</h3>
<p>{{ .Params.description }}</p>
<div id="links">
<a class="read-more" href="{{ .Permalink }}">
Read more {{ readFile "assets/icons/arrow.svg" | safeHTML }}
</a>
{{ with .Params.demo }}
<a class="demo" href="{{ . }}" target="_blank">
Demo {{ readFile "assets/icons/eye.svg" | safeHTML }}
</a>
{{ end }}
</div>
</div>
</article>