feat(resume): better json structure

This commit is contained in:
Laureηt 2021-11-06 22:15:29 +01:00
parent d6bd67a2da
commit 2ffea229a8
No known key found for this signature in database
GPG key ID: D88C6B294FD40994
2 changed files with 248 additions and 232 deletions

View file

@ -7,84 +7,92 @@
"label": "CS Engineering Student",
"about": "I am an hardworking and punctual person, I work well in a team, and equally good on my own. I have good listening and communication skills, I am well organized and rarely fail to meet deadlines."
},
"contacts_title": "Contacts",
"contacts": [
{
"contact": "laurentfainsin@protonmail.com",
"url": "mailto:laurentfainsin@protonmail.com",
"icon": "fa fa-envelope-o"
},
{
"contact": "+33781492838",
"url": "https://signal.org/",
"icon": "fa fa-phone"
},
{
"contact": "Brest, France",
"url": "https://www.openstreetmap.org/#map=12/48.3930/-4.4601",
"icon": "fa fa-location-arrow"
}
],
"socials_title": "Socials",
"socials": [
{
"network": "laurent-fainsin",
"url": "https://www.linkedin.com/in/laurent-fainsin/",
"icon": "fa fa-linkedin"
},
{
"network": "fainsil",
"url": "https://git.inpt.fr/fainsil",
"icon": "fa fa-gitlab"
},
{
"network": "@fainsil:inpt.fr",
"url": "https://matrix.to/#/@fainsil:inpt.fr",
"icon": "fa fa-matrix-org"
}
],
"school_projects_title": "School projects",
"school_projects": [
{
"title": "Sagittarius",
"repo": "https://git.inpt.fr/tobgang/sagittarius",
"pdf": "https://git.inpt.fr/tobgang/sagittarius-pdf/-/blob/master/iteration3/rapport3.pdf",
"role": "Author",
"description": "As a result of an object oriented programming project in java, here is a little 2D turn-based game inspired from a game, nspired by a game under the same name by George Prosser."
},
{
"title": "Minishell",
"repo": "https://git.inpt.fr/fainsil/minishell",
"role": "Author",
"description": "As a result of an object oriented programming project in java, here is a little 2D turn-based game inspired from a game, nspired by a game under the same name by George Prosser."
},
{
"title": "Pagerank",
"repo": "https://git.inpt.fr/fainsil/pagerank",
"pdf": "https://git.inpt.fr/fainsil/pagerank/-/blob/master/doc/rapport.pdf",
"role": "Author",
"description": "Implementation of an iterative algorithm in Ada to compute the pagerank of a given network as quickly and efficiently as possible."
}
],
"personnal_projects_title": "Personnal projects",
"personnal_projects": [
{
"title": "B00 plays GBA",
"repo": "https://git.inpt.fr/fainsil/booplaysgba/",
"role": "Author",
"description": "Using technologies such as websocket, redis, docker, rtmp, mgba and gluing it all together with Python, we get a collaborative emulator inspired from TwitchPlaysPokemon."
},
{
"title": "This website",
"repo": "https://git.inpt.fr/fainsil/personnal-website/",
"role": "Author",
"description": "I made this website almost entirely from scratch, I used the static site generetor 11ty.js to simplify the process thanks to its templating system. I learned a lot about HTML, CSS, Javascript and it also allowed me to strengthen my git skills."
}
],
"education_title": "Education",
"contacts": {
"title": "Contacts",
"list": [
{
"contact": "laurentfainsin@protonmail.com",
"url": "mailto:laurentfainsin@protonmail.com",
"icon": "fa fa-envelope-o"
},
{
"contact": "+33781492838",
"url": "https://signal.org/",
"icon": "fa fa-phone"
},
{
"contact": "Brest, France",
"url": "https://www.openstreetmap.org/#map=12/48.3930/-4.4601",
"icon": "fa fa-location-arrow"
}
]
},
"socials": {
"title": "Socials",
"list": [
{
"network": "laurent-fainsin",
"url": "https://www.linkedin.com/in/laurent-fainsin/",
"icon": "fa fa-linkedin"
},
{
"network": "fainsil",
"url": "https://git.inpt.fr/fainsil",
"icon": "fa fa-gitlab"
},
{
"network": "@fainsil:inpt.fr",
"url": "https://matrix.to/#/@fainsil:inpt.fr",
"icon": "fa fa-matrix-org"
}
]
},
"school_projects": {
"title": "School projects",
"list": [
{
"title": "Sagittarius",
"repo": "https://git.inpt.fr/tobgang/sagittarius",
"pdf": "https://git.inpt.fr/tobgang/sagittarius-pdf/-/blob/master/iteration3/rapport3.pdf",
"role": "Author",
"description": "As a result of an object oriented programming project in java, here is a little 2D turn-based game inspired from a game, nspired by a game under the same name by George Prosser."
},
{
"title": "Minishell",
"repo": "https://git.inpt.fr/fainsil/minishell",
"role": "Author",
"description": "As a result of an object oriented programming project in java, here is a little 2D turn-based game inspired from a game, nspired by a game under the same name by George Prosser."
},
{
"title": "Pagerank",
"repo": "https://git.inpt.fr/fainsil/pagerank",
"pdf": "https://git.inpt.fr/fainsil/pagerank/-/blob/master/doc/rapport.pdf",
"role": "Author",
"description": "Implementation of an iterative algorithm in Ada to compute the pagerank of a given network as quickly and efficiently as possible."
}
]
},
"personnal_projects": {
"title": "Personnal projects",
"list": [
{
"title": "B00 plays GBA",
"repo": "https://git.inpt.fr/fainsil/booplaysgba/",
"role": "Author",
"description": "Using technologies such as websocket, redis, docker, rtmp, mgba and gluing it all together with Python, we get a collaborative emulator inspired from TwitchPlaysPokemon."
},
{
"title": "This website",
"repo": "https://git.inpt.fr/fainsil/personnal-website/",
"role": "Author",
"description": "I made this website almost entirely from scratch, I used the static site generetor 11ty.js to simplify the process thanks to its templating system. I learned a lot about HTML, CSS, Javascript and it also allowed me to strengthen my git skills."
}
]
},
"education": {
"title": "Education",
"level": "Master degree",
"history": [
"list": [
{
"institution": "ENSEEIHT",
"title": "CS Engineer",
@ -111,141 +119,149 @@
}
]
},
"skills_title": "Skills",
"skills": [
{
"name": "General Softwares",
"level": "advanced",
"tags": [
"Linux",
"LaTeX",
"Git",
"Word",
"Excel"
]
},
{
"name": "Web Development",
"level": "intermediate",
"tags": [
"HTML5",
"CSS3",
"JavaScript",
"Django",
"11ty.js"
]
},
{
"name": "Scientific Computing",
"level": "intermediate",
"tags": [
"Numpy",
"Matlab",
"Julia"
]
},
{
"name": "Licenses",
"level": "french",
"tags": [
"AM",
"B",
"B1"
]
}
],
"reading_title": "Readings",
"reading": [
{
"title": "Data-Driven Science and Engineering",
"url": "http://www.databookuw.com/"
},
{
"title": "Linux Bible, 10th Edition",
"url": "https://www.oreilly.com/library/view/linux-bible-10th/9781119578888/"
},
{
"title": "The Book of Shaders",
"url": "https://thebookofshaders.com/"
},
{
"title": "r/programming",
"url": "https://www.reddit.com/r/programming"
},
{
"title": "r/privacy",
"url": "https://www.reddit.com/r/privacy"
}
],
"languages_title": "Languages",
"languages": [
{
"language": "French",
"level": "native",
"icon": "flag-icon flag-icon-fr"
},
{
"language": "English",
"level": "proficient",
"icon": "flag-icon flag-icon-gb"
},
{
"language": "Japanese",
"level": "beginner",
"icon": "flag-icon flag-icon-jp"
},
{
"language": "Spanish",
"level": "elementary",
"icon": "flag-icon flag-icon-es"
},
{
"language": "Python",
"level": "intermediate",
"icon": "devicon-python-plain"
},
{
"language": "Java",
"level": "intermediate",
"icon": "devicon-java-plain"
},
{
"language": "Rust",
"level": "beginner",
"icon": "devicon-rust-plain"
},
{
"language": "C",
"level": "beginner",
"icon": "devicon-c-plain"
}
],
"interests_title": "Interests",
"interests": [
{
"name": "GitHub/Gitlab",
"summary": "Regular open source software user and tinkerer.",
"tags": [
"Git",
"Open Source"
]
},
{
"name": "Archery",
"summary": "Practiced for a couple years the art of precision & accuracy.",
"tags": [
"Precision",
"Accuracy",
"Patience"
]
},
{
"name": "Fishkeeping",
"summary": "Tamagochis, but with real responsibilities.",
"tags": [
"Patience",
"Perfectionism"
]
}
]
"skills": {
"title": "Skills",
"list": [
{
"name": "General Softwares",
"level": "advanced",
"tags": [
"Linux",
"LaTeX",
"Git",
"Word",
"Excel"
]
},
{
"name": "Web Development",
"level": "intermediate",
"tags": [
"HTML5",
"CSS3",
"JavaScript",
"Django",
"11ty.js"
]
},
{
"name": "Scientific Computing",
"level": "intermediate",
"tags": [
"Numpy",
"Matlab",
"Julia"
]
},
{
"name": "Licenses",
"level": "french",
"tags": [
"AM",
"B",
"B1"
]
}
]
},
"reading": {
"title": "Readings",
"list": [
{
"title": "Data-Driven Science and Engineering",
"url": "http://www.databookuw.com/"
},
{
"title": "Linux Bible, 10th Edition",
"url": "https://www.oreilly.com/library/view/linux-bible-10th/9781119578888/"
},
{
"title": "The Book of Shaders",
"url": "https://thebookofshaders.com/"
},
{
"title": "r/programming",
"url": "https://www.reddit.com/r/programming"
},
{
"title": "r/privacy",
"url": "https://www.reddit.com/r/privacy"
}
]
},
"languages": {
"title": "Languages",
"list": [
{
"language": "French",
"level": "native",
"icon": "flag-icon flag-icon-fr"
},
{
"language": "English",
"level": "proficient",
"icon": "flag-icon flag-icon-gb"
},
{
"language": "Japanese",
"level": "beginner",
"icon": "flag-icon flag-icon-jp"
},
{
"language": "Spanish",
"level": "elementary",
"icon": "flag-icon flag-icon-es"
},
{
"language": "Python",
"level": "intermediate",
"icon": "devicon-python-plain"
},
{
"language": "Java",
"level": "intermediate",
"icon": "devicon-java-plain"
},
{
"language": "Rust",
"level": "beginner",
"icon": "devicon-rust-plain"
},
{
"language": "C",
"level": "beginner",
"icon": "devicon-c-plain"
}
]
},
"interests": {
"title": "Interests",
"list": [
{
"name": "GitHub/Gitlab",
"summary": "Regular open source software user and tinkerer.",
"tags": [
"Git",
"Open Source"
]
},
{
"name": "Archery",
"summary": "Practiced for a couple years the art of precision & accuracy.",
"tags": [
"Precision",
"Accuracy",
"Patience"
]
},
{
"name": "Fishkeeping",
"summary": "Tamagochis, but with real responsibilities.",
"tags": [
"Patience",
"Perfectionism"
]
}
]
}
}

