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", "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." "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": {
"contacts": [ "title": "Contacts",
{ "list": [
"contact": "laurentfainsin@protonmail.com", {
"url": "mailto:laurentfainsin@protonmail.com", "contact": "laurentfainsin@protonmail.com",
"icon": "fa fa-envelope-o" "url": "mailto:laurentfainsin@protonmail.com",
}, "icon": "fa fa-envelope-o"
{ },
"contact": "+33781492838", {
"url": "https://signal.org/", "contact": "+33781492838",
"icon": "fa fa-phone" "url": "https://signal.org/",
}, "icon": "fa fa-phone"
{ },
"contact": "Brest, France", {
"url": "https://www.openstreetmap.org/#map=12/48.3930/-4.4601", "contact": "Brest, France",
"icon": "fa fa-location-arrow" "url": "https://www.openstreetmap.org/#map=12/48.3930/-4.4601",
} "icon": "fa fa-location-arrow"
], }
"socials_title": "Socials", ]
"socials": [ },
{ "socials": {
"network": "laurent-fainsin", "title": "Socials",
"url": "https://www.linkedin.com/in/laurent-fainsin/", "list": [
"icon": "fa fa-linkedin" {
}, "network": "laurent-fainsin",
{ "url": "https://www.linkedin.com/in/laurent-fainsin/",
"network": "fainsil", "icon": "fa fa-linkedin"
"url": "https://git.inpt.fr/fainsil", },
"icon": "fa fa-gitlab" {
}, "network": "fainsil",
{ "url": "https://git.inpt.fr/fainsil",
"network": "@fainsil:inpt.fr", "icon": "fa fa-gitlab"
"url": "https://matrix.to/#/@fainsil:inpt.fr", },
"icon": "fa fa-matrix-org" {
} "network": "@fainsil:inpt.fr",
], "url": "https://matrix.to/#/@fainsil:inpt.fr",
"school_projects_title": "School projects", "icon": "fa fa-matrix-org"
"school_projects": [ }
{ ]
"title": "Sagittarius", },
"repo": "https://git.inpt.fr/tobgang/sagittarius", "school_projects": {
"pdf": "https://git.inpt.fr/tobgang/sagittarius-pdf/-/blob/master/iteration3/rapport3.pdf", "title": "School projects",
"role": "Author", "list": [
"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": "Sagittarius",
{ "repo": "https://git.inpt.fr/tobgang/sagittarius",
"title": "Minishell", "pdf": "https://git.inpt.fr/tobgang/sagittarius-pdf/-/blob/master/iteration3/rapport3.pdf",
"repo": "https://git.inpt.fr/fainsil/minishell", "role": "Author",
"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."
"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",
"title": "Pagerank", "repo": "https://git.inpt.fr/fainsil/minishell",
"repo": "https://git.inpt.fr/fainsil/pagerank", "role": "Author",
"pdf": "https://git.inpt.fr/fainsil/pagerank/-/blob/master/doc/rapport.pdf", "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."
"role": "Author", },
"description": "Implementation of an iterative algorithm in Ada to compute the pagerank of a given network as quickly and efficiently as possible." {
} "title": "Pagerank",
], "repo": "https://git.inpt.fr/fainsil/pagerank",
"personnal_projects_title": "Personnal projects", "pdf": "https://git.inpt.fr/fainsil/pagerank/-/blob/master/doc/rapport.pdf",
"personnal_projects": [ "role": "Author",
{ "description": "Implementation of an iterative algorithm in Ada to compute the pagerank of a given network as quickly and efficiently as possible."
"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." "personnal_projects": {
}, "title": "Personnal projects",
{ "list": [
"title": "This website", {
"repo": "https://git.inpt.fr/fainsil/personnal-website/", "title": "B00 plays GBA",
"role": "Author", "repo": "https://git.inpt.fr/fainsil/booplaysgba/",
"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." "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."
], },
"education_title": "Education", {
"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": { "education": {
"title": "Education",
"level": "Master degree", "level": "Master degree",
"history": [ "list": [
{ {
"institution": "ENSEEIHT", "institution": "ENSEEIHT",
"title": "CS Engineer", "title": "CS Engineer",
@ -111,141 +119,149 @@
} }
] ]
}, },
"skills_title": "Skills", "skills": {
"skills": [ "title": "Skills",
{ "list": [
"name": "General Softwares", {
"level": "advanced", "name": "General Softwares",
"tags": [ "level": "advanced",
"Linux", "tags": [
"LaTeX", "Linux",
"Git", "LaTeX",
"Word", "Git",
"Excel" "Word",
] "Excel"
}, ]
{ },
"name": "Web Development", {
"level": "intermediate", "name": "Web Development",
"tags": [ "level": "intermediate",
"HTML5", "tags": [
"CSS3", "HTML5",
"JavaScript", "CSS3",
"Django", "JavaScript",
"11ty.js" "Django",
] "11ty.js"
}, ]
{ },
"name": "Scientific Computing", {
"level": "intermediate", "name": "Scientific Computing",
"tags": [ "level": "intermediate",
"Numpy", "tags": [
"Matlab", "Numpy",
"Julia" "Matlab",
] "Julia"
}, ]
{ },
"name": "Licenses", {
"level": "french", "name": "Licenses",
"tags": [ "level": "french",
"AM", "tags": [
"B", "AM",
"B1" "B",
] "B1"
} ]
], }
"reading_title": "Readings", ]
"reading": [ },
{ "reading": {
"title": "Data-Driven Science and Engineering", "title": "Readings",
"url": "http://www.databookuw.com/" "list": [
}, {
{ "title": "Data-Driven Science and Engineering",
"title": "Linux Bible, 10th Edition", "url": "http://www.databookuw.com/"
"url": "https://www.oreilly.com/library/view/linux-bible-10th/9781119578888/" },
}, {
{ "title": "Linux Bible, 10th Edition",
"title": "The Book of Shaders", "url": "https://www.oreilly.com/library/view/linux-bible-10th/9781119578888/"
"url": "https://thebookofshaders.com/" },
}, {
{ "title": "The Book of Shaders",
"title": "r/programming", "url": "https://thebookofshaders.com/"
"url": "https://www.reddit.com/r/programming" },
}, {
{ "title": "r/programming",
"title": "r/privacy", "url": "https://www.reddit.com/r/programming"
"url": "https://www.reddit.com/r/privacy" },
} {
], "title": "r/privacy",
"languages_title": "Languages", "url": "https://www.reddit.com/r/privacy"
"languages": [ }
{ ]
"language": "French", },
"level": "native", "languages": {
"icon": "flag-icon flag-icon-fr" "title": "Languages",
}, "list": [
{ {
"language": "English", "language": "French",
"level": "proficient", "level": "native",
"icon": "flag-icon flag-icon-gb" "icon": "flag-icon flag-icon-fr"
}, },
{ {
"language": "Japanese", "language": "English",
"level": "beginner", "level": "proficient",
"icon": "flag-icon flag-icon-jp" "icon": "flag-icon flag-icon-gb"
}, },
{ {
"language": "Spanish", "language": "Japanese",
"level": "elementary", "level": "beginner",
"icon": "flag-icon flag-icon-es" "icon": "flag-icon flag-icon-jp"
}, },
{ {
"language": "Python", "language": "Spanish",
"level": "intermediate", "level": "elementary",
"icon": "devicon-python-plain" "icon": "flag-icon flag-icon-es"
}, },
{ {
"language": "Java", "language": "Python",
"level": "intermediate", "level": "intermediate",
"icon": "devicon-java-plain" "icon": "devicon-python-plain"
}, },
{ {
"language": "Rust", "language": "Java",
"level": "beginner", "level": "intermediate",
"icon": "devicon-rust-plain" "icon": "devicon-java-plain"
}, },
{ {
"language": "C", "language": "Rust",
"level": "beginner", "level": "beginner",
"icon": "devicon-c-plain" "icon": "devicon-rust-plain"
} },
], {
"interests_title": "Interests", "language": "C",
"interests": [ "level": "beginner",
{ "icon": "devicon-c-plain"
"name": "GitHub/Gitlab", }
"summary": "Regular open source software user and tinkerer.", ]
"tags": [ },
"Git", "interests": {
"Open Source" "title": "Interests",
] "list": [
}, {
{ "name": "GitHub/Gitlab",
"name": "Archery", "summary": "Regular open source software user and tinkerer.",
"summary": "Practiced for a couple years the art of precision & accuracy.", "tags": [
"tags": [ "Git",
"Precision", "Open Source"
"Accuracy", ]
"Patience" },
] {
}, "name": "Archery",
{ "summary": "Practiced for a couple years the art of precision & accuracy.",
"name": "Fishkeeping", "tags": [
"summary": "Tamagochis, but with real responsibilities.", "Precision",
"tags": [ "Accuracy",
"Patience", "Patience"
"Perfectionism" ]
] },
} {
] "name": "Fishkeeping",
"summary": "Tamagochis, but with real responsibilities.",
"tags": [
"Patience",
"Perfectionism"
]
}
]
}
} }

View file

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