tmp commit
This commit is contained in:
@@ -3,10 +3,10 @@
|
||||
<meta charset="UTF-8">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;800&family=Roboto&display=swap" rel="stylesheet">
|
||||
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;800&family=Roboto&display=swap" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
|
||||
|
||||
h1 {
|
||||
/*font-weight: 800;*/
|
||||
font-size: 3em;
|
||||
@@ -46,7 +46,7 @@
|
||||
}
|
||||
|
||||
.flex-container {
|
||||
min-height: 100vh;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
@@ -55,7 +55,7 @@
|
||||
align-content: normal;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
.flex-items:nth-child(1) {
|
||||
display: block;
|
||||
flex-grow: 1;
|
||||
@@ -64,7 +64,7 @@
|
||||
align-self: auto;
|
||||
order: 0;
|
||||
}
|
||||
|
||||
|
||||
.flex-items:nth-child(2) {
|
||||
display: block;
|
||||
flex-grow: 0;
|
||||
@@ -90,7 +90,7 @@
|
||||
align-items: normal;
|
||||
align-content: normal;
|
||||
}
|
||||
|
||||
|
||||
.flex-items-experience:nth-child(1) {
|
||||
display: block;
|
||||
flex-grow: 0;
|
||||
@@ -100,7 +100,7 @@
|
||||
width: 70%;
|
||||
order: 0;
|
||||
}
|
||||
|
||||
|
||||
.flex-items-experience:nth-child(2) {
|
||||
display: block;
|
||||
flex-grow: 0;
|
||||
@@ -130,7 +130,7 @@
|
||||
.header {
|
||||
padding-top: 1em;
|
||||
}
|
||||
|
||||
|
||||
.flex-items-skills:nth-child(1) {
|
||||
display: block;
|
||||
flex-grow: 0;
|
||||
@@ -140,7 +140,7 @@
|
||||
width: 50%;
|
||||
order: 0;
|
||||
}
|
||||
|
||||
|
||||
.flex-items-skills:nth-child(2) {
|
||||
display: block;
|
||||
flex-grow: 0;
|
||||
@@ -169,7 +169,7 @@
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.contact-bar {
|
||||
font-size: 11pt;
|
||||
padding-left: 1em;
|
||||
@@ -190,13 +190,21 @@
|
||||
}
|
||||
|
||||
.email{
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
.icon {
|
||||
height: 1em;
|
||||
vertical-align:middle;
|
||||
}
|
||||
|
||||
.bolder {
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-weight: 800;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@@ -219,30 +227,92 @@
|
||||
</div>
|
||||
<div class="flex-container-skills">
|
||||
<div class="flex-items-skills">
|
||||
{% for skill in cv.skills %}
|
||||
{% if skill.techtype == "LANGUAGE" %}
|
||||
<div>
|
||||
<span class="tech-name">{{ skill.name }}</span><span class="tech-level"> ({{ skill.skill | lower}})</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% for skill in cv.skills | filter(attribute="techtype",value="Language") %}
|
||||
<div>
|
||||
<span class="tech-name">{{ skill.name }}</span>{%if skill.skill %}<span class="tech-level"> ({{ skill.skill | lower}}){%endif %}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="flex-items-skills">
|
||||
{% for skill in cv.skills %}
|
||||
{% if skill.techtype == "TECHNOLOGY" %}
|
||||
<div>
|
||||
<span class="tech-name">{{ skill.name }}</span><span class="tech-level"> ({{ skill.skill | lower}})</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% for skill in cv.skills | filter(attribute="techtype", value="Technology")%}
|
||||
<div>
|
||||
<span class="tech-name">{{ skill.name }}</span>{%if skill.skill %}<span class="tech-level"> ({{ skill.skill | lower}}){%endif %}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="part">
|
||||
<div class="section-header">
|
||||
<div class="flex-container-skills">
|
||||
<div class="flex-items-skills">
|
||||
<h2>{{ "skills-frameworks" | translate(lang=lang) }}</h2>
|
||||
</div>
|
||||
<div class="flex-items-skills">
|
||||
<h2>{{ "skills-databases" | translate(lang=lang) }}</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-container-skills">
|
||||
<div class="flex-items-skills">
|
||||
{% for skill in cv.skills | filter(attribute="techtype",value="Framework") %}
|
||||
<div>
|
||||
<span class="tech-name">{{ skill.name }}</span>{%if skill.skill %}<span class="tech-level"> ({{ skill.skill | lower}}){%endif %}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="flex-items-skills">
|
||||
{% for skill in cv.skills | filter(attribute="techtype", value="Database")%}
|
||||
<div>
|
||||
<span class="tech-name">{{ skill.name }}</span>{%if skill.skill %}<span class="tech-level"> ({{ skill.skill | lower}}){%endif %}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="part">
|
||||
<span class="bolder">{{"tools" | translate(lang=lang)}}:</span>
|
||||
{% for skill in cv.skills | filter(attribute="techtype",value="Tool") | advanced_filter(attribute="skill", include_null="all") %}
|
||||
{{ skill.name }}{% if skill.skill %} - {{skill.skill}}{% endif %},<!-- TODO: fix-me (empty "," if operating system empty) %-->
|
||||
{% endfor %}
|
||||
<span class="bolder">{{"operating-systems" | translate(lang=lang)}}:</span>
|
||||
{% for skill in cv.skills | filter(attribute="techtype",value="OperatingSystem") | advanced_filter(attribute="skill", include_null="all") %}
|
||||
{{ skill.name }}</span>{% if skill.skill %} - {{skill.skill}}{% endif %}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="part">
|
||||
<div class="section-header">
|
||||
<h2>{{ "work-experience" | translate(lang=lang) }}</h2>
|
||||
</div>
|
||||
{% for job in cv.jobs %}
|
||||
{% for job in cv.jobs | filter(attribute="jobtype", value="Contract") %}
|
||||
<div class="job part-content">
|
||||
<div class="flex-container-experience">
|
||||
<div class="flex-items-experience">
|
||||
<div class="title">{{ job.title }}</div>
|
||||
<div class="languages">{{ job.languages }}</div>
|
||||
<p>
|
||||
{{ job.description | lang_entity(lang=lang) }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex-items-experience">
|
||||
<div class="company">@{{ job.company }}</div>
|
||||
<div class="dates">
|
||||
{% if job.from | format_date(type="job") != job.from | format_date(type="job") %}
|
||||
<div class="text-muted text-small mb-3">{{ job.from | format_date(type="job") }} - {{ job.to | format_date(type="job") }}</div>
|
||||
{% else %}
|
||||
<div class="text-muted text-small mb-3">{{ job.from | format_date(type="job") }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="part">
|
||||
<div class="section-header">
|
||||
<h2>{{ "work-freelance" | translate(lang=lang) }}</h2>
|
||||
</div>
|
||||
{% for job in cv.jobs | filter(attribute="jobtype", value="Freelance") %}
|
||||
<div class="job part-content">
|
||||
<div class="flex-container-experience">
|
||||
<div class="flex-items-experience">
|
||||
@@ -281,12 +351,12 @@
|
||||
{% endif %}
|
||||
{% if education.description %}
|
||||
<p>
|
||||
|
||||
|
||||
{{ education.description | lang_entity(lang=lang) }}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex-items-experience">
|
||||
{% if education.degree %}
|
||||
<div class="company">@{{ education.school }}</div>
|
||||
@@ -317,7 +387,7 @@
|
||||
{% endif %}
|
||||
{% if cv.person.social.instagram %}
|
||||
<i class="fa-instagram"> {{ cv.person.social.instagram | strip_proto }}</i>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if cv.person.social.mastodon %}
|
||||
<i class="fa-mastodon">
|
||||
<img alt="Mastodon" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPgo8c3ZnIGZpbGw9IiMwMDAwMDAiIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDI0IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGQ9Ik0yMS4zMjcgOC41NjZjMC00LjMzOS0yLjg0My01LjYxLTIuODQzLTUuNjEtMS40MzMtLjY1OC0zLjg5NC0uOTM1LTYuNDUxLS45NTZoLS4wNjNjLTIuNTU3LjAyMS01LjAxNi4yOTgtNi40NS45NTYgMCAwLTIuODQzIDEuMjcyLTIuODQzIDUuNjEgMCAuOTkzLS4wMTkgMi4xODEuMDEyIDMuNDQxLjEwMyA0LjI0My43NzggOC40MjUgNC43MDEgOS40NjMgMS44MDkuNDc5IDMuMzYyLjU3OSA0LjYxMi41MSAyLjI2OC0uMTI2IDMuNTQxLS44MDkgMy41NDEtLjgwOWwtLjA3NS0xLjY0NnMtMS42MjEuNTExLTMuNDQxLjQ0OWMtMS44MDQtLjA2Mi0zLjcwNy0uMTk0LTMuOTk5LTIuNDA5YTQuNTIzIDQuNTIzIDAgMCAxLS4wNC0uNjIxczEuNzcuNDMzIDQuMDE0LjUzNmMxLjM3Mi4wNjMgMi42NTgtLjA4IDMuOTY1LS4yMzYgMi41MDYtLjI5OSA0LjY4OC0xLjg0MyA0Ljk2Mi0zLjI1NC40MzQtMi4yMjMuMzk4LTUuNDI0LjM5OC01LjQyNHptLTMuMzUzIDUuNTloLTIuMDgxVjkuMDU3YzAtMS4wNzUtLjQ1Mi0xLjYyLTEuMzU3LTEuNjItMSAwLTEuNTAxLjY0Ny0xLjUwMSAxLjkyN3YyLjc5MWgtMi4wNjlWOS4zNjRjMC0xLjI4LS41MDEtMS45MjctMS41MDItMS45MjctLjkwNSAwLTEuMzU3LjU0Ni0xLjM1NyAxLjYydjUuMDk5SDYuMDI2VjguOTAzYzAtMS4wNzQuMjczLTEuOTI3LjgyMy0yLjU1OC41NjYtLjYzMSAxLjMwNy0uOTU1IDIuMjI4LS45NTUgMS4wNjUgMCAxLjg3Mi40MDkgMi40MDUgMS4yMjhsLjUxOC44NjkuNTE5LS44NjljLjUzMy0uODE5IDEuMzQtMS4yMjggMi40MDUtMS4yMjguOTIgMCAxLjY2Mi4zMjQgMi4yMjguOTU1LjU0OS42MzEuODIyIDEuNDg0LjgyMiAyLjU1OHY1LjI1M3oiLz48L3N2Zz4=" class="icon" />
|
||||
@@ -333,8 +403,7 @@
|
||||
+{{cv.person.phone | insert_space_every(times=3)}}
|
||||
</i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user