Compare commits
No commits in common. "main" and "v240208-1903" have entirely different histories.
main
...
v240208-19
17 changed files with 48 additions and 1864 deletions
18
.eleventy.js
18
.eleventy.js
|
|
@ -1,31 +1,13 @@
|
|||
const UpgradeHelper = require("@11ty/eleventy-upgrade-help");
|
||||
const markdownIt = require("markdown-it");
|
||||
|
||||
module.exports = function(eleventyConfig) {
|
||||
eleventyConfig.addPlugin(UpgradeHelper);
|
||||
|
||||
// Copying static assets
|
||||
eleventyConfig.addPassthroughCopy("src/style.css");
|
||||
eleventyConfig.addPassthroughCopy("src/photo.png");
|
||||
eleventyConfig.addPassthroughCopy("src/advent_pro_500.woff2");
|
||||
eleventyConfig.addPassthroughCopy("src/advent_pro_600.woff2");
|
||||
eleventyConfig.addPassthroughCopy("src/updock_400.woff2");
|
||||
eleventyConfig.addPassthroughCopy("src/LMRoman10-Bold.woff2");
|
||||
eleventyConfig.addPassthroughCopy("src/LMRoman10-Regular.woff2");
|
||||
|
||||
// Configuring permalinks to be ~.html instead of ~/
|
||||
eleventyConfig.addGlobalData("permalink", () => {
|
||||
return (data) => `${data.page.filePathStem}.${data.page.outputFileExtension}`;
|
||||
});
|
||||
|
||||
eleventyConfig.addFilter("formatDate", (dateString) => {
|
||||
if (!dateString) return "Present";
|
||||
const date = new Date(dateString);
|
||||
return date.toLocaleDateString('en-US', { year: 'numeric', month: 'short' });
|
||||
});
|
||||
|
||||
eleventyConfig.addFilter("markdown", (str) => markdownIt().render(str));
|
||||
|
||||
// Options
|
||||
return {
|
||||
dir: {
|
||||
|
|
|
|||
|
|
@ -7,15 +7,15 @@ jobs:
|
|||
build:
|
||||
runs-on: docker
|
||||
container:
|
||||
image: node:21-bullseye # Required by actions/checkout and actions/upload-artifact
|
||||
image: node:16-bullseye # Required by actions/checkout and actions/upload-artifact
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
- name: Build
|
||||
run: npx @11ty/eleventy
|
||||
- name: Upload artifact
|
||||
uses: https://data.forgejo.org/forgejo/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: dist
|
||||
path: dist/
|
||||
|
|
@ -23,9 +23,9 @@ jobs:
|
|||
needs: [build]
|
||||
runs-on: docker
|
||||
container:
|
||||
image: node:21-bullseye # Required by actions/download-artifact
|
||||
image: node:16-bullseye # Required by actions/download-artifact
|
||||
steps:
|
||||
- uses: https://data.forgejo.org/forgejo/download-artifact@v4
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: dist
|
||||
- name: rsync deployment
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Louis Guidez
|
||||
# Monsieur Louis, le site web
|
||||
|
||||
Site web de https://louis.hostux.fr/
|
||||
Site web de https://monsieurlouis.se/.
|
||||
|
||||
## Develop
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,6 @@
|
|||
"author": "Louis Guidez",
|
||||
"license": "",
|
||||
"devDependencies": {
|
||||
"@11ty/eleventy": "^3.1.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@11ty/eleventy-upgrade-help": "^3.0.1"
|
||||
"@11ty/eleventy": "^2.0.1"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1165
pnpm-lock.yaml
1165
pnpm-lock.yaml
File diff suppressed because it is too large
Load diff
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"prHourlyLimit": 0
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,9 +0,0 @@
|
|||
module.exports = function() {
|
||||
return {
|
||||
email: 'louis+homepage@hostux.fr',
|
||||
phone: '+33 6 99 39 23 90',
|
||||
linkedin: 'https://www.linkedin.com/in/louis-guidez-42a4a0170/',
|
||||
instagram: 'https://www.instagram.com/wingsofxiv/',
|
||||
git: 'https://git.hostux.fr/louis/'
|
||||
};
|
||||
};
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
module.exports = function() {
|
||||
const resume = require("./resumes/engineering.resume.json");
|
||||
return resume;
|
||||
};
|
||||
|
|
@ -1,221 +0,0 @@
|
|||
{
|
||||
"basics": {
|
||||
"name": "Louis Guidez",
|
||||
"label": "Mechanical Engineer",
|
||||
"image": "",
|
||||
"email": "louis.guidez@volvo.com",
|
||||
"phone": "+46 73 902 67 81",
|
||||
"url": "https://louis.hostux.fr",
|
||||
"summary": "with a thorough approach to product development and strong understanding of underlying physics.\n\nThrough concept design, verification and cross-functional collaboration, I aim to create robust solutions that meet requirements effectively.",
|
||||
"location": {
|
||||
"address": "Virvelvindsgatan 28",
|
||||
"postalCode": "417 14",
|
||||
"city": "Göteborg",
|
||||
"countryCode": "SE",
|
||||
"region": ""
|
||||
},
|
||||
"profiles": [
|
||||
{
|
||||
"url": "https://www.linkedin.com/in/louis-guidez-42a4a0170/",
|
||||
"network": "Linkedin",
|
||||
"username": "Louis Guidez"
|
||||
}]
|
||||
},
|
||||
"work": [{
|
||||
"name": "🇸🇪 Volvo Trucks (Pack Enclosures, Electromobility)",
|
||||
"position": "Component Owner",
|
||||
"url": "",
|
||||
"startDate": "2024-09-01",
|
||||
"endDate": "",
|
||||
"summary": "* Mechanical design of a battery enclosure (consisting of e.g. stamped steel and aluminium HPDC parts), including GD&T and simple simulations.\n* Lead discussions with cross-functional teams (mechanical, electrical, simulation, thermal...) and suppliers.",
|
||||
"highlights": [
|
||||
"Cross-functional leader", "Creo Parametric", "KOLA"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "🇸🇪 Volvo Trucks (Pack Enclosures, Electromobility)",
|
||||
"position": "Design Engineer",
|
||||
"url": "",
|
||||
"startDate": "2022-05-01",
|
||||
"endDate": "2024-08-31",
|
||||
"summary": "* Design battery packs to fulfill energy and packaging requirements as well as durability and safety.",
|
||||
"highlights": [
|
||||
"Creo Parametric", "Creo Simulate", "KOLA"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "🇫🇷 CMD Gears",
|
||||
"position": "R&D Mechanical Engineer",
|
||||
"url": "",
|
||||
"startDate": "2021-08-30",
|
||||
"endDate": "2022-02-11",
|
||||
"summary": "* Main project: design of a new cost-effective self-aligning gearbox. Gear and shaft calculations; cast iron housing design; dynamic analysis.\n* Side projects: development of an IoT sensor (embedded C++ on Arduino, implementation of network protocol, data acquisition and visualisation); development of a macro to automatise processing of FEM simulation.",
|
||||
"highlights": [
|
||||
"SolidEdge", "FEMAP/Nastran", "Modelica", "Arduino"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "🇫🇷 Vitibot",
|
||||
"position": "Mechanical Design Engineer, Assistant",
|
||||
"url": "",
|
||||
"startDate": "2019-08-31",
|
||||
"endDate": "2020-02-13",
|
||||
"summary": "* Design and sizing of parts for a vineyard robot to meet requirements.\n* Manufacturing: drawings and exploded views, communication with subcontractors, participation in the production.",
|
||||
"highlights": [
|
||||
"SolidWorks", "3D Printing"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "🇫🇷 Stellantis",
|
||||
"position": "Production Line Worker",
|
||||
"url": "",
|
||||
"startDate": "2017-01-15",
|
||||
"endDate": "2017-02-15",
|
||||
"summary": "",
|
||||
"highlights": []
|
||||
}],
|
||||
"volunteer": [{
|
||||
"organization": "Aeroklubben i Göteborg",
|
||||
"position": "Board Member",
|
||||
"url": "https://www.aeroklubben.se/",
|
||||
"startDate": "2023-11-01",
|
||||
"endDate": "",
|
||||
"summary": "",
|
||||
"highlights": []
|
||||
}],
|
||||
"education": [{
|
||||
"institution": "🇫🇷 Université de Technologie de Compiègne",
|
||||
"url": "https://www.utc.fr/",
|
||||
"area": "Mechanical Engineering",
|
||||
"studyType": "Master's Degree",
|
||||
"startDate": "2016-09-01",
|
||||
"endDate": "2022-02-11",
|
||||
"score": "GPA 5/5.",
|
||||
"courses": []
|
||||
},
|
||||
{
|
||||
"institution": "🇸🇪 Linköpings Universitet",
|
||||
"url": "https://liu.se/",
|
||||
"area": "Mechanical & Aeronautical Engineering",
|
||||
"studyType": "Erasmus (Master's Level)",
|
||||
"startDate": "2020-08-24",
|
||||
"endDate": "2021-07-30",
|
||||
"score": "",
|
||||
"courses": []
|
||||
},
|
||||
{
|
||||
"institution": "🇪🇸 Universidad de Valladolid",
|
||||
"url": "https://www.uva.es/",
|
||||
"area": "Mechanical Engineering, Computer Science",
|
||||
"studyType": "Erasmus (Bachelor's Level)",
|
||||
"startDate": "2018-01-31",
|
||||
"endDate": "2018-06-29",
|
||||
"score": "Valedictorian.",
|
||||
"courses": []
|
||||
}],
|
||||
"awards": [],
|
||||
"certificates": [{
|
||||
"name": "Certificate",
|
||||
"date": "2021-11-07",
|
||||
"issuer": "Company",
|
||||
"url": "https://certificate.com"
|
||||
}],
|
||||
"publications": [],
|
||||
"skills": [{
|
||||
"name": "CAD Design",
|
||||
"level": "Master",
|
||||
"keywords": [
|
||||
"Creo Parametric",
|
||||
"CATIA (V5 / 3DExperience)",
|
||||
"SolidEdge",
|
||||
"SolidWorks"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Simulation and modelling",
|
||||
"level": "Basic",
|
||||
"keywords": [
|
||||
"FEA",
|
||||
"MATLAB/Simulink",
|
||||
"Modelica",
|
||||
"KISSsoft/KISSsys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "IT/Computer Science",
|
||||
"level": "Advanced",
|
||||
"keywords": [
|
||||
"Full-stack web",
|
||||
"Rust",
|
||||
"C++",
|
||||
"VBA",
|
||||
"Python",
|
||||
"Networks",
|
||||
"Containers",
|
||||
"Linux"
|
||||
]
|
||||
}],
|
||||
"languages": [{
|
||||
"language": "🇬🇧 English",
|
||||
"fluency": "C2 (Advanced)"
|
||||
},
|
||||
{
|
||||
"language": "🇸🇪 Swedish",
|
||||
"fluency": "B2 (Proficient)"
|
||||
},
|
||||
{
|
||||
"language": "🇫🇷 French",
|
||||
"fluency": "Native"
|
||||
},
|
||||
{
|
||||
"language": "🇪🇸 Spanish",
|
||||
"fluency": "C1 (Advanced)"
|
||||
},
|
||||
{
|
||||
"language": "🇩🇪 German",
|
||||
"fluency": "B1 (Intermediate)"
|
||||
}],
|
||||
"interests": [{
|
||||
"name": "Private Pilot",
|
||||
"keywords": [
|
||||
"Fire watch (brandflyg)",
|
||||
"Swedish civil defense"
|
||||
]
|
||||
},{
|
||||
"name": "Music",
|
||||
"keywords": [
|
||||
"Piano",
|
||||
"Orchestra"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Sports",
|
||||
"keywords": [
|
||||
"Rope climbing",
|
||||
"Hiking",
|
||||
"Cycling"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Theatre",
|
||||
"keywords": [
|
||||
"Volunteer at festival"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "IT",
|
||||
"keywords": [
|
||||
"Programming",
|
||||
"Self-hosting (email, cloud, web...)"
|
||||
]
|
||||
}],
|
||||
"references": [{
|
||||
"name": "Shreyas Nanjunda Swamy",
|
||||
"reference": "Former Global Component Responsible, Volvo Trucks (Pack Enclosures, Electromobility)"
|
||||
},
|
||||
{
|
||||
"name": "Michel Alfaro",
|
||||
"reference": "Former Design Engineer, Volvo Trucks (Pack Enclosures, Electromobility)"
|
||||
}],
|
||||
"projects": []
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
226
src/index.njk
226
src/index.njk
|
|
@ -4,211 +4,39 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="generator" content="{{ eleventy.generator }}">
|
||||
|
||||
<title>Louis Guidez</title>
|
||||
<title>Monsieur Louis</title>
|
||||
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="scroll">
|
||||
<div class="page" id="splashscreen">
|
||||
<div>
|
||||
<h1>Louis Guidez</h1>
|
||||
|
||||
<h2 id="subtitle" style="--n: 6">
|
||||
<span>
|
||||
<span>Mechanical Engineer.</span>
|
||||
<span>Private Pilot.</span>
|
||||
<span>Geek.</span>
|
||||
<span>Pianist.</span>
|
||||
<span>Hiker.</span>
|
||||
<span>Board-"gamer".</span>
|
||||
</span>
|
||||
</h2>
|
||||
</div>
|
||||
<img id="photo" alt="Photo of Louis Guidez" src="photo.png">
|
||||
<ul id="contact">
|
||||
<li title="Phone: {{ contact.phone }}"><a href="tel:{{ contact.phone | replace(" ", "") }}"><i>{% include "ionicons/call-outline.svg" %}</i></a></li>
|
||||
<li title="Email: {{ contact.email }}"><a href="mailto:{{ contact.email }}"><i>{% include "ionicons/mail-outline.svg" %}</i></a></li>
|
||||
<li title="LinkedIn"><a href="{{ contact.linkedin }}"><i>{% include "ionicons/logo-linkedin.svg" %}</i></a></li>
|
||||
<li title="Instagram: @wingsofxiv"><a href="{{ contact.instagram }}"><i>{% include "ionicons/logo-instagram.svg" %}</i></a></li>
|
||||
<li title="Git"><a href="https://git.hostux.fr/louis/"><i>{% include "ionicons/git-branch-outline.svg" %}</i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="page" id="resume">
|
||||
<aside>
|
||||
<h1>
|
||||
{{ resume.basics.name }}
|
||||
|
||||
{% for profile in resume.basics.profiles %}
|
||||
<a href="{{ profile.url }}"><i>{% include "ionicons/logo-" + profile.network.toLowerCase() + ".svg" %}</i></a>
|
||||
{% endfor %}
|
||||
</h1>
|
||||
|
||||
📧 <a href="mailto:{{ resume.basics.email }}">{{ resume.basics.email }}</a><br>
|
||||
📱 <a href="tel:{{ resume.basics.phone }}">{{ resume.basics.phone }}</a><br>
|
||||
📍 {{ resume.basics.location.city }}
|
||||
|
||||
{# Skills #}
|
||||
{% if resume.skills and resume.skills.length > 0 %}
|
||||
<h2>Skills</h2>
|
||||
{% for skill in resume.skills %}
|
||||
<section class="skill">
|
||||
<h3>{{ skill.name }}</h3>
|
||||
<br>
|
||||
{% for keyword in skill.keywords %}
|
||||
<span class="tag">{{ keyword }}</span>
|
||||
{% endfor %}
|
||||
</section>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{# Languages #}
|
||||
{% if resume.languages and resume.languages.length > 0 %}
|
||||
<h2>Languages</h2>
|
||||
|
||||
{% for language in resume.languages %}
|
||||
<section class="language">
|
||||
<h3>{{ language.language }}</h3>
|
||||
<span class="tag">{{ language.fluency }}</span>
|
||||
</section>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{# Interests #}
|
||||
{% if resume.interests and resume.interests.length > 0 %}
|
||||
<h2>Interests</h2>
|
||||
|
||||
{% for interest in resume.interests %}
|
||||
<section class="interest">
|
||||
<h3>{{ interest.name }}</h3>
|
||||
|
||||
{% for keyword in interest.keywords %}
|
||||
<span class="tag">{{ keyword }}</span>
|
||||
{% endfor %}
|
||||
</section>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{# Volunteer #}
|
||||
{% if resume.volunteer and resume.volunteer.length > 0 %}
|
||||
<h2>Volunteer</h2>
|
||||
{% for vol in resume.volunteer %}
|
||||
<section class="volunteer">
|
||||
<div>
|
||||
{% if not vol.endDate %}<span class="current">●</span>{% endif %}
|
||||
<h3>{{ vol.position }}</h3>
|
||||
<span class="date">{{ vol.startDate | formatDate }} - {{ vol.endDate | formatDate }}</span>
|
||||
</div>
|
||||
<div>
|
||||
{{ vol.organization }}
|
||||
</div>
|
||||
|
||||
{% if vol.summary %}
|
||||
<div>
|
||||
{{ vol.summary | markdown | safe }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</aside>
|
||||
<main>
|
||||
<header>
|
||||
<h1>{{ resume.basics.label }}</h1>
|
||||
{{ resume.basics.summary | markdown | safe }}
|
||||
</header>
|
||||
|
||||
{# Work Experience #}
|
||||
{% if resume.work and resume.work.length > 0 %}
|
||||
<h2>Work Experience</h2>
|
||||
{% for job in resume.work %}
|
||||
<section class="work">
|
||||
<div>
|
||||
{% if not job.endDate %}<span class="current">●</span>{% endif %}
|
||||
<h3>{{ job.position }}</h3>
|
||||
<span class="date">{{ job.startDate | formatDate }} - {{ job.endDate | formatDate }}</span>
|
||||
</div>
|
||||
<div>
|
||||
{{ job.name }}
|
||||
</div>
|
||||
{% if job.highlights and job.highlights.length > 0 %}
|
||||
<div>
|
||||
{% for highlight in job.highlights %}
|
||||
<span class="tag">{{ highlight }}</span>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if job.summary %}
|
||||
<div>
|
||||
{{ job.summary | markdown | safe }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{# Education #}
|
||||
{% if resume.education and resume.education.length > 0 %}
|
||||
<h2>Education</h2>
|
||||
{% for edu in resume.education %}
|
||||
<section class="education">
|
||||
<div>
|
||||
{% if not edu.endDate %}<span class="current">●</span>{% endif %}
|
||||
<h3>{{ edu.studyType }} in {{ edu.area }}</h3>
|
||||
<span class="date">{{ edu.startDate | formatDate }} - {{ edu.endDate | formatDate }}</span>
|
||||
</div>
|
||||
<div>
|
||||
{{ edu.institution }}
|
||||
{% if edu.score %}
|
||||
<span class="tag">{{ edu.score }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{# Projects #}
|
||||
{% if resume.projects and resume.projects.length > 0 %}
|
||||
<h2>Projects</h2>
|
||||
{% for project in resume.projects %}
|
||||
<section class="project">
|
||||
<h3>{{ project.name }}</h3>
|
||||
|
||||
{{ project.description }}
|
||||
|
||||
{% if project.highlights and project.highlights.length > 0 %}
|
||||
{% for highlight in project.highlights %}
|
||||
<span class="tag">{{ highlight }}</span>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</section>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{# References #}
|
||||
{% if resume.references and resume.references.length > 0 %}
|
||||
<h2>References</h2>
|
||||
|
||||
{% if false %}
|
||||
{% for reference in resume.references %}
|
||||
<section>
|
||||
<h3>{{ reference.name }}</h3>
|
||||
|
||||
{{ reference.reference }}
|
||||
</section>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<p>
|
||||
Contact me.
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</main>
|
||||
<div class="page">
|
||||
<div>
|
||||
<h1>Louis Guidez</h1>
|
||||
<h2 id="subtitle" style="--n: 6">
|
||||
<span>
|
||||
<span>Mechanical Engineer.</span>
|
||||
<span>Private Pilot.</span>
|
||||
<span>Geek.</span>
|
||||
<span>Pianist.</span>
|
||||
<span>Hiker.</span>
|
||||
<span>Board-"gamer".</span>
|
||||
</span>
|
||||
</h2>
|
||||
</div>
|
||||
<img id="photo" alt="Photo of Louis Guidez" src="photo.png">
|
||||
<ul id="contact">
|
||||
<li title="Phone: +33 6 99 39 23 90"><a href="tel:+33699392390"><i>{% include "ionicons/call-outline.svg" %}</i></a></li>
|
||||
<li title="Email: louis@hostux.fr"><a href="mailto:louis@hostux.fr"><i>{% include "ionicons/mail-outline.svg" %}</i></a></li>
|
||||
<li title="LinkedIn"><a href="https://www.linkedin.com/in/louis-guidez-42a4a0170/"><i>{% include "ionicons/logo-linkedin.svg" %}</i></a></li>
|
||||
<li title="Instagram: @wingsofxiv"><a href="https://www.instagram.com/wingsofxiv/"><i>{% include "ionicons/logo-instagram.svg" %}</i></a></li>
|
||||
<li title="Git"><a href="https://git.hostux.fr/louis/"><i>{% include "ionicons/git-branch-outline.svg" %}</i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{#
|
||||
<div class="page">
|
||||
Hey
|
||||
</div>
|
||||
#}
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
BIN
src/photo.png
BIN
src/photo.png
Binary file not shown.
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 1.2 MiB |
246
src/style.css
246
src/style.css
|
|
@ -1,55 +1,5 @@
|
|||
/**
|
||||
* Fonts
|
||||
*/
|
||||
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Advent Pro';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-stretch: 100%;
|
||||
font-display: swap;
|
||||
src: url("advent_pro_500.woff2") format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Advent Pro';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-stretch: 100%;
|
||||
font-display: swap;
|
||||
src: url("advent_pro_600.woff2") format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Updock';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url("updock_400.woff2") format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Latin Modern Roman';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url("LMRoman10-Regular.woff2") format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Latin Modern Roman';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-stretch: 100%;
|
||||
font-display: swap;
|
||||
src: url("LMRoman10-Bold.woff2") format('woff2');
|
||||
}
|
||||
@import url('https://fonts.googleapis.com/css2?family=Updock&family=Advent+Pro:wght@500&display=swap');
|
||||
@import url('https://fonts.googleapis.com/css2?family=Updock&family=Advent+Pro:wght@600&display=swap');
|
||||
|
||||
/**
|
||||
* Styles
|
||||
|
|
@ -65,9 +15,6 @@ html, body {
|
|||
body::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
html {
|
||||
overflow-y: hidden; /* Needed for scroll snap */
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "Advent Pro", sans-serif;
|
||||
|
|
@ -75,17 +22,16 @@ body {
|
|||
font-weight: 500;
|
||||
font-style: normal;
|
||||
font-variation-settings: "wdth" 100;
|
||||
|
||||
max-height: 100vh;
|
||||
overflow-y: scroll; /* Needed for scroll snap */
|
||||
scroll-snap-type: y mandatory;
|
||||
}
|
||||
|
||||
.page {
|
||||
.page:first-of-type {
|
||||
height: 100vh;
|
||||
border: none;
|
||||
background: rgb(133,141,143);
|
||||
background: linear-gradient(178deg, #F2F2F2 0%, #D5E7F2 85%, #4D6F8C 100%);
|
||||
background: linear-gradient(178deg, #F2F2F2 0%, #D5E7F2 85%, #4D6F8C 100%);
|
||||
}
|
||||
|
||||
.page {
|
||||
position: relative;
|
||||
margin: 0;
|
||||
padding: 1em;
|
||||
|
|
@ -94,42 +40,27 @@ body {
|
|||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
border: 1em solid #4D6F8C;
|
||||
background: #D5E7F2;
|
||||
|
||||
scroll-snap-align: start;
|
||||
}
|
||||
.page:has(+ .page) {
|
||||
margin-bottom: .2em;
|
||||
}
|
||||
#resume {
|
||||
overflow-y: auto;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: "Updock", cursive;
|
||||
font-size: 2rem;
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
|
||||
margin: 0;
|
||||
font-size: 7rem;
|
||||
color: #252C40;
|
||||
margin-bottom: -0.4em;
|
||||
|
||||
position: relative;
|
||||
}
|
||||
h2 {
|
||||
font-weight: 600;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
h3 {
|
||||
font-weight: 600;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
#splashscreen h1 {
|
||||
position: relative;
|
||||
font-size: 7rem;
|
||||
margin-bottom: -0.4em;
|
||||
}
|
||||
#splashscreen h2 {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
|
|
@ -209,117 +140,6 @@ ul#contact {
|
|||
align-self: flex-end;
|
||||
}
|
||||
|
||||
#resume {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 1em;
|
||||
align-items: start;
|
||||
|
||||
|
||||
font-family: 'Latin Modern Roman';
|
||||
}
|
||||
|
||||
#resume aside {
|
||||
min-width: 15rem;
|
||||
max-width: 20rem;
|
||||
}
|
||||
|
||||
#resume h2 {
|
||||
border-bottom: .1em solid black;
|
||||
}
|
||||
|
||||
section.work h3, section.education h3, section.skill h3, section.interest h3, section.language h3, section.volunteer h3 {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
span.date {
|
||||
color: #777;
|
||||
font-size: .9em;
|
||||
}
|
||||
|
||||
#resume aside h1 {
|
||||
text-align: center;
|
||||
font-family: 'Latin Modern Roman';
|
||||
font-weight: bold;
|
||||
font-size: 2rem;
|
||||
}
|
||||
#resume aside h1 i svg {
|
||||
height: 1em;
|
||||
vertical-align: -10%;
|
||||
}
|
||||
|
||||
#resume aside a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
#resume main h1 {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#resume .language h3 {
|
||||
width: 6em;
|
||||
}
|
||||
|
||||
span.tag {
|
||||
display: inline-block;
|
||||
color: white;
|
||||
padding: .1em .3em;
|
||||
border-radius: .2em;
|
||||
margin: .1em;
|
||||
font-size: .9em;
|
||||
}
|
||||
|
||||
|
||||
#resume main header {
|
||||
margin-top: .8rem;
|
||||
text-align: justify;
|
||||
}
|
||||
#resume main header h1 {
|
||||
line-height: 1rem;
|
||||
}
|
||||
|
||||
#resume main header p:first-of-type {
|
||||
display: inline;
|
||||
}
|
||||
#resume main header p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#resume main ul {
|
||||
margin-top: 0;
|
||||
padding-left: 1rem;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
|
||||
/*span.tag:nth-child(1) { background: #4D6F8C; } /* Blue */
|
||||
/*span.tag:nth-child(2) { background: #8C4D6F; } /* Magenta */
|
||||
/*span.tag:nth-child(3) { background: #6F8C4D; } /* Green */
|
||||
/*span.tag:nth-child(4) { background: #8C6F4D; } /* Brown */
|
||||
/*span.tag:nth-child(5) { background: #4D8C6F; } /* Teal */
|
||||
/*span.tag:nth-child(6) { background: #6F4D8C; } /* Purple */
|
||||
/*span.tag:nth-child(7) { background: #8C4D4D; } /* Red */
|
||||
/*span.tag:nth-child(8) { background: #4D8C8C; } /* Cyan */
|
||||
/*span.tag:nth-child(9) { background: #8C8C4D; } /* Yellow-green */
|
||||
/*span.tag:nth-child(10) { background: #4D4D8C; } /* Indigo */
|
||||
|
||||
span.tag {
|
||||
background: #4D6F8C;
|
||||
}
|
||||
|
||||
span.current {
|
||||
color: #24b500;
|
||||
}
|
||||
|
||||
span.date {
|
||||
float: right;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@media (max-width: 480px) {
|
||||
h1 {
|
||||
|
|
@ -329,7 +149,7 @@ span.date {
|
|||
max-height: 50vh;
|
||||
max-width: none;
|
||||
}
|
||||
ul#contact, #resume {
|
||||
ul#contact {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
|
@ -339,44 +159,4 @@ span.date {
|
|||
height: 3em;
|
||||
padding: .5em 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@page {
|
||||
margin: 0.5cm 0.3cm;
|
||||
}
|
||||
|
||||
@media print
|
||||
{
|
||||
#splashscreen {
|
||||
display: none;
|
||||
}
|
||||
|
||||
html, body, #resume {
|
||||
background-color: transparent;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
height: auto;
|
||||
max-height: none;
|
||||
}
|
||||
|
||||
#resume {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
|
||||
#resume aside h1 {
|
||||
text-align: center;
|
||||
font-family: 'Latin Modern Roman';
|
||||
font-weight: bold;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
|
||||
span.tag {
|
||||
background: #eff8ff;
|
||||
color: #2d4253;
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Loading…
Reference in a new issue