View file

@ -41,8 +41,8 @@ permalink: "resume/{{ resume.locale }}/index.html"
<hr>
<h2>{{ resume.school_projects_title }}</h2>
{% for project in resume.school_projects %}
<h2>{{ resume.school_projects.title }}</h2>
{% for project in resume.school_projects.list %}
<section>
<h3>{{ project.title }}</h3>
<p>{{ project.description }}</p>
@ -60,8 +60,8 @@ permalink: "resume/{{ resume.locale }}/index.html"
<hr>
<h2>{{ resume.personnal_projects_title }}</h2>
{% for project in resume.personnal_projects %}
<h2>{{ resume.personnal_projects.title }}</h2>
{% for project in resume.personnal_projects.list %}
<section>
<h3>{{ project.title }}</h3>
<p>{{ project.description }}</p>
@ -78,9 +78,9 @@ permalink: "resume/{{ resume.locale }}/index.html"
<hr>
<h2>{{ resume.reading_title }}</h2>
<h2>{{ resume.reading.title }}</h2>
<ul>
{% for read in resume.reading %}
{% for read in resume.reading.list %}
<li>
<a href="{{ read.url }}">{{ read.title | safe }}</a>
</li>
@ -89,8 +89,8 @@ permalink: "resume/{{ resume.locale }}/index.html"
<hr>
<h2>{{ resume.interests_title }}</h2>
{% for interest in resume.interests %}
<h2>{{ resume.interests.title }}</h2>
{% for interest in resume.interests.list %}
<section>
<h3>{{ interest.name }}</h3>
<p>{{ interest.summary }}</p>
@ -106,9 +106,9 @@ permalink: "resume/{{ resume.locale }}/index.html"
<div class="col-2">
<h2>{{ resume.contacts_title }}</h2>
<h2>{{ resume.contacts.title }}</h2>
<ul>
{% for contact in resume.contacts %}
{% for contact in resume.contacts.list %}
<li>
<span class="{{ contact.icon }}"></span>
<a href="{{ contact.url }}">{{ contact.contact }}</a>
@ -118,9 +118,9 @@ permalink: "resume/{{ resume.locale }}/index.html"
<hr>
<h2>{{ resume.socials_title }}</h2>
<h2>{{ resume.socials.title }}</h2>
<ul>
{% for social in resume.socials %}
{% for social in resume.socials.list %}
<li>
<span class="{{social.icon}}"></span>
<a href="{{social.url}}">{{social.network}}</a>
@ -130,13 +130,13 @@ permalink: "resume/{{ resume.locale }}/index.html"
<hr>
<h2>{{ resume.education_title }}</h2>
<h2>{{ resume.education.title }}</h2>
<ul class="timeline">
<span class="arrow-up"></span>
<li class="event"></li>
{% for edu in resume.education.history %}
{% if edu.end != resume.education.history[loop.index - 2].start %}
{% for edu in resume.education.list %}
{% if edu.end != resume.education.list[loop.index - 2].start %}
{% if loop.index != 1 %}
<li class="event"></li>
{% endif %}
@ -157,9 +157,9 @@ permalink: "resume/{{ resume.locale }}/index.html"
<hr>
<h2>{{ resume.skills_title }}</h2>
<h2>{{ resume.skills.title }}</h2>
<ul>
{% for skill in resume.skills %}
{% for skill in resume.skills.list %}
<li>
{{ skill.name }}
{% if skill.level %}
@ -176,9 +176,9 @@ permalink: "resume/{{ resume.locale }}/index.html"
<hr>
<h2>{{ resume.languages_title }}</h2>
<h2>{{ resume.languages.title }}</h2>
<ul>
{% for lang in resume.languages %}
{% for lang in resume.languages.list %}
<li>
<span class="{{ lang.icon }}"></span>
{{ lang.language }}