From 07e5c1e73d752415a8a433c629b2614e98eb507b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luc=C3=A0s?= <86352901+LucasVbr@users.noreply.github.com>
Date: Mon, 14 Jul 2025 00:30:34 +0200
Subject: [PATCH] feat: Clear main branch
Took 3 minutes
---
.gitignore | 6 --
.idea/.gitignore | 8 ++
.idea/LucasVbr.iml | 14 +++
.idea/discord.xml | 7 ++
.idea/inspectionProfiles/Project_Default.xml | 26 +++++
.../inspectionProfiles/profiles_settings.xml | 6 ++
.idea/misc.xml | 7 ++
.idea/modules.xml | 8 ++
.idea/vcs.xml | 12 +++
.idea/watcherTasks.xml | 4 +
.idea/webResources.xml | 14 +++
README.md | 68 --------------
config.yaml | 48 ----------
main.py | 17 ----
requirements | 5 -
src/config.py | 31 ------
src/model/skill.py | 13 ---
src/model/skill_list.py | 11 ---
src/model/social.py | 14 ---
src/model/social_list.py | 8 --
src/shield/shield_builder.py | 94 -------------------
src/shield/skill_shield.py | 33 -------
src/shield/social_shield.py | 37 --------
src/template.py | 10 --
template.md | 36 -------
25 files changed, 106 insertions(+), 431 deletions(-)
delete mode 100644 .gitignore
create mode 100644 .idea/.gitignore
create mode 100644 .idea/LucasVbr.iml
create mode 100644 .idea/discord.xml
create mode 100644 .idea/inspectionProfiles/Project_Default.xml
create mode 100644 .idea/inspectionProfiles/profiles_settings.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/vcs.xml
create mode 100644 .idea/watcherTasks.xml
create mode 100644 .idea/webResources.xml
delete mode 100644 README.md
delete mode 100644 config.yaml
delete mode 100644 main.py
delete mode 100644 requirements
delete mode 100644 src/config.py
delete mode 100644 src/model/skill.py
delete mode 100644 src/model/skill_list.py
delete mode 100644 src/model/social.py
delete mode 100644 src/model/social_list.py
delete mode 100644 src/shield/shield_builder.py
delete mode 100644 src/shield/skill_shield.py
delete mode 100644 src/shield/social_shield.py
delete mode 100644 src/template.py
delete mode 100644 template.md
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 241e833..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-.idea/
-.vscode/
-
-venv/
-
-.DS_Store
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/LucasVbr.iml b/.idea/LucasVbr.iml
new file mode 100644
index 0000000..42ac0e6
--- /dev/null
+++ b/.idea/LucasVbr.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/discord.xml b/.idea/discord.xml
new file mode 100644
index 0000000..30bab2a
--- /dev/null
+++ b/.idea/discord.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..677c559
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..e96f1cc
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..c02f1e4
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..7ddfc9e
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/watcherTasks.xml b/.idea/watcherTasks.xml
new file mode 100644
index 0000000..afc2f4e
--- /dev/null
+++ b/.idea/watcherTasks.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/webResources.xml b/.idea/webResources.xml
new file mode 100644
index 0000000..614e30f
--- /dev/null
+++ b/.idea/webResources.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100644
index 5ca31c5..0000000
--- a/README.md
+++ /dev/null
@@ -1,68 +0,0 @@
-## Hi there!
-
-I'm **Lucàs**, a passionate developer based in 🇫🇷 **Pau, France**.
-My journey in the world of programming started 7 years ago when I fell in love with   .
-
-###
What I do
-
-- 💻 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.
-
-###
Connect with me
-
-[](https://www.lucasvbr.dev)
-[](https://www.linkedin.com/in/lucasvbr)
-[](https://www.freecodecamp.org/LucasVbr)
-[](https://openclassrooms.com/fr/members/97j9zltv6225)
-[](https://exercism.org/profiles/LucasVbr)
-
-###
Tech Stack
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-###
Let's collaborate
-
-👀 I'm always open to collaboration and exciting projects. If you have something in mind, feel free to reach out!
-
----
-
-
diff --git a/config.yaml b/config.yaml
deleted file mode 100644
index b38fab3..0000000
--- a/config.yaml
+++ /dev/null
@@ -1,48 +0,0 @@
-user: "LucasVbr"
-
-socials:
- - name: "Portfolio"
- url: "https://www.lucasvbr.dev"
-
- - name: "Linkedin"
- url: "https://www.linkedin.com/in/lucasvbr"
-
- - name: "FreeCodeCamp"
- url: "https://www.freecodecamp.org/LucasVbr"
-
- - name: "OpenClassRooms"
- url: "https://openclassrooms.com/fr/members/97j9zltv6225"
-
- - name: "Exercism"
- url: "https://exercism.org/profiles/LucasVbr"
-
-skills:
- - Android
- - Angular
- - Astro
- - Bun
- - Bootstrap
- - Bulma
- - C
- - CSS3
- - Deno
- - Docker
- - Express
- - Figma
- - Git
- - GNU Bash
- - HTML5
- - JavaScript
- - MariaDB
- - MongoDB
- - MySQL
- - Node.js
- - OCaml
- - PHP
- - PostgreSQL
- - Pug
- - Python
- - React
- - SQLite
- - Symfony
- - TypeScript
\ No newline at end of file
diff --git a/main.py b/main.py
deleted file mode 100644
index c878ea5..0000000
--- a/main.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from src.config import Config
-from src.template import Template
-
-CONFIG_FILE = 'config.yaml'
-TEMPLATE_FILE = 'template.md'
-OUTPUT_FILE = 'README.md'
-
-if __name__ == '__main__':
- template = Template(TEMPLATE_FILE)
- data = Config(CONFIG_FILE).get_data()
-
- # Generate README file
- render = template.render(**data)
- with open(OUTPUT_FILE, 'w') as f:
- f.write(render)
-
- print(f"{OUTPUT_FILE} generated successfully! 🎉")
diff --git a/requirements b/requirements
deleted file mode 100644
index 98eb82d..0000000
--- a/requirements
+++ /dev/null
@@ -1,5 +0,0 @@
-pyyaml
-json
-requests
-simpleicons
-urllib3
\ No newline at end of file
diff --git a/src/config.py b/src/config.py
deleted file mode 100644
index 71a72e1..0000000
--- a/src/config.py
+++ /dev/null
@@ -1,31 +0,0 @@
-import yaml
-from src.model.skill_list import skill_list
-import requests
-from src.model.social_list import social_list
-
-
-class Config:
- config_file_path: str
- config_data: dict[str, any] = None
-
- def __init__(self, config_file_path: str):
- self.config_file_path = config_file_path
-
- def load_config_file(self):
- with open(self.config_file_path, 'r') as config_file:
- self.config_data = yaml.safe_load(config_file)
-
- def handle_user_info(self):
- user = self.config_data["user"]
- response = requests.get(f"https://api.github.com/users/{user}")
- if response.status_code != 200:
- raise Exception("User not found")
- self.config_data["user"] = response.json()
-
- def get_data(self):
- self.load_config_file()
- self.handle_user_info()
- self.config_data["skills"] = skill_list(self.config_data["skills"])
- self.config_data["socials"] = social_list(self.config_data["socials"])
-
- return self.config_data
diff --git a/src/model/skill.py b/src/model/skill.py
deleted file mode 100644
index 093024b..0000000
--- a/src/model/skill.py
+++ /dev/null
@@ -1,13 +0,0 @@
-from src.shield.skill_shield import SkillShield
-
-
-class Skill:
- alt: str
- src: str
-
- def __init__(self, name: str):
- self.alt = name
- self.src = SkillShield(name).__str__()
-
- def __str__(self) -> str:
- return f""
diff --git a/src/model/skill_list.py b/src/model/skill_list.py
deleted file mode 100644
index ee746ad..0000000
--- a/src/model/skill_list.py
+++ /dev/null
@@ -1,11 +0,0 @@
-from src.model.skill import Skill
-
-
-def skill_list(skills: list[str]) -> dict[str, str]:
- # Sort and remove duplicates
- skills = list(set(skills))
- skills.sort()
-
- skills = {skill: Skill(skill).__str__() for skill in skills}
- skills["all"] = "\n".join([str(skill) for skill in skills.values()])
- return skills
diff --git a/src/model/social.py b/src/model/social.py
deleted file mode 100644
index a96ad54..0000000
--- a/src/model/social.py
+++ /dev/null
@@ -1,14 +0,0 @@
-from src.shield.social_shield import SocialShield
-
-
-class Social:
- name: str
- img: str
-
- def __init__(self, name: str, url: str):
- self.name = name
- self.img = SocialShield(name, url).__str__()
- self.url = url
-
- def __str__(self) -> str:
- return f"[]({self.url})"
diff --git a/src/model/social_list.py b/src/model/social_list.py
deleted file mode 100644
index f3106ca..0000000
--- a/src/model/social_list.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from src.model.social import Social
-
-
-def social_list(socials: list) -> dict[str, str]:
- socials: dict[str, str] = {social.get("name"): str(Social(social.get("name"), social.get("url"))) for social in
- socials}
- socials["all"] = "\n".join([str(social) for social in socials.values()])
- return socials
diff --git a/src/shield/shield_builder.py b/src/shield/shield_builder.py
deleted file mode 100644
index b9a2977..0000000
--- a/src/shield/shield_builder.py
+++ /dev/null
@@ -1,94 +0,0 @@
-from urllib.parse import urlunsplit, urlencode
-from simpleicons.all import icons
-
-class ShieldBuilder:
- BASE_URL = "https://img.shields.io/static/v1"
-
- message: str = None
- style: str = None
- logo: str = None
- logo_color: str = None
- label: str = None
- label_color: str = None
- color: str = None
- cache_seconds: int = None
- link: str = None
-
- def __init__(self):
- self.logo_color = "white"
- self.label = " "
- self.color = "black"
-
- def set_message(self, message: str):
- self.message = (
- message
- .replace("_", "__")
- .replace("-", "--")
- .replace(" ", "_")
- )
- return self
-
- def set_style(self, style: str):
- if not style in ["flat", "flat-square", "plastic", "for-the-badge", "social"]:
- raise Exception("Invalid style")
-
- self.style = style
- return self
-
- def set_logo(self, logo: str):
- self.logo = icons.get(logo).slug if logo in icons else None
- return self
-
- def set_logo_color(self, logo_color: str):
- self.logo_color = logo_color
- return self
-
- def set_label(self, label: str):
- self.label = label
- return self
-
- def set_label_color(self, label_color: str):
- self.label_color = label_color
- return self
-
- def set_color(self, color: str):
- self.color = color
- return self
-
- def set_cache_seconds(self, cache_seconds: int):
- self.cache_seconds = cache_seconds
- return self
-
- def set_link(self, link: str):
- self.link = link
- return self
-
- def get_query(self):
- query = {
- "message": self.message,
- "style": self.style,
- "logo": self.logo,
- "logoColor": self.logo_color,
- "label": self.label,
- "labelColor": self.label_color,
- "color": self.color,
- "cacheSeconds": self.cache_seconds,
- "link": self.link
- }
-
- # Remove None values
- return {k: v for k, v in query.items() if v is not None}
-
- def build(self):
- query = urlencode(self.get_query())
- return urlunsplit(("", "", self.BASE_URL, query, ""))
-
-
-if "__main__" == __name__:
- shield_builder = (
- ShieldBuilder()
- .set_logo("HTML5")
- .set_message("HTML5")
- .build()
- )
- print(shield_builder)
diff --git a/src/shield/skill_shield.py b/src/shield/skill_shield.py
deleted file mode 100644
index 3853513..0000000
--- a/src/shield/skill_shield.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from simpleicons.all import icons
-
-from src.shield.shield_builder import ShieldBuilder
-
-
-class SkillShield:
-
- def __init__(self, name: str = None):
- self.builder = ShieldBuilder()
- self.skill = self.set_skill(name) if name is not None else None
-
- def get_skill(self):
- return self.skill
-
- def set_skill(self, name: str):
- self.skill = icons.get(name)
-
- if self.skill is not None:
- (self.builder.set_message(self.skill.title)
- .set_logo(self.skill.slug)
- .set_color(self.skill.hex)
- )
- else:
- self.builder.set_message(name)
-
- def get_builder(self):
- return self.builder
-
- def __repr__(self):
- self.__str__()
-
- def __str__(self):
- return self.builder.build()
diff --git a/src/shield/social_shield.py b/src/shield/social_shield.py
deleted file mode 100644
index d164572..0000000
--- a/src/shield/social_shield.py
+++ /dev/null
@@ -1,37 +0,0 @@
-from simpleicons.all import icons
-
-from src.shield.shield_builder import ShieldBuilder
-
-
-class SocialShield:
-
- def __init__(self, name: str = None, url: str = None):
- self.builder = ShieldBuilder().set_style("for-the-badge")
- self.name = name
- self.url = url
- self.social = self.set_social(name, url) if name is not None and url is not None else None
-
- def get_social(self):
- return self.social
-
- def set_social(self, name: str, url: str):
- self.social = icons.get(name)
-
- if self.social is not None:
- (self.builder.set_message(self.social.title)
- .set_logo(self.social.slug)
- .set_color(self.social.hex)
- )
- else:
- self.builder.set_message(name)
-
- self.builder.set_link(url)
-
- def get_builder(self):
- return self.builder
-
- def __repr__(self):
- self.__str__()
-
- def __str__(self):
- return self.builder.build()
diff --git a/src/template.py b/src/template.py
deleted file mode 100644
index b5a91f9..0000000
--- a/src/template.py
+++ /dev/null
@@ -1,10 +0,0 @@
-class Template:
-
- def __init__(self, template_path: str):
- self.template_path = template_path
-
- def render(self, **kwargs):
- with open(self.template_path, 'r') as f:
- template = f.read()
-
- return template.format(**kwargs)
diff --git a/template.md b/template.md
deleted file mode 100644
index 181c03b..0000000
--- a/template.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## Hi there!
-
-I'm **{user[name]}**, a passionate developer based in 🇫🇷 **{user[location]}**.
-My journey in the world of programming started 7 years ago when I fell in love with {skills[HTML5]} {skills[CSS3]} {skills[JavaScript]}.
-
-###
What I do
-
-- 💻 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.
-
-###
Connect with me
-
-{socials[all]}
-
-###
Tech Stack
-
-{skills[all]}
-
-###
Let's collaborate
-
-👀 I'm always open to collaboration and exciting projects. If you have something in mind, feel free to reach out!
-
----
-
-