mirror of
https://github.com/LucasVbr/LucasVbr.git
synced 2026-05-13 17:11:52 +00:00
Add more informations about me and animated emojis
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
.idea/
|
.idea/
|
||||||
.vscode/
|
.vscode/
|
||||||
|
|
||||||
|
venv/
|
||||||
|
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|||||||
@@ -1,23 +1,22 @@
|
|||||||
<header>
|
## Hi there! <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Hand%20gestures/Waving%20Hand.png" alt="Waving Hand" width="25" height="25" />
|
||||||
<div align="center">
|
|
||||||
|
|
||||||

|
I'm **Lucàs**, a passionate developer based in 🇫🇷 **Pau, France**.<br/>
|
||||||
|
My journey in the world of programming started 7 years ago when I fell in love with   .
|
||||||
|
|
||||||
</div>
|
### <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Travel%20and%20places/Rocket.png" alt="Rocket" width="25" height="25" /> What I do
|
||||||
</header>
|
|
||||||
|
|
||||||
## 🚀 About Me
|
- 💻 Currently, I'm studying at **UPPA** for my Master's degree in Informatics.
|
||||||
|
- 🌐 I specialize in Web Development, and I'm always eager to explore new technologies and frameworks.
|
||||||
|
- 🌱 I'm constantly learning and expanding my skill set to stay up-to-date with the ever-evolving tech landscape.
|
||||||
|
|
||||||
I'm a passionate developer from 🇫🇷 **Pau, France**.
|
### <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Travel%20and%20places/Globe%20Showing%20Europe-Africa.png" alt="Globe Showing Europe-Africa" width="25" height="25" /> Connect with me
|
||||||
|
|
||||||
## 🔗 Social Links
|
|
||||||
|
|
||||||
[](https://www.linkedin.com/in/lucasvbr)
|
[](https://www.linkedin.com/in/lucasvbr)
|
||||||
[](https://www.freecodecamp.org/LucasVbr)
|
[](https://www.freecodecamp.org/LucasVbr)
|
||||||
[](https://openclassrooms.com/fr/members/97j9zltv6225)
|
[](https://openclassrooms.com/fr/members/97j9zltv6225)
|
||||||
[](https://exercism.org/profiles/LucasVbr)
|
[](https://exercism.org/profiles/LucasVbr)
|
||||||
|
|
||||||
## 🛠 Skills
|
### <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Objects/Hammer%20and%20Wrench.png" alt="Hammer and Wrench" width="25" height="25" /> Tech Stack
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||
@@ -48,6 +47,10 @@ I'm a passionate developer from 🇫🇷 **Pau, France**.
|
|||||||

|

|
||||||

|

|
||||||
|
|
||||||
|
### <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Hand%20gestures/Handshake.png" alt="Handshake" width="25" height="25" /> Let's collaborate
|
||||||
|
|
||||||
|
👀 I'm always open to collaboration and exciting projects. If you have something in mind, feel free to reach out!
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
@@ -60,4 +63,4 @@ I'm a passionate developer from 🇫🇷 **Pau, France**.
|
|||||||

|

|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|||||||
@@ -1,222 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1000 400" width="1000" height="400">
|
|
||||||
<foreignObject width="100%" height="100%">
|
|
||||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<style>
|
|
||||||
.container {
|
|
||||||
font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
margin: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 400px;
|
|
||||||
/* background: linear-gradient(-45deg, #fc5c7d, #6a82fb, #05dfd7); */
|
|
||||||
background: #333;
|
|
||||||
background-size: 600% 400%;
|
|
||||||
border-radius: 10px;
|
|
||||||
/* color: white; */
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
text-align: center;
|
|
||||||
color: #fff;
|
|
||||||
font-size: 5em;
|
|
||||||
letter-spacing: 8px;
|
|
||||||
font-family: "Lucida Console", Monaco, monospace;
|
|
||||||
font-weight: 400;
|
|
||||||
/*Create overlap*/
|
|
||||||
|
|
||||||
margin: 0;
|
|
||||||
line-height: 0;
|
|
||||||
/*Animation*/
|
|
||||||
|
|
||||||
animation: glitch1 2.5s infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1:nth-child(2) {
|
|
||||||
color: #67f3da;
|
|
||||||
animation: glitch2 2.5s infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1:nth-child(3) {
|
|
||||||
color: #f16f6f;
|
|
||||||
animation: glitch3 2.5s infinite;
|
|
||||||
}
|
|
||||||
/*Keyframes*/
|
|
||||||
|
|
||||||
@keyframes glitch1 {
|
|
||||||
0% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
7% {
|
|
||||||
transform: skew(-0.5deg, -0.9deg);
|
|
||||||
opacity: 0.75;
|
|
||||||
}
|
|
||||||
10% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
27% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
30% {
|
|
||||||
transform: skew(0.8deg, -0.1deg);
|
|
||||||
opacity: 0.75;
|
|
||||||
}
|
|
||||||
35% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
52% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
55% {
|
|
||||||
transform: skew(-1deg, 0.2deg);
|
|
||||||
opacity: 0.75;
|
|
||||||
}
|
|
||||||
50% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
72% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
75% {
|
|
||||||
transform: skew(0.4deg, 1deg);
|
|
||||||
opacity: 0.75;
|
|
||||||
}
|
|
||||||
80% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes glitch2 {
|
|
||||||
0% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
7% {
|
|
||||||
transform: translate(-2px, -3px);
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
10% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
27% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
30% {
|
|
||||||
transform: translate(-5px, -2px);
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
35% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
52% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
55% {
|
|
||||||
transform: translate(-5px, -1px);
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
50% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
72% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
75% {
|
|
||||||
transform: translate(-2px, -6px);
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
80% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes glitch3 {
|
|
||||||
0% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
7% {
|
|
||||||
transform: translate(2px, 3px);
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
10% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
27% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
30% {
|
|
||||||
transform: translate(5px, 2px);
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
35% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
52% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
55% {
|
|
||||||
transform: translate(5px, 1px);
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
50% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
72% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
75% {
|
|
||||||
transform: translate(2px, 6px);
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
80% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: none;
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<div class="container">
|
|
||||||
<h1>Hi I'm Lucàs👋</h1>
|
|
||||||
<h1>Hi I'm Lucàs👋</h1>
|
|
||||||
<h1>Hi I'm Lucàs👋</h1>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</foreignObject>
|
|
||||||
<script xmlns=""/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 7.2 KiB |
+2
-1
@@ -1,4 +1,5 @@
|
|||||||
pyyaml
|
pyyaml
|
||||||
json
|
json
|
||||||
requests
|
requests
|
||||||
simpleicons
|
simpleicons
|
||||||
|
urllib3
|
||||||
+4
-10
@@ -1,7 +1,7 @@
|
|||||||
import yaml
|
import yaml
|
||||||
from src.model.skill_list import SkillList
|
from src.model.skill_list import skill_list
|
||||||
import requests
|
import requests
|
||||||
from src.model.social_list import SocialList
|
from src.model.social_list import social_list
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
@@ -22,16 +22,10 @@ class Config:
|
|||||||
raise Exception("User not found")
|
raise Exception("User not found")
|
||||||
self.config_data["user"] = response.json()
|
self.config_data["user"] = response.json()
|
||||||
|
|
||||||
def handle_skill_section(self):
|
|
||||||
self.config_data["skills"] = str(SkillList(self.config_data["skills"]))
|
|
||||||
|
|
||||||
def handle_social_section(self):
|
|
||||||
self.config_data["socials"] = str(SocialList(self.config_data["socials"]))
|
|
||||||
|
|
||||||
def get_data(self):
|
def get_data(self):
|
||||||
self.load_config_file()
|
self.load_config_file()
|
||||||
self.handle_user_info()
|
self.handle_user_info()
|
||||||
self.handle_skill_section()
|
self.config_data["skills"] = skill_list(self.config_data["skills"])
|
||||||
self.handle_social_section()
|
self.config_data["socials"] = social_list(self.config_data["socials"])
|
||||||
|
|
||||||
return self.config_data
|
return self.config_data
|
||||||
|
|||||||
+7
-11
@@ -1,15 +1,11 @@
|
|||||||
from src.model.skill import Skill
|
from src.model.skill import Skill
|
||||||
|
|
||||||
|
|
||||||
class SkillList:
|
def skill_list(skills: list[str]) -> dict[str, str]:
|
||||||
skills: list[Skill]
|
# Sort and remove duplicates
|
||||||
|
skills = list(set(skills))
|
||||||
|
skills.sort()
|
||||||
|
|
||||||
def __init__(self, skills: list[str]):
|
skills = {skill: Skill(skill).__str__() for skill in skills}
|
||||||
# Sort and remove duplicates
|
skills["all"] = "\n".join([str(skill) for skill in skills.values()])
|
||||||
skills = list(set(skills))
|
return skills
|
||||||
skills.sort()
|
|
||||||
|
|
||||||
self.skills = [Skill(skill) for skill in skills]
|
|
||||||
|
|
||||||
def __str__(self) -> str:
|
|
||||||
return "\n".join([str(skill) for skill in self.skills])
|
|
||||||
|
|||||||
@@ -1,11 +1,8 @@
|
|||||||
from src.model.social import Social
|
from src.model.social import Social
|
||||||
|
|
||||||
|
|
||||||
class SocialList:
|
def social_list(socials: list) -> dict[str, str]:
|
||||||
socials: list[Social]
|
socials: dict[str, str] = {social.get("name"): str(Social(social.get("name"), social.get("url"))) for social in
|
||||||
|
socials}
|
||||||
def __init__(self, socials: list):
|
socials["all"] = "\n".join([str(social) for social in socials.values()])
|
||||||
self.socials = [Social(social.get("name"), social.get("url")) for social in socials]
|
return socials
|
||||||
|
|
||||||
def __str__(self) -> str:
|
|
||||||
return "\n".join([str(social) for social in self.socials])
|
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ class Template:
|
|||||||
def __init__(self, template_path: str):
|
def __init__(self, template_path: str):
|
||||||
self.template_path = template_path
|
self.template_path = template_path
|
||||||
|
|
||||||
def render(self, **kwargs) -> str:
|
def render(self, **kwargs):
|
||||||
with open(self.template_path, 'r') as f:
|
with open(self.template_path, 'r') as f:
|
||||||
template = f.read()
|
template = f.read()
|
||||||
|
|
||||||
|
|||||||
+15
-12
@@ -1,22 +1,25 @@
|
|||||||
<header>
|
## Hi there! <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Hand%20gestures/Waving%20Hand.png" alt="Waving Hand" width="25" height="25" />
|
||||||
<div align="center">
|
|
||||||
|
|
||||||

|
I'm **{user[name]}**, a passionate developer based in 🇫🇷 **{user[location]}**.<br/>
|
||||||
|
My journey in the world of programming started 7 years ago when I fell in love with {skills[HTML5]} {skills[CSS3]} {skills[JavaScript]}.
|
||||||
|
|
||||||
</div>
|
### <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Travel%20and%20places/Rocket.png" alt="Rocket" width="25" height="25" /> What I do
|
||||||
</header>
|
|
||||||
|
|
||||||
## 🚀 About Me
|
- 💻 Currently, I'm studying at **{user[company]}** for my Master's degree in Informatics.
|
||||||
|
- 🌐 I specialize in Web Development, and I'm always eager to explore new technologies and frameworks.
|
||||||
|
- 🌱 I'm constantly learning and expanding my skill set to stay up-to-date with the ever-evolving tech landscape.
|
||||||
|
|
||||||
I'm a passionate developer from 🇫🇷 **{user[location]}**.
|
### <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Travel%20and%20places/Globe%20Showing%20Europe-Africa.png" alt="Globe Showing Europe-Africa" width="25" height="25" /> Connect with me
|
||||||
|
|
||||||
## 🔗 Social Links
|
{socials[all]}
|
||||||
|
|
||||||
{socials}
|
### <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Objects/Hammer%20and%20Wrench.png" alt="Hammer and Wrench" width="25" height="25" /> Tech Stack
|
||||||
|
|
||||||
## 🛠 Skills
|
{skills[all]}
|
||||||
|
|
||||||
{skills}
|
### <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Hand%20gestures/Handshake.png" alt="Handshake" width="25" height="25" /> Let's collaborate
|
||||||
|
|
||||||
|
👀 I'm always open to collaboration and exciting projects. If you have something in mind, feel free to reach out!
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -30,4 +33,4 @@ I'm a passionate developer from 🇫🇷 **{user[location]}**.
|
|||||||

|

|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|||||||
Reference in New Issue
Block a user