Section En ligne : icônes des plateformes (LinkedIn, Malt, Stack Overflow, GitHub, Forgejo)
This commit is contained in:
parent
6714bb62a6
commit
7b74131c00
6 changed files with 81 additions and 18 deletions
12
src/components/icons/ForgejoIcon.astro
Normal file
12
src/components/icons/ForgejoIcon.astro
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
interface Props {
|
||||
size?: number;
|
||||
class?: string;
|
||||
}
|
||||
|
||||
const { size = 20, class: className = '' } = Astro.props;
|
||||
---
|
||||
|
||||
<svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor" class={className}>
|
||||
<path d="M16.7773 0c1.6018 0 2.9004 1.2986 2.9004 2.9005s-1.2986 2.9004-2.9004 2.9004c-1.0854 0-2.0315-.596-2.5288-1.4787H12.91c-2.3322 0-4.2272 1.8718-4.2649 4.195l-.0007 2.1175a7.0759 7.0759 0 0 1 4.148-1.4205l.1176-.001 1.3385.0002c.4973-.8827 1.4434-1.4788 2.5288-1.4788 1.6018 0 2.9004 1.2986 2.9004 2.9005s-1.2986 2.9004-2.9004 2.9004c-1.0854 0-2.0315-.596-2.5288-1.4787H12.91c-2.3322 0-4.2272 1.8718-4.2649 4.195l-.0007 2.319c.8827.4973 1.4788 1.4434 1.4788 2.5287 0 1.602-1.2986 2.9005-2.9005 2.9005-1.6018 0-2.9004-1.2986-2.9004-2.9005 0-1.0853.596-2.0314 1.4788-2.5287l-.0002-9.9831c0-3.887 3.1195-7.0453 6.9915-7.108l.1176-.001h1.3385C14.7458.5962 15.692 0 16.7773 0ZM7.2227 19.9052c-.6596 0-1.1943.5347-1.1943 1.1943s.5347 1.1943 1.1943 1.1943 1.1944-.5347 1.1944-1.1943-.5348-1.1943-1.1944-1.1943Zm9.5546-10.4644c-.6596 0-1.1944.5347-1.1944 1.1943s.5348 1.1943 1.1944 1.1943c.6596 0 1.1943-.5347 1.1943-1.1943s-.5347-1.1943-1.1943-1.1943Zm0-7.7346c-.6596 0-1.1944.5347-1.1944 1.1943s.5348 1.1943 1.1944 1.1943c.6596 0 1.1943-.5347 1.1943-1.1943s-.5347-1.1943-1.1943-1.1943Z"/>
|
||||
</svg>
|
||||
12
src/components/icons/GitHubIcon.astro
Normal file
12
src/components/icons/GitHubIcon.astro
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
interface Props {
|
||||
size?: number;
|
||||
class?: string;
|
||||
}
|
||||
|
||||
const { size = 20, class: className = '' } = Astro.props;
|
||||
---
|
||||
|
||||
<svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor" class={className}>
|
||||
<path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/>
|
||||
</svg>
|
||||
12
src/components/icons/LinkedInIcon.astro
Normal file
12
src/components/icons/LinkedInIcon.astro
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
interface Props {
|
||||
size?: number;
|
||||
class?: string;
|
||||
}
|
||||
|
||||
const { size = 20, class: className = '' } = Astro.props;
|
||||
---
|
||||
|
||||
<svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor" class={className}>
|
||||
<path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>
|
||||
</svg>
|
||||
12
src/components/icons/MaltIcon.astro
Normal file
12
src/components/icons/MaltIcon.astro
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
interface Props {
|
||||
size?: number;
|
||||
class?: string;
|
||||
}
|
||||
|
||||
const { size = 20, class: className = '' } = Astro.props;
|
||||
---
|
||||
|
||||
<svg width={size} height={size} viewBox="-0.2 9.5 6.5 6.5" fill="currentColor" class={className}>
|
||||
<path d="M3.499 13.563l-.21.21.619.618c.304.304.79.598 1.244.144.339-.34.26-.695.073-.98-.06.004-1.726.008-1.726.008zm-.963-2.325.21-.21-.608-.607c-.304-.303-.765-.621-1.243-.143-.351.35-.273.692-.087.97Zm2.86.416c-.037.043-1.511 1.524-1.511 1.524h1.154c.43 0 .981-.101.981-.777 0-.496-.296-.683-.624-.747zm-3.244-.031H.981c-.43 0-.981.135-.981.778 0 .479.307.676.641.745.04-.046 1.511-1.523 1.511-1.523zm1.484 3.04-.618-.618-.608.607a2.613 2.613 0 0 1-.137.128c.07.333.266.639.745.639s.676-.307.745-.641c-.043-.037-.085-.073-.127-.115zM2.41 10.15l.608.607.618-.618a2.25 2.25 0 0 1 .128-.118c-.065-.327-.251-.623-.747-.623s-.682.297-.746.625c.046.04.092.08.14.127zm2.742.117c-.455-.454-.94-.16-1.244.144l-2.87 2.87c-.303.303-.621.765-.143 1.243.478.478.94.16 1.243-.143l2.87-2.87c.304-.304.598-.79.144-1.244Z"/>
|
||||
</svg>
|
||||
12
src/components/icons/StackOverflowIcon.astro
Normal file
12
src/components/icons/StackOverflowIcon.astro
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
interface Props {
|
||||
size?: number;
|
||||
class?: string;
|
||||
}
|
||||
|
||||
const { size = 20, class: className = '' } = Astro.props;
|
||||
---
|
||||
|
||||
<svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor" class={className}>
|
||||
<path d="M15.725 0l-1.72 1.277 6.39 8.588 1.72-1.277L15.725 0zm-3.94 3.418l-1.369 1.644 8.225 6.85 1.369-1.644-8.225-6.85zm-3.15 4.465l-.905 1.94 9.702 4.517.905-1.94-9.702-4.517zm-1.85 4.86l-.44 2.093 10.473 2.201.44-2.092-10.473-2.203zM1.89 15.47V24h19.19v-8.53h-2.133v6.397H4.021v-6.396H1.89zm4.265 2.133v2.13h10.66v-2.13H6.154z"/>
|
||||
</svg>
|
||||
|
|
@ -6,6 +6,11 @@ import Link from "../../components/Link.astro";
|
|||
import FeaturedRecommendation from "../../components/code/FeaturedRecommendation.astro";
|
||||
import ProjectCard from "../../components/code/ProjectCard.astro";
|
||||
import ValueItem from "../../components/code/ValueItem.astro";
|
||||
import LinkedInIcon from "../../components/icons/LinkedInIcon.astro";
|
||||
import MaltIcon from "../../components/icons/MaltIcon.astro";
|
||||
import StackOverflowIcon from "../../components/icons/StackOverflowIcon.astro";
|
||||
import GitHubIcon from "../../components/icons/GitHubIcon.astro";
|
||||
import ForgejoIcon from "../../components/icons/ForgejoIcon.astro";
|
||||
import { getProjectBaseSlug, getProjectsBasePath } from "../../utils/i18n";
|
||||
import logoTiqa from "../../assets/images/logo-tiqa-blanc.png";
|
||||
|
||||
|
|
@ -165,24 +170,22 @@ function formatMonth(dateStr: string) {
|
|||
|
||||
<div class="mb-16">
|
||||
<h2 class="text-2xl font-bold text-white mb-6">En ligne</h2>
|
||||
<div class="flex flex-wrap gap-x-6 gap-y-2">
|
||||
{[
|
||||
{ label: 'LinkedIn', href: 'https://www.linkedin.com/in/jalil' },
|
||||
{ label: 'Malt', href: 'https://www.malt.fr/profile/jalilarfaoui' },
|
||||
{ label: 'Stack Overflow', href: 'https://stackexchange.com/users/54164/jalil' },
|
||||
{ label: 'GitHub', href: 'https://github.com/JalilArfaoui' },
|
||||
{ label: 'Framagit', href: 'https://framagit.org/jalil' },
|
||||
{ label: 'Forge personnelle', href: 'https://forge.tiqa.fr' },
|
||||
].map((link) => (
|
||||
<a
|
||||
href={link.href}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="text-sm text-white/50 hover:text-white transition-colors py-1"
|
||||
>
|
||||
{link.label}
|
||||
</a>
|
||||
))}
|
||||
<div class="flex flex-wrap gap-x-6 gap-y-3">
|
||||
<a href="https://www.linkedin.com/in/jalil" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 text-white/50 hover:text-white transition-colors">
|
||||
<LinkedInIcon size={18} /> LinkedIn
|
||||
</a>
|
||||
<a href="https://www.malt.fr/profile/jalilarfaoui" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 text-white/50 hover:text-white transition-colors">
|
||||
<MaltIcon size={18} /> Malt
|
||||
</a>
|
||||
<a href="https://stackexchange.com/users/54164/jalil" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 text-white/50 hover:text-white transition-colors">
|
||||
<StackOverflowIcon size={18} /> Stack Overflow
|
||||
</a>
|
||||
<a href="https://github.com/JalilArfaoui" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 text-white/50 hover:text-white transition-colors">
|
||||
<GitHubIcon size={18} /> GitHub
|
||||
</a>
|
||||
<a href="https://forge.tiqa.fr" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 text-white/50 hover:text-white transition-colors">
|
||||
<ForgejoIcon size={18} /> Forge personnelle
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue