mirror of
https://github.com/hazemKrimi/personal-website.git
synced 2026-05-01 18:00:26 +00:00
Projects list page with project card
This commit is contained in:
@@ -57,7 +57,9 @@ body {
|
|||||||
#links .github,
|
#links .github,
|
||||||
#links .cv-paper-flip,
|
#links .cv-paper-flip,
|
||||||
#links .mail,
|
#links .mail,
|
||||||
#nav-toggler svg path {
|
#nav-toggler svg path,
|
||||||
|
.arrow,
|
||||||
|
.eye {
|
||||||
stroke: var(--text);
|
stroke: var(--text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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,5 +1,5 @@
|
|||||||
:root {
|
:root {
|
||||||
--footer-light-background: #ececec;
|
--footer-light-background: #ECECEC;
|
||||||
--footer-dark-background: #131212;
|
--footer-dark-background: #131212;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
:root {
|
:root {
|
||||||
--header-light-background: var(--white);
|
--header-light-background: #ECECEC;
|
||||||
--header-dark-background: #676666;
|
--header-dark-background: #676666;
|
||||||
--nav-light-background: var(--white);
|
--nav-light-background: #ECECEC;
|
||||||
--nav-dark-background: #121212;
|
--nav-dark-background: #121212;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<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 class="arrow" 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="M12 5L19 12L12 19" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 312 B After Width: | Height: | Size: 340 B |
@@ -1,4 +1,4 @@
|
|||||||
<svg width="21" height="22" viewBox="0 0 21 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<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 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 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="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>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 580 B After Width: | Height: | Size: 604 B |
@@ -49,6 +49,12 @@ function loadTheme() {
|
|||||||
? 'var(--button-light-background)'
|
? 'var(--button-light-background)'
|
||||||
: 'var(--button-dark-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(
|
root.style.setProperty(
|
||||||
'--footer-background',
|
'--footer-background',
|
||||||
theme === 'light'
|
theme === 'light'
|
||||||
|
|||||||
@@ -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.
|
||||||
@@ -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
|
||||||
|
---
|
||||||
@@ -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
|
||||||
|
|
||||||
|

|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 68 KiB |
@@ -1,5 +1,5 @@
|
|||||||
{{ define "styles" }}
|
{{ 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 }}" />
|
<link rel="stylesheet" href="{{ $styles.Permalink }}" />
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@@ -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 }}
|
||||||
@@ -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>
|
||||||
Reference in New Issue
Block a user