fix: formatting (editorconfig)
+ hack to convert resumes to be paginable
This commit is contained in:
parent
44a10b45d6
commit
a84b50bd3a
12
.editorconfig
Normal file
12
.editorconfig
Normal file
|
@ -0,0 +1,12 @@
|
|||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
22
package.json
22
package.json
|
@ -1,13 +1,13 @@
|
|||
{
|
||||
"name": "site_perso",
|
||||
"version": "1.0.1",
|
||||
"main": "index.js",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@11ty/eleventy": "^0.12.1",
|
||||
"@11ty/eleventy-navigation": "^0.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"chaffle": "^2.1.0"
|
||||
}
|
||||
"name": "site_perso",
|
||||
"version": "1.0.1",
|
||||
"main": "index.js",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@11ty/eleventy": "^0.12.1",
|
||||
"@11ty/eleventy-navigation": "^0.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"chaffle": "^2.1.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,25 +2,41 @@
|
|||
background: #c0c5ce;
|
||||
color: #1c1f26;
|
||||
}
|
||||
|
||||
*::-moz-selection {
|
||||
background: #c0c5ce;
|
||||
color: #1c1f26;
|
||||
}
|
||||
|
||||
*::-webkit-selection {
|
||||
background: #c0c5ce;
|
||||
color: #1c1f26;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
0% { opacity: 1.0; }
|
||||
50% { opacity: 0.0; }
|
||||
100% { opacity: 1.0; }
|
||||
0% {
|
||||
opacity: 1.0;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.0;
|
||||
}
|
||||
100% {
|
||||
opacity: 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes blink {
|
||||
0% { opacity: 1.0; }
|
||||
50% { opacity: 0.0; }
|
||||
100% { opacity: 1.0; }
|
||||
0% {
|
||||
opacity: 1.0;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.0;
|
||||
}
|
||||
100% {
|
||||
opacity: 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
.blink {
|
||||
animation: blink 1s step-start 0s infinite;
|
||||
-webkit-animation: blink 1.5s step-start 0s infinite;
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
scrollbar-color: #202324 #454a4d;
|
||||
}
|
||||
|
||||
html, body {
|
||||
html,
|
||||
body {
|
||||
background-color: #232830;
|
||||
}
|
||||
|
||||
|
@ -15,7 +16,8 @@ body {
|
|||
padding: 1em;
|
||||
}
|
||||
|
||||
body, a {
|
||||
body,
|
||||
a {
|
||||
color: #c0c5ce;
|
||||
}
|
||||
|
||||
|
@ -41,7 +43,8 @@ h1 {
|
|||
margin-bottom: .7em;
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
ol,
|
||||
ul {
|
||||
margin: .7em 0 0 1.4em;
|
||||
}
|
||||
|
||||
|
@ -77,7 +80,7 @@ footer {
|
|||
}
|
||||
|
||||
.btn-back span {
|
||||
display:inline-block;
|
||||
display: inline-block;
|
||||
transform: scale(2.5);
|
||||
translate: -.2em -.1em;
|
||||
}
|
||||
|
@ -86,7 +89,8 @@ footer {
|
|||
body {
|
||||
font-size: 17px;
|
||||
}
|
||||
ol, ul {
|
||||
ol,
|
||||
ul {
|
||||
padding-left: 17px;
|
||||
}
|
||||
}
|
||||
|
@ -98,13 +102,13 @@ video {
|
|||
margin: 0 auto;
|
||||
}
|
||||
|
||||
header > ul {
|
||||
header>ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 1em 0 0 0;
|
||||
}
|
||||
|
||||
header > ul > li {
|
||||
header>ul>li {
|
||||
display: inline;
|
||||
margin-right: .5em;
|
||||
}
|
|
@ -23,11 +23,11 @@ ul {
|
|||
padding-left: 1em;
|
||||
}
|
||||
|
||||
section > ul {
|
||||
section>ul {
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
.timeline > li {
|
||||
.timeline>li {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@ small {
|
|||
vertical-align: middle;
|
||||
}
|
||||
|
||||
h1 > small {
|
||||
h1>small {
|
||||
font-size: .45em;
|
||||
}
|
||||
|
||||
|
@ -58,12 +58,13 @@ section {
|
|||
padding-left: 1em;
|
||||
}
|
||||
|
||||
section > p {
|
||||
section>p {
|
||||
padding-left: 1em;
|
||||
margin: 0;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
section > h3 {
|
||||
|
||||
section>h3 {
|
||||
margin-bottom: .3em;
|
||||
}
|
||||
|
||||
|
@ -71,7 +72,7 @@ section > h3 {
|
|||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.project-links > a {
|
||||
.project-links>a {
|
||||
padding-left: .3em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
@ -96,34 +97,32 @@ h2 {
|
|||
size: auto;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body, html {
|
||||
body,
|
||||
html {
|
||||
background-color: white !important;
|
||||
color: black;
|
||||
max-width: 100%;
|
||||
color-adjust: exact !important;
|
||||
-webkit-print-color-adjust: exact !important;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 2em;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
li.event {
|
||||
border-left: 2px black solid;
|
||||
}
|
||||
|
||||
.tag {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
header, footer, .btn-back, a.fa {
|
||||
header,
|
||||
footer,
|
||||
.btn-back,
|
||||
a.fa {
|
||||
display: none;
|
||||
}
|
||||
}
|
|
@ -11,6 +11,5 @@ eleventyNavigation:
|
|||
<p id="shs">Flyer:</p>
|
||||
<img src="{{ '/content/2021-01-16-flyer.png' | url }}" width="100%">
|
||||
|
||||
|
||||
<p id="shs">Video presentation:</p>
|
||||
<video src="{{ '/content/2021-01-16-video.mp4' | url }}" width="1080" height="720" controls></video>
|
||||
|
|
|
@ -12,19 +12,23 @@ eleventyNavigation:
|
|||
<h1>Socials & Contacts</h1>
|
||||
<p>You can email me at :</p>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="mailto:laurentfainsin@protonmail.com">
|
||||
<li>
|
||||
<a href="mailto:laurentfainsin@protonmail.com">
|
||||
laurentfainsin@protonmail.com
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="mailto:laurent.fainsin@etu.inp-n7.fr">
|
||||
</li>
|
||||
<li>
|
||||
<a href="mailto:laurent.fainsin@etu.inp-n7.fr">
|
||||
laurent.fainsin@etu.inp-n7.fr
|
||||
</a>
|
||||
</li>
|
||||
</li>
|
||||
</ul>
|
||||
<p>You can reach me via :</p>
|
||||
<ul>
|
||||
<li><a href="https://matrix.to/#/@fainsil:inpt.fr">Matrix.to</a></li>
|
||||
<li><a href="https://www.linkedin.com/in/laurent-fainsin/">LinkedIn</a></li>
|
||||
<li>
|
||||
<a href="https://matrix.to/#/@fainsil:inpt.fr">Matrix.to</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.linkedin.com/in/laurent-fainsin/">LinkedIn</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -10,19 +10,23 @@ layout: layout.njk
|
|||
<h1 data-chaffle="en">./contact</h1>
|
||||
<p>You can email me at :</p>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="mailto:laurentfainsin@protonmail.com">
|
||||
<li>
|
||||
<a href="mailto:laurentfainsin@protonmail.com">
|
||||
laurentfainsin@protonmail.com
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="mailto:laurent.fainsin@etu.inp-n7.fr">
|
||||
</li>
|
||||
<li>
|
||||
<a href="mailto:laurent.fainsin@etu.inp-n7.fr">
|
||||
laurent.fainsin@etu.inp-n7.fr
|
||||
</a>
|
||||
</li>
|
||||
</li>
|
||||
</ul>
|
||||
<p>You can reach me via :</p>
|
||||
<ul>
|
||||
<li><a href="https://matrix.to/#/@fainsil:inpt.fr">Matrix.to</a></li>
|
||||
<li><a href="https://www.linkedin.com/in/laurent-fainsin/">LinkedIn</a></li>
|
||||
<li>
|
||||
<a href="https://matrix.to/#/@fainsil:inpt.fr">Matrix.to</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.linkedin.com/in/laurent-fainsin/">LinkedIn</a>
|
||||
</li>
|
||||
</ul>
|
|
@ -2,237 +2,237 @@
|
|||
username: Laureηt
|
||||
pagination:
|
||||
data: resumes
|
||||
before: (data) => data.map(locale => Object.values(locale)).flat()
|
||||
size: 1
|
||||
alias: resume
|
||||
resolve: values
|
||||
permalink: "resume/{{ resume.locale }}/index.html"
|
||||
---
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ resume.locale }}">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{ username }}</title>
|
||||
<link rel="stylesheet" href="{{ '/css/main.css' | url }}">
|
||||
<link rel="stylesheet" href="{{ '/css/resume.css' | url }}">
|
||||
<link rel="stylesheet" href="{{ '/css/blink.css' | url }}">
|
||||
<link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | url }}">
|
||||
<script src="{{ '/javascript/chaffle.min.js' | url }}"></script>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fork-awesome@1.1.7/css/fork-awesome.min.css" integrity="sha256-gsmEoJAws/Kd3CjuOQzLie5Q3yshhvmo7YNtBG7aaEY=" crossorigin="anonymous">
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.5.0/css/flag-icon.min.css" rel="stylesheet">
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/devicon/2.6/devicon.min.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{ username }}</title>
|
||||
<link rel="stylesheet" href="{{ '/css/main.css' | url }}">
|
||||
<link rel="stylesheet" href="{{ '/css/resume.css' | url }}">
|
||||
<link rel="stylesheet" href="{{ '/css/blink.css' | url }}">
|
||||
<link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | url }}">
|
||||
<script src="{{ '/javascript/chaffle.min.js' | url }}"></script>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fork-awesome@1.1.7/css/fork-awesome.min.css" integrity="sha256-gsmEoJAws/Kd3CjuOQzLie5Q3yshhvmo7YNtBG7aaEY=" crossorigin="anonymous">
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.5.0/css/flag-icon.min.css" rel="stylesheet">
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/devicon/2.6/devicon.min.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<header style="position: relative;">
|
||||
<span data-chaffle-onload="" data-chaffle="en">{{ username }}</span>
|
||||
<span class="blink" style="display:inline;">_</span>
|
||||
<header style="position: relative;">
|
||||
<span data-chaffle-onload="" data-chaffle="en">{{ username }}</span>
|
||||
<span class="blink" style="display:inline;">_</span>
|
||||
|
||||
{% for pageKey in pagination.pages %}
|
||||
{% if page.url != pagination.hrefs[loop.index - 1] %}
|
||||
<a style="right: 0px; position: absolute;" href="{{ pagination.hrefs[loop.index-1] | url }}">{{ pageKey[0].username }}
|
||||
<span class="{{ resumes[loop.index-1].flag_icon }}"></span><span style="text-transform:uppercase;">{{ resumes[loop.index-1].locale }}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% for pageKey in pagination.pages %}
|
||||
{% if page.url != pagination.hrefs[loop.index - 1] %}
|
||||
<a style="right: 0px; position: absolute;" href="{{ pagination.hrefs[loop.index-1] | url }}">{{ pageKey[0].username }}
|
||||
<span class="{{ resumes[loop.index-1].flag_icon }}"></span><span style="text-transform:uppercase;">{{ resumes[loop.index-1].locale }}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
</header>
|
||||
</header>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-1">
|
||||
<div class="row">
|
||||
<div class="col-1">
|
||||
|
||||
<h1>{{ resume.name }}
|
||||
<small>({{ resume.info.label }})</small>
|
||||
</h1>
|
||||
<p>{{ resume.info.about }}</p>
|
||||
<h1>{{ resume.name }}
|
||||
<small>({{ resume.info.label }})</small>
|
||||
</h1>
|
||||
<p>{{ resume.info.about }}</p>
|
||||
|
||||
<hr>
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.school_projects_title }}</h2>
|
||||
{% for project in resume.school_projects %}
|
||||
<section>
|
||||
<h3>{{ project.title }}</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-gitlab" href="{{ project.repo }}"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
{% endfor %}
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.personnal_projects_title }}</h2>
|
||||
{% for project in resume.personnal_projects %}
|
||||
<section>
|
||||
<h3>{{ project.title }}</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-gitlab" href="{{ project.repo }}"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
{% endfor %}
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.reading_title }}</h2>
|
||||
<ul>
|
||||
{% for read in resume.reading %}
|
||||
<li>
|
||||
<a href="{{ read.url }}">{{ read.title | safe }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.interests_title }}</h2>
|
||||
{% for interest in resume.interests %}
|
||||
<section>
|
||||
<h3>{{ interest.name }}</h3>
|
||||
<p>{{ interest.summary }}</p>
|
||||
<ul>
|
||||
{% for tag in interest.tags %}
|
||||
<li class="tag">{{ tag }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
{% endfor %}
|
||||
<h2>{{ resume.school_projects_title }}</h2>
|
||||
{% for project in resume.school_projects %}
|
||||
<section>
|
||||
<h3>{{ project.title }}</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-gitlab" href="{{ project.repo }}"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
{% endfor %}
|
||||
|
||||
<div class="col-2">
|
||||
|
||||
<h2>{{ resume.contacts_title }}</h2>
|
||||
<ul>
|
||||
{% for contact in resume.contacts %}
|
||||
<li>
|
||||
<span class="{{ contact.icon }}"></span>
|
||||
<a href="{{ contact.url }}">{{ contact.contact }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.socials_title }}</h2>
|
||||
<ul>
|
||||
{% for social in resume.socials %}
|
||||
<li>
|
||||
<span class="{{social.icon}}"></span>
|
||||
<a href="{{social.url}}">{{social.network}}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<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 %}
|
||||
{% if loop.index != 1 %}
|
||||
<li class="event"></li>
|
||||
{% endif %}
|
||||
<li class="year">{{ edu.end }}</li>
|
||||
{% endif %}
|
||||
|
||||
<li class="event">
|
||||
{{ edu.title }}<br>
|
||||
<a href="{{ edu.url }}">{{ edu.institution }}</a>
|
||||
<br>{{ edu.eqv }}
|
||||
</li>
|
||||
|
||||
<li class="year">{{ edu.start }}</li>
|
||||
{% endfor %}
|
||||
|
||||
<li class="event"></li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.skills_title }}</h2>
|
||||
<ul>
|
||||
{% for skill in resume.skills %}
|
||||
<li>
|
||||
{{ skill.name }}
|
||||
{% if skill.level %}
|
||||
<small> ({{ skill.level }}) </small>
|
||||
{% endif %}
|
||||
<ul>
|
||||
{% for tag in skill.tags %}
|
||||
<li class="tag">{{ tag }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.languages_title }}</h2>
|
||||
<ul>
|
||||
{% for lang in resume.languages %}
|
||||
<li>
|
||||
<span class="{{ lang.icon }}"></span>
|
||||
{{ lang.language }}
|
||||
<small>({{ lang.level }})</small>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.personnal_projects_title }}</h2>
|
||||
{% for project in resume.personnal_projects %}
|
||||
<section>
|
||||
<h3>{{ project.title }}</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-gitlab" href="{{ project.repo }}"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{% endfor %}
|
||||
|
||||
<div class="btn-back">
|
||||
<span>«</span>
|
||||
<a href="{{ '/' | url }}">{{ resume.go_back }}</a>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<footer>
|
||||
<h2>{{ resume.reading_title }}</h2>
|
||||
<ul>
|
||||
{% for read in resume.reading %}
|
||||
<li>
|
||||
<a href="{{ read.url }}">{{ read.title | safe }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.interests_title }}</h2>
|
||||
{% for interest in resume.interests %}
|
||||
<section>
|
||||
<h3>{{ interest.name }}</h3>
|
||||
<p>{{ interest.summary }}</p>
|
||||
<ul>
|
||||
{% for tag in interest.tags %}
|
||||
<li class="tag">{{ tag }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-2">
|
||||
|
||||
<h2>{{ resume.contacts_title }}</h2>
|
||||
<ul>
|
||||
{% for contact in resume.contacts %}
|
||||
<li>
|
||||
<span class="{{ contact.icon }}"></span>
|
||||
<a href="{{ contact.url }}">{{ contact.contact }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.socials_title }}</h2>
|
||||
<ul>
|
||||
{% for social in resume.socials %}
|
||||
<li>
|
||||
<span class="{{social.icon}}"></span>
|
||||
<a href="{{social.url}}">{{social.network}}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<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 %}
|
||||
{% if loop.index != 1 %}
|
||||
<li class="event"></li>
|
||||
{% endif %}
|
||||
<li class="year">{{ edu.end }}</li>
|
||||
{% endif %}
|
||||
|
||||
<li class="event">
|
||||
{{ edu.title }}<br>
|
||||
<a href="{{ edu.url }}">{{ edu.institution }}</a>
|
||||
<br>{{ edu.eqv }}
|
||||
</li>
|
||||
|
||||
<li class="year">{{ edu.start }}</li>
|
||||
{% endfor %}
|
||||
|
||||
<li class="event"></li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.skills_title }}</h2>
|
||||
<ul>
|
||||
{% for skill in resume.skills %}
|
||||
<li>
|
||||
{{ skill.name }}
|
||||
{% if skill.level %}
|
||||
<small> ({{ skill.level }}) </small>
|
||||
{% endif %}
|
||||
<ul>
|
||||
{% for tag in skill.tags %}
|
||||
<li class="tag">{{ tag }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>{{ resume.languages_title }}</h2>
|
||||
<ul>
|
||||
{% for lang in resume.languages %}
|
||||
<li>
|
||||
<span class="{{ lang.icon }}"></span>
|
||||
{{ lang.language }}
|
||||
<small>({{ lang.level }})</small>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="btn-back">
|
||||
<span>«</span>
|
||||
<a href="{{ '/' | url }}">{{ resume.go_back }}</a>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
© {% year %}
|
||||
{{ username }}
|
||||
</footer>
|
||||
{{ username }}
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
var elm_mouseover = document.querySelectorAll('[data-chaffle]');
|
||||
var elm_onload = document.querySelectorAll('[data-chaffle-onLoad]');
|
||||
<script>
|
||||
var elm_mouseover = document.querySelectorAll('[data-chaffle]');
|
||||
var elm_onload = document.querySelectorAll('[data-chaffle-onLoad]');
|
||||
|
||||
Array
|
||||
.prototype
|
||||
.forEach
|
||||
.call(elm_mouseover, function (el) {
|
||||
var chaffle = new Chaffle(el)
|
||||
el.addEventListener('mouseover', function () {
|
||||
chaffle.init();
|
||||
});
|
||||
});
|
||||
Array
|
||||
.prototype
|
||||
.forEach
|
||||
.call(elm_mouseover, function (el) {
|
||||
var chaffle = new Chaffle(el)
|
||||
el.addEventListener('mouseover', function () {
|
||||
chaffle.init();
|
||||
});
|
||||
});
|
||||
|
||||
Array
|
||||
.prototype
|
||||
.forEach
|
||||
.call(elm_onload, function (el) {
|
||||
var chaffle = new Chaffle(el)
|
||||
chaffle.init();
|
||||
setInterval(function () {
|
||||
chaffle.init();
|
||||
}, 10000)
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
Array
|
||||
.prototype
|
||||
.forEach
|
||||
.call(elm_onload, function (el) {
|
||||
var chaffle = new Chaffle(el)
|
||||
chaffle.init();
|
||||
setInterval(function () {
|
||||
chaffle.init();
|
||||
}, 10000)
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
Reference in a new issue