refactor[resume]: lots of small changes
This commit is contained in:
parent
88aa68e915
commit
8225f465bc
|
@ -23,7 +23,6 @@ module.exports = function (eleventyConfig) {
|
|||
eleventyConfig.addWatchTarget("./src/scss/");
|
||||
eleventyConfig.setLibrary("md", markdownLib);
|
||||
eleventyConfig.addPlugin(pluginNavigation);
|
||||
eleventyConfig.setUseGitIgnore(false);
|
||||
eleventyConfig.addPassthroughCopy({
|
||||
"assets/": "./",
|
||||
});
|
||||
|
@ -100,6 +99,10 @@ module.exports = function (eleventyConfig) {
|
|||
return year.toString();
|
||||
});
|
||||
|
||||
eleventyConfig.addFilter("renderMarkdown", function (rawString) {
|
||||
return markdownLib.renderInline(rawString);
|
||||
});
|
||||
|
||||
return {
|
||||
markdownTemplateEngine: "njk",
|
||||
passthroughFileCopy: true,
|
||||
|
|
|
@ -17,8 +17,8 @@ contacts:
|
|||
url: https://signal.org/
|
||||
icon: fa fa-phone
|
||||
|
||||
Brest, France:
|
||||
url: https://www.openstreetmap.org/#map=12/48.3930/-4.4601
|
||||
Toulouse, France:
|
||||
url: https://www.openstreetmap.org/relation/35738#map=12/43.6/1.44
|
||||
icon: fa fa-location-arrow
|
||||
|
||||
socials:
|
||||
|
@ -40,7 +40,7 @@ experience:
|
|||
title: Professional experience
|
||||
list:
|
||||
Bio-cleaning agent:
|
||||
description: Blue-collar internship at the Centrer Hospitalier Régional Universitaire de Brest (CHRU) for a two-month period. I learned to organize and work efficiently in a team.
|
||||
description: Blue-collar internship at the [Centrer Hospitalier Régional Universitaire de Brest (CHRU)](https://www.chu-brest.fr/fr) for a two-month period. I learned to organize and work efficiently in a team.
|
||||
date: Summer 2021
|
||||
|
||||
school_projects:
|
||||
|
@ -50,34 +50,35 @@ school_projects:
|
|||
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 by a game under the same name
|
||||
by George Prosser.
|
||||
description: From an object oriented programming project in [Java](https://en.wikipedia.org/wiki/Java_(programming_language)), a little 2D turn-based game inspired by [a game under the same name by George Prosser](https://gprosser.itch.io/sagittarius).
|
||||
|
||||
Minishell:
|
||||
repo: https://git.inpt.fr/fainsil/minishell
|
||||
role: Author
|
||||
description: Implementation of a basic shell program in C, capable of launching programs, piping their streams and sending them signals.
|
||||
description: Implementation of a basic [shell program](https://en.wikipedia.org/wiki/Shell_(computing)) in [C](https://en.wikipedia.org/wiki/C_(programming_language)), capable of launching programs, piping their streams and sending them signals.
|
||||
|
||||
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.
|
||||
description: Implementation of an iterative algorithm in [Ada](https://en.wikipedia.org/wiki/Ada_(programming_language)) to compute the [pagerank](https://en.wikipedia.org/wiki/PageRank) of a given network as quickly and efficiently as possible.
|
||||
|
||||
personnal_projects:
|
||||
title: Personnal projects
|
||||
list:
|
||||
net7/INP-net:
|
||||
role: Treasurer/President
|
||||
description: Active member of my school's computer association which provides many services to over 10,000 students.
|
||||
|
||||
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.
|
||||
description: Using technologies such as [websocket](https://websockets.readthedocs.io/en/stable/), [redis](https://redis.io/), [docker](https://www.docker.com/), [rtmp](https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol), [mgba](https://github.com/mgba-emu/mgba) and gluing it all together with [Python](https://en.wikipedia.org/wiki/Python_(programming_language)), we get a collaborative emulator inspired from [TwitchPlaysPokemon](https://en.wikipedia.org/wiki/Twitch_Plays_Pok%C3%A9mon).
|
||||
|
||||
This website:
|
||||
Personnal 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.
|
||||
description: Simple website built with the static site generetor [11ty.js](https://www.11ty.dev/). Made with [Nunjucks](https://mozilla.github.io/nunjucks/), [SCSS](https://sass-lang.com/), [Javascript](https://developer.mozilla.org/fr/docs/Web/JavaScript), [Yarn](https://yarnpkg.com/) and autodeployed with a [GitLab pipeline](https://git.inpt.fr/fainsil/personnal-website/-/pipelines).
|
||||
|
||||
education:
|
||||
title: Education
|
||||
|
@ -110,51 +111,52 @@ skills:
|
|||
Text Processing:
|
||||
level: advanced
|
||||
tags:
|
||||
- Word
|
||||
- Excel
|
||||
- LaTeX
|
||||
- Markdown
|
||||
- "[Word](https://www.microsoft.com/fr-fr/microsoft-365/word)"
|
||||
- "[Excel](https://www.microsoft.com/fr-fr/microsoft-365/excel)"
|
||||
- "[LaTeX](https://www.latex-project.org/)"
|
||||
- "[Markdown](https://en.wikipedia.org/wiki/Markdown)"
|
||||
|
||||
Scientific Computing:
|
||||
level: advanced
|
||||
tags:
|
||||
- Numpy
|
||||
- Tensorflow
|
||||
- "[Numpy](https://www.microsoft.com/fr-fr/microsoft-365/word)"
|
||||
- "[Matplotlib](https://matplotlib.org/)"
|
||||
- "[Tensorflow](https://www.tensorflow.org/)"
|
||||
|
||||
AdminSys:
|
||||
level: advanced
|
||||
tags:
|
||||
- Linux
|
||||
- Git
|
||||
- Apache
|
||||
- Nginx
|
||||
- "[Linux](https://en.wikipedia.org/wiki/Linux)"
|
||||
- "[Git](https://git-scm.com/)"
|
||||
- "[Apache](https://httpd.apache.org/)"
|
||||
- "[Nginx](https://www.nginx.com/)"
|
||||
|
||||
CI/CD:
|
||||
level: intermediate
|
||||
tags:
|
||||
- Docker
|
||||
- Kubernetes
|
||||
- "[Docker](https://www.docker.com/)"
|
||||
- "[Kubernetes](https://kubernetes.io/)"
|
||||
|
||||
Databases:
|
||||
level: intermediate
|
||||
tags:
|
||||
- SQL
|
||||
- Redis
|
||||
- Prisma
|
||||
- "[SQL](https://en.wikipedia.org/wiki/SQL)"
|
||||
- "[Redis](https://redis.io/)"
|
||||
- "[Prisma](https://www.prisma.io/)"
|
||||
|
||||
Web Development:
|
||||
level: intermediate
|
||||
tags:
|
||||
- Django
|
||||
- 11ty.js
|
||||
- Svelte
|
||||
- "[Django](https://www.djangoproject.com/)"
|
||||
- "[11ty.js](https://www.11ty.dev/)"
|
||||
- "[Svelte](https://svelte.dev/)"
|
||||
|
||||
Licenses:
|
||||
level: french
|
||||
tags:
|
||||
- AM
|
||||
- B
|
||||
- B1
|
||||
- "[AM](https://www.securite-routiere.gouv.fr/les-differents-permis-de-conduire/permis-cyclomoteur-categorie-am)"
|
||||
- "[B](https://www.securite-routiere.gouv.fr/les-differents-permis-de-conduire/permis-auto-categorie-b)"
|
||||
- "[B1](https://www.securite-routiere.gouv.fr/les-differents-permis-de-conduire/permis-auto-categorie-b/passer-le-permis-b1)"
|
||||
|
||||
reading:
|
||||
title: Readings
|
||||
|
@ -222,7 +224,7 @@ interests:
|
|||
GitHub/Gitlab:
|
||||
summary: Regular open source software user and tinkerer.
|
||||
tags:
|
||||
- Git
|
||||
- "[Git](https://git-scm.com/)"
|
||||
- Open Source
|
||||
|
||||
Archery:
|
||||
|
|
|
@ -17,8 +17,8 @@ contacts:
|
|||
url: https://signal.org/
|
||||
icon: fa fa-phone
|
||||
|
||||
Brest, France:
|
||||
url: https://www.openstreetmap.org/#map=12/48.3930/-4.4601
|
||||
Toulouse, France:
|
||||
url: https://www.openstreetmap.org/relation/35738#map=12/43.6/1.44
|
||||
icon: fa fa-location-arrow
|
||||
|
||||
socials:
|
||||
|
@ -36,6 +36,13 @@ socials:
|
|||
url: https://matrix.to/#/@fainsil:inpt.fr
|
||||
icon: fa fa-matrix-org
|
||||
|
||||
experience:
|
||||
title: Expérience professionnelle
|
||||
list:
|
||||
Agent de bio-nettoyage:
|
||||
description: Stage ouvrier au [Centre Hospitalier Régional Universitaire de Brest (CHRU)](https://www.chu-brest.fr/fr) pour une période de deux mois. J'ai appris à m'organiser et à travailler efficacement en équipe.
|
||||
date: Été 2021
|
||||
|
||||
school_projects:
|
||||
title: Projets scolaires
|
||||
list:
|
||||
|
@ -43,38 +50,35 @@ school_projects:
|
|||
repo: https://git.inpt.fr/tobgang/sagittarius
|
||||
pdf: https://git.inpt.fr/tobgang/sagittarius-pdf/-/blob/master/iteration3/rapport3.pdf
|
||||
role: Author
|
||||
description: Suite à un projet de programmation orientée objet en java, voici un petit jeu 2D au tour par tour inspiré d'un jeu du même nom de George Prosser.
|
||||
description: Issu d'un projet de programmation orientée objet en [Java](https://en.wikipedia.org/wiki/Java_(programming_language)), un petit jeu 2D au tour par tour inspiré d'un [jeu du même nom de George Prosser](https://gprosser.itch.io/sagittarius).
|
||||
|
||||
Minishell:
|
||||
repo: https://git.inpt.fr/fainsil/minishell
|
||||
role: Author
|
||||
description: Implémentation d'un shell en C, capable d'exécuter des programmes, de rediriger leurs flux et de leur envoyer des signaux.
|
||||
description: Implémentation d'un [shell](https://en.wikipedia.org/wiki/Shell_(computing)) en [C](https://en.wikipedia.org/wiki/C_(programming_language)), capable d'exécuter des programmes, de rediriger leurs flux et de leur envoyer des signaux.
|
||||
|
||||
Pagerank:
|
||||
repo: https://git.inpt.fr/fainsil/pagerank
|
||||
pdf: https://git.inpt.fr/fainsil/pagerank/-/blob/master/doc/rapport.pdf
|
||||
role: Author
|
||||
description: Mise en œuvre d'un algorithme itératif en Ada pour calculer le pagerank d'un réseau donné, aussi rapidement et efficacement que possible.
|
||||
description: Mise en œuvre d'un algorithme itératif en [Ada](https://en.wikipedia.org/wiki/Ada_(programming_language)) pour calculer le [pagerank](https://en.wikipedia.org/wiki/PageRank) d'un réseau donné, aussi rapidement et efficacement que possible.
|
||||
|
||||
personnal_projects:
|
||||
title: Projets personnels
|
||||
list:
|
||||
net7/INP-net:
|
||||
role: Trésorier/Président
|
||||
description: Membre actif de l'association informatique de mon école qui fournit de nombreux services à plus de 10 000 étudiants.
|
||||
|
||||
B00 plays GBA:
|
||||
repo: https://git.inpt.fr/fainsil/booplaysgba/
|
||||
role: Author
|
||||
description: En utilisant des technologies telles que websocket, redis, docker, rtmp, mgba et en collant le tout avec Python, on obtient un émulateur collaboratif inspiré de TwitchPlaysPokemon.
|
||||
description: En utilisant des technologies telles que [websocket](https://websockets.readthedocs.io/en/stable/), [redis](https://redis.io/), [docker](https://www.docker.com/), [rtmp](https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol), [mgba](https://github.com/mgba-emu/mgba) et en collant le tout avec [Python](https://en.wikipedia.org/wiki/Python_(programming_language)), on obtient un émulateur collaboratif inspiré de [TwitchPlaysPokemon](https://en.wikipedia.org/wiki/Twitch_Plays_Pok%C3%A9mon).
|
||||
|
||||
Ce site web:
|
||||
repo: https://git.inpt.fr/fainsil/personnal-website/
|
||||
role: Author
|
||||
description: J'ai fait ce site presque entièrement de zéro, pour simplifier le processus de création j'ai utilisé le générateur de site statique 11ty.js et son système de templates.
|
||||
|
||||
experience:
|
||||
title: Expérience professionnelle
|
||||
list:
|
||||
Agent de bio-nettoyage:
|
||||
description: Stage ouvrier au Centre Hospitalier Régional Universitaire de Brest (CHRU) pour une période de deux mois. J'ai appris à m'organiser et à travailler efficacement en équipe.
|
||||
date: Été 2021
|
||||
description: Site web simple construit avec le générateur de site statique [11ty.js](https://www.11ty.dev/). Réalisé avec [Nunjucks](https://mozilla.github.io/nunjucks/), [SCSS](https://sass-lang.com/), [Javascript](https://developer.mozilla.org/fr/docs/Web/JavaScript), [Yarn](https://yarnpkg.com/) et autodéployé avec un [pipeline GitLab](https://git.inpt.fr/fainsil/personnal-website/-/pipelines).
|
||||
|
||||
education:
|
||||
title: Éducation
|
||||
|
@ -106,52 +110,51 @@ skills:
|
|||
Traitement de texte:
|
||||
level: avancé
|
||||
tags:
|
||||
- Word
|
||||
- Excel
|
||||
- LaTeX
|
||||
- Markdown
|
||||
- "[Word](https://www.microsoft.com/fr-fr/microsoft-365/word)"
|
||||
- "[Excel](https://www.microsoft.com/fr-fr/microsoft-365/excel)"
|
||||
- "[LaTeX](https://www.latex-project.org/)"
|
||||
- "[Markdown](https://en.wikipedia.org/wiki/Markdown)"
|
||||
|
||||
Calcul scientifique:
|
||||
level: avancé
|
||||
tags:
|
||||
- Numpy
|
||||
- Tensorflow
|
||||
- Pandas
|
||||
-
|
||||
- "[Numpy](https://www.microsoft.com/fr-fr/microsoft-365/word)"
|
||||
- "[Matplotlib](https://matplotlib.org/)"
|
||||
- "[Tensorflow](https://www.tensorflow.org/)"
|
||||
|
||||
AdminSys:
|
||||
level: advanced
|
||||
tags:
|
||||
- Linux
|
||||
- Git
|
||||
- Apache
|
||||
- Nginx
|
||||
- "[Linux](https://en.wikipedia.org/wiki/Linux)"
|
||||
- "[Git](https://git-scm.com/)"
|
||||
- "[Apache](https://httpd.apache.org/)"
|
||||
- "[Nginx](https://www.nginx.com/)"
|
||||
|
||||
CI/CD:
|
||||
level: intermediate
|
||||
tags:
|
||||
- Docker
|
||||
- Kubernetes
|
||||
- "[Docker](https://www.docker.com/)"
|
||||
- "[Kubernetes](https://kubernetes.io/)"
|
||||
|
||||
Base de données:
|
||||
level: intermediate
|
||||
tags:
|
||||
- SQL
|
||||
- Redis
|
||||
- Prisma
|
||||
- "[SQL](https://en.wikipedia.org/wiki/SQL)"
|
||||
- "[Redis](https://redis.io/)"
|
||||
- "[Prisma](https://www.prisma.io/)"
|
||||
|
||||
Développement web:
|
||||
level: intermédiaire
|
||||
tags:
|
||||
- Django
|
||||
- 11ty.js
|
||||
- Svelte
|
||||
- "[Django](https://www.djangoproject.com/)"
|
||||
- "[11ty.js](https://www.11ty.dev/)"
|
||||
- "[Svelte](https://svelte.dev/)"
|
||||
|
||||
Permis:
|
||||
tags:
|
||||
- AM
|
||||
- B
|
||||
- B1
|
||||
- "[AM](https://www.securite-routiere.gouv.fr/les-differents-permis-de-conduire/permis-cyclomoteur-categorie-am)"
|
||||
- "[B](https://www.securite-routiere.gouv.fr/les-differents-permis-de-conduire/permis-auto-categorie-b)"
|
||||
- "[B1](https://www.securite-routiere.gouv.fr/les-differents-permis-de-conduire/permis-auto-categorie-b/passer-le-permis-b1)"
|
||||
|
||||
reading:
|
||||
title: Lectures
|
||||
|
@ -219,7 +222,7 @@ interests:
|
|||
GitHub/Gitlab:
|
||||
summary: Utilisateur régulier de logiciels open source.
|
||||
tags:
|
||||
- Git
|
||||
- "[Git](https://git-scm.com/)"
|
||||
- Open Source
|
||||
|
||||
Tir à l'arc:
|
||||
|
|
|
@ -20,7 +20,8 @@ Hi, my name's Laurent Fainsin, and I'm currently an M1 [engineering](https://www
|
|||
|
||||
<section>
|
||||
<h3>{{ key }}</h3>
|
||||
<p>{{ project.description }}</p>
|
||||
{{- project.description | renderMarkdown | safe -}}
|
||||
{%- if project.pdf or project.repo -%}
|
||||
<div class="project-links">
|
||||
{%- if project.pdf -%}
|
||||
<a class="fa fa-file-pdf-o" href="{{ 'project.pdf' | url }}"></a>
|
||||
|
@ -29,6 +30,7 @@ Hi, my name's Laurent Fainsin, and I'm currently an M1 [engineering](https://www
|
|||
<a class="fa fa-git" href="{{ project.repo }}"></a>
|
||||
{%- endif -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
</section>
|
||||
|
||||
{% endfor %}
|
||||
|
|
|
@ -23,191 +23,228 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
{% for page in pagination.pages %}
|
||||
{% if page.locale != resume.locale %}
|
||||
<a href="{{ pagination.hrefs[loop.index-1] }}" target="_self">
|
||||
<span class="{{ page.flag_icon }}"></span><span style="text-transform:uppercase;">{{ page.locale }}</span>
|
||||
<i class="{{ page.flag_icon }}"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endblock header %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col-1">
|
||||
<div id="resume">
|
||||
<div id="left">
|
||||
|
||||
<h1>{{ resume.name }}
|
||||
<small>({{ resume.info.label }})</small>
|
||||
</h1>
|
||||
<section>
|
||||
<h1>{{ resume.name }}
|
||||
<small>({{ resume.info.label }})</small>
|
||||
</h1>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.experience.title }}</h2>
|
||||
{% for key, exp in resume.experience.list %}
|
||||
<section>
|
||||
<h3>
|
||||
{{ key }}
|
||||
<small>({{ exp.date }})</small>
|
||||
</h3>
|
||||
<p>{{ exp.description }}</p>
|
||||
</section>
|
||||
{% endfor %}
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.school_projects.title }}</h2>
|
||||
{% for key, project in resume.school_projects.list %}
|
||||
<section>
|
||||
<h3>{{ key }}</h3>
|
||||
<p>{{ project.description }}</p>
|
||||
|
||||
<div class="project-links">
|
||||
{% if project.pdf %}
|
||||
<a class="fa fa-file-pdf-o" href="{{ project.pdf }}"></a>
|
||||
{% endif %}
|
||||
{% if project.repo %}
|
||||
<a class="fa fa-git" href="{{ project.repo }}"></a>
|
||||
{% endif %}
|
||||
<section>
|
||||
<h2>{{ resume.experience.title }}</h2>
|
||||
{% for key, exp in resume.experience.list %}
|
||||
<div>
|
||||
<h3>
|
||||
{{ key }}
|
||||
<small>({{ exp.date }})</small>
|
||||
</h3>
|
||||
<p>{{ exp.description | renderMarkdown | safe }}</p>
|
||||
</div>
|
||||
</section>
|
||||
{% endfor %}
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.personnal_projects.title }}</h2>
|
||||
{% for key, project in resume.personnal_projects.list %}
|
||||
<section>
|
||||
<h3>{{ key }}</h3>
|
||||
<p>{{ project.description }}</p>
|
||||
<div class="project-links">
|
||||
{% if project.pdf %}
|
||||
<a class="fa fa-file-pdf-o" href="{{ 'project.pdf' | url }}"></a>
|
||||
{% endif %}
|
||||
{% if project.repo %}
|
||||
<a class="fa fa-git" href="{{ project.repo }}"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
{% endfor %}
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.reading.title }}</h2>
|
||||
<ul>
|
||||
{% for key, read in resume.reading.list %}
|
||||
<li>
|
||||
<a href="{{ read.url }}">{{ key }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.interests.title }}</h2>
|
||||
{% for key, interest in resume.interests.list %}
|
||||
<section>
|
||||
<h3>{{ key }}</h3>
|
||||
<p>{{ interest.summary }}</p>
|
||||
<ul>
|
||||
{% for tag in interest.tags %}
|
||||
<li class="tag">{{ tag }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
{% endfor %}
|
||||
<section>
|
||||
<h2>{{ resume.school_projects.title }}</h2>
|
||||
{% for key, project in resume.school_projects.list %}
|
||||
<div>
|
||||
<h3>{{ key }}</h3>
|
||||
<p>{{ project.description | renderMarkdown | safe }}</p>
|
||||
|
||||
{% if project.pdf or project.repo %}
|
||||
<span class="project-links">
|
||||
{% if project.pdf %}
|
||||
<a class="fa fa-file-pdf-o" href="{{ project.pdf }}"></a>
|
||||
{% endif %}
|
||||
{% if project.repo %}
|
||||
<a class="fa fa-git" href="{{ project.repo }}"></a>
|
||||
{% endif %}
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
|
||||
<section>
|
||||
<h2>{{ resume.personnal_projects.title }}</h2>
|
||||
{% for key, project in resume.personnal_projects.list %}
|
||||
<div>
|
||||
<h3>{{ key }}</h3>
|
||||
<p>{{ project.description | renderMarkdown | safe }}</p>
|
||||
|
||||
{% if project.pdf or project.repo %}
|
||||
<span class="project-links">
|
||||
{% if project.pdf %}
|
||||
<a class="fa fa-file-pdf-o" href="{{ 'project.pdf' | url }}"></a>
|
||||
{% endif %}
|
||||
{% if project.repo %}
|
||||
<a class="fa fa-git" href="{{ project.repo }}"></a>
|
||||
{% endif %}
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
|
||||
<section>
|
||||
<h2>{{ resume.reading.title }}</h2>
|
||||
<ul>
|
||||
{% for key, read in resume.reading.list %}
|
||||
<li>
|
||||
<a href="{{ read.url }}">{{ key }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
|
||||
<section>
|
||||
<h2>{{ resume.interests.title }}</h2>
|
||||
{% for key, interest in resume.interests.list %}
|
||||
<div>
|
||||
<h3>{{ key }}</h3>
|
||||
<p>{{ interest.summary }}</p>
|
||||
<div class="tags">
|
||||
{% for tag in interest.tags %}
|
||||
{% if '[' in tag and ']' in tag %}
|
||||
{{ tag | renderMarkdown | safe }}
|
||||
{% else %}
|
||||
<a>{{ tag }}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-2">
|
||||
<div id="right">
|
||||
|
||||
<h2>{{ resume.contacts.title }}</h2>
|
||||
<ul>
|
||||
{% for key, contact in resume.contacts.list %}
|
||||
<li>
|
||||
<span class="{{ contact.icon }}"></span>
|
||||
<a href="{{ contact.url }}">{{key}}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<section>
|
||||
<h2>{{ resume.contacts.title }}</h2>
|
||||
<ul>
|
||||
{% for key, contact in resume.contacts.list %}
|
||||
<li>
|
||||
<i class="{{ contact.icon }}"></i>
|
||||
<a href="{{ contact.url }}">{{key}}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.socials.title }}</h2>
|
||||
<ul>
|
||||
{% for key, social in resume.socials.list %}
|
||||
<li>
|
||||
<span class="{{social.icon}}"></span>
|
||||
<a href="{{social.url}}">{{key}}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<section>
|
||||
<h2>{{ resume.socials.title }}</h2>
|
||||
<ul>
|
||||
{% for key, social in resume.socials.list %}
|
||||
<li>
|
||||
<i class="{{social.icon}}"></i>
|
||||
<a href="{{social.url}}">{{key}}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.education.title }}</h2>
|
||||
<ul class="timeline">
|
||||
<span class="arrow-up"></span>
|
||||
<li class="event"></li>
|
||||
{% for key, edu in resume.education.list %}
|
||||
<section>
|
||||
<h2>{{ resume.education.title }}</h2>
|
||||
<ul class="timeline">
|
||||
<i class="arrow-up"></i>
|
||||
<li class="event"></li>
|
||||
{% for key, edu in resume.education.list %}
|
||||
|
||||
{% if edu.end != (resume.education.list | list)[loop.index - 2].value.start %}
|
||||
{% if loop.index != 1 %}
|
||||
<li class="event"></li>
|
||||
{% if edu.end != (resume.education.list | list)[loop.index - 2].value.start %}
|
||||
{% if loop.index != 1 %}
|
||||
<li class="event"></li>
|
||||
{% endif %}
|
||||
<li class="year">{{ edu.end }}</li>
|
||||
{% endif %}
|
||||
<li class="year">{{ edu.end }}</li>
|
||||
{% endif %}
|
||||
|
||||
<li class="event">
|
||||
{{ edu.title }}<br>
|
||||
<a href="{{ edu.url }}">{{ key }}</a>
|
||||
<br>{{ edu.eqv }}
|
||||
</li>
|
||||
<li class="event">
|
||||
{{ edu.title }}<br>
|
||||
<a href="{{ edu.url }}">{{ key }}</a>
|
||||
<br>{{ edu.eqv }}
|
||||
</li>
|
||||
|
||||
<li class="year">{{ edu.start }}</li>
|
||||
{% endfor %}
|
||||
<li class="year">{{ edu.start }}</li>
|
||||
{% endfor %}
|
||||
|
||||
<li class="event"></li>
|
||||
</ul>
|
||||
<li class="event"></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.skills.title }}</h2>
|
||||
<ul>
|
||||
{% for key, skill in resume.skills.list %}
|
||||
<li>
|
||||
{{ key }}
|
||||
{% if skill.level %}
|
||||
<small> ({{ skill.level }}) </small>
|
||||
{% endif %}
|
||||
<ul>
|
||||
{% for tag in skill.tags %}
|
||||
<li class="tag">{{ tag }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<section>
|
||||
<h2>{{ resume.skills.title }}</h2>
|
||||
<ul>
|
||||
{% for key, skill in resume.skills.list %}
|
||||
<li>
|
||||
{{ key }}
|
||||
{% if skill.level %}
|
||||
<small>({{ skill.level }})</small>
|
||||
{% endif %}
|
||||
<div class="tags">
|
||||
{% for tag in skill.tags %}
|
||||
{% if '[' in tag and ']' in tag %}
|
||||
{{ tag | renderMarkdown | safe }}
|
||||
{% else %}
|
||||
<a>{{ tag }}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.languages.title }}</h2>
|
||||
<ul>
|
||||
{% for key, lang in resume.languages.list %}
|
||||
<li>
|
||||
<span class="{{ lang.icon }}"></span>
|
||||
{{ key }}
|
||||
<small>({{ lang.level }})</small>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<section>
|
||||
<h2>{{ resume.languages.title }}</h2>
|
||||
<ul>
|
||||
{% for key, lang in resume.languages.list %}
|
||||
<li>
|
||||
<i class="{{ lang.icon }}"></i>
|
||||
{{ key }}
|
||||
<small>({{ lang.level }})</small>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<h2>{{ resume.langages.title }}</h2>
|
||||
<ul>
|
||||
{% for key, lang in resume.langages.list %}
|
||||
<li>
|
||||
<span class="{{ lang.icon }}"></span>
|
||||
{{ key }}
|
||||
<small>({{ lang.level }})</small>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<section>
|
||||
<h2>{{ resume.langages.title }}</h2>
|
||||
<ul>
|
||||
{% for key, lang in resume.langages.list %}
|
||||
<li>
|
||||
<i class="{{ lang.icon }}"></i>
|
||||
{{ key }}
|
||||
<small>({{ lang.level }})</small>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -8,111 +8,131 @@ header {
|
|||
justify-content: space-between;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2 {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.row {
|
||||
#resume {
|
||||
display: flex;
|
||||
|
||||
#left {
|
||||
flex: 65%;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
#right {
|
||||
flex: 35%;
|
||||
padding-left: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.col-1 {
|
||||
flex: 65%;
|
||||
padding-right: 1em;
|
||||
}
|
||||
section {
|
||||
padding-bottom: 0;
|
||||
|
||||
.col-2 {
|
||||
flex: 35%;
|
||||
padding-left: 1em;
|
||||
}
|
||||
div,
|
||||
ul {
|
||||
margin-bottom: 1rem;
|
||||
margin-left: 1rem;
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding-left: 1em;
|
||||
}
|
||||
.tags {
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
|
||||
.timeline {
|
||||
li {
|
||||
a {
|
||||
text-decoration: underline;
|
||||
text-decoration-thickness: 2px;
|
||||
text-decoration-color: #942994;
|
||||
font-size: 1rem;
|
||||
|
||||
&:hover {
|
||||
text-decoration-color: #d45fd4;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
h1 > small {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
small {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-left: 1rem;
|
||||
padding-bottom: 0;
|
||||
|
||||
&.timeline {
|
||||
padding-left: 1rem;
|
||||
|
||||
.arrow-up {
|
||||
border-left: 5px solid transparent;
|
||||
border-right: 5px solid transparent;
|
||||
border-bottom: 10px solid #c0c5ce;
|
||||
margin-left: 1.25rem;
|
||||
top: -0.7rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
li {
|
||||
margin: 0;
|
||||
|
||||
&.event {
|
||||
padding: 1rem;
|
||||
margin-left: 1.5rem;
|
||||
border-left: 2px #c0c5ce solid;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.arrow-up {
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 5px solid transparent;
|
||||
border-right: 5px solid transparent;
|
||||
border-bottom: 10px solid #c0c5ce;
|
||||
margin-left: calc(1.25em - 4px);
|
||||
top: -8px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.event {
|
||||
padding: 0.8em 0 0.8em 2.3em;
|
||||
margin-left: 1.25em;
|
||||
border-left: 2px #c0c5ce solid;
|
||||
}
|
||||
}
|
||||
|
||||
.tag {
|
||||
display: inline;
|
||||
border-bottom: 2px #942994 solid;
|
||||
border-radius: 0.2em;
|
||||
margin-right: 0.3em;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 0.7em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
h1>small {
|
||||
font-size: 0.45em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
@page {
|
||||
size: auto;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body,
|
||||
html {
|
||||
background-color: white !important;
|
||||
color: black;
|
||||
max-width: 100%;
|
||||
color-adjust: exact !important;
|
||||
-webkit-print-color-adjust: exact !important;
|
||||
}
|
||||
background-color: white !important;
|
||||
|
||||
body {
|
||||
margin: 2em;
|
||||
font-size: 13px;
|
||||
}
|
||||
max-width: 100%;
|
||||
|
||||
li {
|
||||
.event {
|
||||
border-left: 2px black solid;
|
||||
}
|
||||
|
||||
.tag {
|
||||
font-size: 10px;
|
||||
}
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin: 1rem 0;
|
||||
}
|
||||
|
||||
ul {
|
||||
.tag {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
&.timeline {
|
||||
li.event {
|
||||
border-left-color: #000 !important;
|
||||
}
|
||||
|
||||
.arrow-up {
|
||||
border-bottom-color: #000 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
header,
|
||||
footer,
|
||||
.btn-back,
|
||||
a.fa {
|
||||
#btn-back,
|
||||
span {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,18 +11,17 @@ $h1-size: 3rem;
|
|||
|
||||
/* inter-regular - latin */
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
font-family: "Inter";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('/fonts/inter-v7-latin-regular.woff2') format('woff2'),
|
||||
src: local(""), url("/fonts/inter-v7-latin-regular.woff2") format("woff2");
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: $background;
|
||||
color: $foreground-text;
|
||||
font-family: 'Inter', sans-serif;
|
||||
font-family: "Inter", sans-serif;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-size: $font-size;
|
||||
width: 60rem;
|
||||
|
@ -94,29 +93,29 @@ video {
|
|||
}
|
||||
|
||||
section {
|
||||
padding-left: 1em;
|
||||
padding-bottom: 1em;
|
||||
padding-left: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
|
||||
p {
|
||||
padding-left: 1em;
|
||||
padding-left: 1rem;
|
||||
margin: 0;
|
||||
margin-bottom: 0.2em;
|
||||
margin-bottom: 0.2rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-bottom: 0.3em;
|
||||
margin-bottom: 0.3rem;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 2em;
|
||||
padding-bottom: 1em;
|
||||
padding-left: 2rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
.project-links {
|
||||
padding-left: 1em;
|
||||
padding-left: 1rem;
|
||||
|
||||
a {
|
||||
padding-left: 0.3em;
|
||||
padding-left: 0.3rem;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue