53 Commits

Author SHA1 Message Date
github-actions
f5ccefc61c Preparing changes for deployment. 2023-01-07 04:42:49 +00:00
MajorDroolz
c1377d50a0 FIX: All large styles/fonts are now preloaded. 2023-01-06 23:42:22 -05:00
MajorDroolz
d2f424a7c9 FIX: Compressed images, removed most content layout shifting. 2023-01-06 23:26:00 -05:00
MajorDroolz
9697866181 FIX: Gemfiles still present 2023-01-06 20:06:31 -05:00
MajorDroolz
a793d7ce4b FIX: Removed unneeded files. 2023-01-06 19:59:36 -05:00
Max Hutz
aa4fdaf435 FEAT: Add meaningful description to README. 2023-01-06 19:53:59 -05:00
MajorDroolz
8f6d45ca53 FEAT: CRISIS, and with that all, project content complete. 2023-01-06 19:34:05 -05:00
MajorDroolz
de2506ad9d FEAT: Added Poll Buddy content. 2023-01-06 17:53:31 -05:00
MajorDroolz
cc4b87d9c5 FIX: Malung link removed, FreshManuals link fixed, all outside links create tab. 2023-01-06 15:51:57 -05:00
MajorDroolz
81f467e16a FEAT: Info for FreshManuals mobile app. 2023-01-06 04:52:52 -05:00
MajorDroolz
9ac21fac1e FIX: images correctly center, and shrink on screen size. 2023-01-06 04:01:55 -05:00
MajorDroolz
662bc0a2ed FEAT: Added Malung info. 2023-01-06 03:57:38 -05:00
MajorDroolz
1452840240 FIX: Removed duplicate jekyll code with include. 2023-01-05 00:22:03 -05:00
MajorDroolz
ec2e17cee1 FIX: Experiences don't have a description. 2023-01-05 00:08:41 -05:00
MajorDroolz
a554ca8fa6 FIX: Not text inside image boxes have inner padding. 2023-01-05 00:00:28 -05:00
MajorDroolz
9611cde594 FIX: Experiences don't have a description. 2023-01-04 23:49:15 -05:00
MajorDroolz
7edafd8677 FIX: Removed incompatible Jekyll plugin. 2023-01-04 23:43:05 -05:00
MajorDroolz
7463c1927a FIX: Remove HTML Minifier 2023-01-04 23:30:37 -05:00
MajorDroolz
fed3479ed1 TEST: prepare.yml 2023-01-04 23:30:24 -05:00
MajorDroolz
810ede3202 FIX: Image not available for project list. 2023-01-04 23:29:35 -05:00
MajorDroolz
a4a4e04ab2 FIX: Workflow to work with jekyll. 2023-01-04 23:16:48 -05:00
MajorDroolz
219a7543de FIX: Description for projects now works. 2023-01-04 22:47:52 -05:00
MajorDroolz
87a3c3d2b4 FIX: Only ready work in documented. Images added, view ubtton optional. 2023-01-04 22:18:53 -05:00
MajorDroolz
34e75a3748 Project pages now auto-generated with jekyll data. 2023-01-04 21:32:02 -05:00
MajorDroolz
f0b2bc0474 FEAT: Created first demo of project page for malung. 2023-01-04 04:26:14 -05:00
MajorDroolz
28e1dcc5d5 Pull from main. 2023-01-04 03:01:06 -05:00
MajorDroolz
e011480ad1 Merge pull request #17 from MajorDroolz/project-list
Project list
2023-01-04 02:36:26 -05:00
MajorDroolz
77991356f4 FIX: added data folders. 2023-01-04 02:35:10 -05:00
MajorDroolz
875a80488c FEAT: New projects page, Jekyllified home page too. 2023-01-04 02:34:29 -05:00
MajorDroolz
86434d5248 Revert "Preparing changes for deployment."
This reverts commit 03c19781e9.
2023-01-03 22:18:13 -05:00
MajorDroolz
128c97900c Merge branch 'build' into main 2023-01-03 22:10:23 -05:00
MajorDroolz
fe013e056b Corrected 404 page description. 2023-01-03 22:08:20 -05:00
github-actions
03c19781e9 Preparing changes for deployment. 2023-01-04 03:04:58 +00:00
MajorDroolz
e264abd558 FEAT: New 404 page, pages now use jekyll for componentalization. 2023-01-03 22:04:28 -05:00
MajorDroolz
c1c1c664a3 Merge pull request #13 from MajorDroolz/homepage
Homepage is operational.
2023-01-03 01:17:41 -05:00
MajorDroolz
f8b282c042 FIX: Reroute to resume because the homepage is still in beta. 2023-01-03 01:03:18 -05:00
MajorDroolz
151f01c335 FEAT: add logos to page 2023-01-03 01:02:17 -05:00
MajorDroolz
6fd537104e FEAT: Home page now operational, but yet complete. 2023-01-03 00:33:07 -05:00
MajorDroolz
f7136af88e OHAUL: Completely new figma design, made about section. 2023-01-02 17:26:05 -05:00
MajorDroolz
7e10a6e664 FIX: removed unneeded CSS. 2022-12-25 18:42:21 -05:00
MajorDroolz
de831dbea3 FEAT: Added experiences section. 2022-12-25 18:37:41 -05:00
MajorDroolz
30f3c69d32 FEAT: Added project section, reworked about me section. 2022-12-24 22:22:38 -05:00
MajorDroolz
011c58f69a FIX: New combined stylesheet. 2022-12-22 23:00:55 -05:00
MajorDroolz
beb2776c85 FIX: scrolling issues with safari. 2022-12-22 22:56:24 -05:00
MajorDroolz
5e8ff650be FEAT: The About section is completely featured. 2022-12-22 22:47:15 -05:00
MajorDroolz
2fc2271221 FEAT: Beta for about section. 2022-12-22 21:30:44 -05:00
MajorDroolz
b7c7e0dd9c FIX: Partial unification of styling, will work on resume later. 2022-12-22 18:29:53 -05:00
MajorDroolz
cf6a5ef910 FEAT: Added rest of unstyled HTML content. Temporarily removed animations. 2022-12-22 16:51:59 -05:00
MajorDroolz
4199536932 Merge branch 'main' into homepage 2022-12-20 17:34:43 -05:00
MajorDroolz
b63bebcebf CLEAN: Condensed prepare action. 2022-12-20 17:12:40 -05:00
MajorDroolz
440e5b3921 FIX: root now points to home. 2022-12-20 04:04:46 -05:00
MajorDroolz
8da4fac381 Added a side bar to access the parts of the site for mobile users. 2022-12-20 04:04:04 -05:00
MajorDroolz
41885de1d6 FEAT: Created the dymanic title page. 2022-12-20 04:03:54 -05:00
45 changed files with 526 additions and 403 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -19,22 +19,21 @@ jobs:
node-version: '16' node-version: '16'
- name: Install dependencies. - name: Install dependencies.
run: npm i -g terser csso-cli html-minifier run: npm i -g terser csso-cli
- name: "Copying changes over to build." - name: "Copying changes over to build."
run: git checkout -b build run: git checkout -b build
- name: Minify files. - name: Minify files.
run: | run: |
for i in `find . -name "*.js" -type f`; do terser $i --compress -o $i; done find . -name "*.js" -type f -exec terser {} -c -o {} \;
for i in `find . -name "*.css" -type f`; do csso $i -o $i; done find . -name "*.css" -type f -exec csso {} -o {} \;
for i in `find . -name "*.html" -type f`; do html-minifier --remove-comments --collapse-whitespace $i -o $i; done
- name: "Commiting changes." - name: "Commiting changes."
run: | run: |
git config user.email "noreply@github.com" git config user.name github-actions
git config user.name "github-actions" git config user.email noreply@github.com
git commit -am "Preparing changes for deployment." git commit -am "Preparing changes for deployment."
- name: "Pushing changes." - name: "Pushing changes."
run: git push -f --set-upstream origin build run: git push -uf origin build

8
.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
_site
.bundle
.jekyll-cache
vendor
.vscode
.DS_Store
Gemfile
Gemfile.lock

16
404.html Normal file
View File

@@ -0,0 +1,16 @@
---
title: 404
description: Oops! The page you wanted does not exist.
layout: default
---
<link rel="stylesheet" href="/styles/404.css">
<section id="notfound" class="back">
<div id="text-outer">
<i>Looks like your lost!</i>
<h1 id="text-404" class="shadow">404</h1>
</div>
<hr class="lighter">
<button type="button" class="nav-link white button" onclick="history.back(-1)">Go Back.</button>
</section>

View File

@@ -1,3 +1,7 @@
# The Personal Website of Maxim Voldman Hutz # 🖼️ Max Hutz's Digital Portfolio
This website serves as an exhibit of who I am, what I've done, what I'm doing, ### Hey!
and what I plan to do. I'm Max Hutz, and this is my personal website.
It details who I am, what I've done, and were I'm headed in the field of software engineering. (And it looks cool too!)
Check it out now at [www.maximhutz.me](https://www.maximhutz.me)!

16
_data/home.yml Normal file
View File

@@ -0,0 +1,16 @@
welcome:
Hey! 👋 I'm Max Hutz.
status:
Software developer in New York.
about:
I'm a passionate computer science student skilled in building responsive,
full-stack applications. I love learning from colleagues and teaching future
developers. I thrive where teamwork and creativity are key.
email:
maximhutz@gmail.com
featured:
[ malung, freshmanual, pollbuddy, rpi-crisis ]

79
_data/techs.yml Normal file
View File

@@ -0,0 +1,79 @@
html:
name: HTML
fore: '#FFFFFF'
back: '#E44D26'
link: https://html.spec.whatwg.org/multipage/
css:
name: CSS
fore: '#FFFFFF'
back: '#2965F1'
link: https://www.w3.org/Style/CSS/Overview.en.html
js:
name: JavaScript
fore: '#323330'
back: '#F0DB4F'
link: https://en.wikipedia.org/wiki/JavaScript
php:
name: PHP
fore: '#242434'
back: '#8B93BB'
link: https://www.php.net
docker:
name: Docker
fore: '#2494EC'
back: '#FFFFFF'
link: https://www.docker.com
azure:
name: Azure
fore: '#EEEEEE'
back: 'linear-gradient(-45deg, #2892DF, #3CCBF4)'
link: https://azure.microsoft.com/en-us/
mariadb:
name: MariaDB
fore: '#1C335C'
back: '#C4745C'
link: https://mariadb.org
#*----------------------------------------------------------------------------*#
react:
name: React
fore: '#04D8F8'
back: '#242323'
link: https://reactjs.org
swift:
name: Swift
fore: white
back: 'linear-gradient(-45deg, #FF3527, #FBAB3F)'
link: https://www.swift.org
objective-c:
name: Objective-C
fore: '#000000'
back: '#EEEEEE'
link: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html
firebase:
name: Firebase
fore: '#F57C00'
back: '#EEF3F5'
link: https://firebase.google.com
python:
name: Python
fore: '#FFD94B'
back: '#346C94'
link: https://www.python.org
bs:
name: Beautiful Soup
fore: '#97DACB'
back: '#1C4E63'
link: https://www.crummy.com/software/BeautifulSoup/bs4/doc/

116
_data/work.yml Normal file
View File

@@ -0,0 +1,116 @@
malung:
id: malung
title: Malung
subtitle: COVID-19 Classifier
stack: [ html, css, js, php, docker, mariadb, azure ]
color: malung
image: /res/projects/malung.webp
ready: true
description:
Led a team of 3 to create Malung, an <b>online COVID-19 classifier</b>. With
Malung, you can detect COVID-19 in lung scans using machine learning, and
<b>manage patient data on the cloud</b>. <br><br> Doubled as the <b>backend
/ DevOps lead</b> during development, managing the site and its database.
outcomes:
- Hosted site through Microsoft Azure.
- Managed database with MariaDB; Containerized on Docker instance for local
development.
- Built account system with PHP, which interfaced with frontend through
backend API.
- Collaboratively designed sites UI with Figma, focusing on responsive
design.
#*----------------------------------------------------------------------------*#
freshmanual:
id: freshmanual
title: FreshManual
subtitle: Mobile App
stack: [ react, js, firebase, swift, objective-c ]
link: https://apps.apple.com/us/app/freshmanuals/id1627091250
color: freshmanual
image: /res/projects/freshmanual.webp
ready: false
description:
Lead developer during the initial development of the FreshManuals app.
Worked with <b>team of 5</b> at Tightrope Interactive to design, build, and
test the <b>mobile product manual aggregator</b>.<br><br>FreshManuals is
currently available for download on the <b>iPhone app store</b>.
outcomes:
- User interface built using React/React-Native, for multiplatform
integration.
- Used Firestore/Firebase to store and access user account data.
- Integrated paid yahoo search results into mobile search results.
- Used Fetch API to request user manual data from website API endpoints.
#*----------------------------------------------------------------------------*#
pollbuddy:
id: pollbuddy
title: Poll Buddy
stack: [ react, js, docker ]
link: https://pollbuddy.app
color: pollbuddy
image: /res/projects/pollbuddy.webp
ready: false
description:
React developer for Poll Buddy, an <b>online questionnaire service</b> used by
hundreds of students and teachers on the Rensselaer Polytechnic Institute
campus. Worked on <b>cleaning source code</b>, transitioning from legacy
technology, and <b>improving the sites user experience</b>.
outcomes:
- Cut 30% of the front-end codebase by switching to the modern, functional
style.
- Wrote and refined dozens of front-end tests using Jest for React
components.
- Ran discount usability study on Poll Buddys UI, to isolate and correct
flaws that novel users encountered.
#*----------------------------------------------------------------------------*#
rpi-crisis:
id: rpi-crisis
title: CRISIS
stack: [ python, bs ]
link: https://rpicrisis.org
color: rpi-crisis
image: /res/projects/rpi-crisis.webp
ready: false
description:
<b>Backend developer</b> for Correcting Rensselaers Insufferable Student
Information System (CRISIS), a web-app to help students organize and <b>manage
their curriculum</b> at Rensselaer Polytechnic Institute (RPI). Worked to
<b>expand data collection</b> system, and decipher information from RPIs
legacy SIS.
outcomes:
- Wrote web-scrapers using Beautiful Soup to pull data from QuACS, another
well-known course scheduler, jump-starting the sites backend.
- Wrote web-scrapers to extract course templates from RPIs numerous
major-specific websites.
- Used Lark to parse course requirements from RPIs convoluted course
catalog.
#*----------------------------------------------------------------------------*#

33
_includes/default.html Normal file
View File

@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="{{ include.description }}">
<meta name="cache-control" content="max-age=31536000">
<link rel="shortcut icon" type="image/png" href="/res/favicon.png">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link rel="preload stylesheet" as="font" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,500,1,200&display=swap">
<link rel="preload stylesheet" as="font" href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap">
<link rel="preload stylesheet" as="font" href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;900&display=swap">
<link rel="preload stylesheet" as="style" href="/styles/global.css">
<link rel="preload stylesheet" as="style" href="/styles/default.css">
<title>{{ include.title }} ─ Max Hutz</title>
</head>
<body>
{% include header.html %}
{{ include.content }}
<div class="flex dark back npad"></div>
{% include footer.html %}
</body>
</html>

13
_includes/footer.html Normal file
View File

@@ -0,0 +1,13 @@
<link rel="preload stylesheet" as="style" href="/styles/footer.css">
<footer class="dark back">
<h2>&copy; 2022</h2>
<div class="flex"></div>
<a href="https://github.com/MajorDroolz" class="png-icon" target="_blank">
<img src="/res/icons/github.webp" alt="GitHub" width="30" height="30">
</a>
<a href="https://www.linkedin.com/in/maximhutz/" class="png-icon" target="_blank">
<img src="/res/icons/linkedin.webp" alt="LinkedIn" width="30" height="30">
</a>
<a href="mailto:maximhutz@gmail.com" class="nav-link white icon" data-i="mail" aria-label="Contact" target="_blank"></a>
</footer>

30
_includes/header.html Normal file
View File

@@ -0,0 +1,30 @@
<link rel="stylesheet" href="/styles/header.css">
<header class="light back shadow">
<a href="/" class="nav-link dark">MAX HUTZ</a>
<div class="flex"></div>
<a href="/experiences" class="nav-link dark icon nav3" data-i="work">Experience</a>
<a href="/resume" class="nav-link dark icon nav3" data-i="clinical_notes" target="_blank">Resume</a>
<a href="mailto:maximhutz@gmail.com" class="nav-link dark icon nav3" data-i="mail">Contact</a>
<a href="/experiences" class="nav-link dark icon nav2" data-i="work" aria-label="Experience"></a>
<a href="/resume" class="nav-link dark icon nav2" data-i="clinical_notes" aria-label="Resume" target="_blank"></a>
<a href="mailto:maximhutz@gmail.com" class="nav-link dark icon nav2" data-i="mail" aria-label="Contact"></a>
<button class="nav-link dark icon nav1" data-i="menu" aria-label="Menu" onclick="document.getElementById('menu')?.showModal()"></button>
</header>
<dialog id="menu">
<div class="light width-pad shadow">
<div id="menu-inner">
<div id="menu-top">
<a href="/home" class="nav-link dark">MAX HUTZ</a>
<div class="flex"></div>
<form method="dialog">
<button class="nav-link dark icon" data-i="close" aria-label="Close"></button>
</form>
</div>
<a href="/experiences" class="nav-link dark icon" data-i="work">Experience</a>
<a href="/resume" class="nav-link dark icon" data-i="clinical_notes" target="_blank">Resume</a>
<a href="mailto:maximhutz@gmail.com" class="nav-link dark icon" data-i="mail">Contact</a>
</div>
</div>
</dialog>

1
_includes/style.html Normal file
View File

@@ -0,0 +1 @@
<link rel="stylesheet" href="/styles/{{ include.name }}.css">

1
_layouts/default.html Normal file
View File

@@ -0,0 +1 @@
{% include default.html title=page.title content=content description=page.description %}

54
_layouts/experience.html Normal file
View File

@@ -0,0 +1,54 @@
{% capture description %}
A description of work done by Maxim Voldman Hutz for {{page.title}}.
{% endcapture %}
{% capture inner %}
{% assign malung = site.data.work[page.project_id] %}
{% assign techs = site.data.techs %}
<link rel="preload stylesheet" href="/styles/experience.css">
<link rel="preload stylesheet" href="/styles/tech.css">
<section id="experience" class="dark back">
<section id="banner" class="{{malung.color}} back">
<div>
<h1>{{malung.title}}</h1>
<i>{{malung.subtitle}}</i>
</div>
<button id="close-icon" class="nav-link dark icon" data-i="close" aria-label="Exit" type="button" onclick="history.back(-1)"></button>
</section>
<div id="content">
<div id="description">
<p>
{{malung.description}}
</p>
<hr class="lighter">
<ul>
{% for outcome in malung.outcomes %}
<li>{{outcome}}</li>
{% endfor %}
</ul>
{% if malung.link %}
<a href="{{malung.link}}" id="experience-button" class="nav-link white button r-icon" data-i="arrow_right" target="_blank">View {{malung.title}}</a>
{% endif %}
</div>
<div id="image-side">
<div id="image" class="shadow">
{% if malung.image %}
<img id="image-inner" src="{{malung.image}}" alt="Image of {{malung.title}}">
{% else %}
<h1 aria-hidden="true">Image Not Available</h1>
{% endif %}
</div>
<div id="stack">
{% for tech in malung.stack %}
{% assign data = techs[tech] %}
<a class="chip {{tech}} shadow" href="{{data.link}}" target="_blank">{{data.name}}</a>
{% endfor %}
</div>
</div>
</div>
</section>
{% endcapture %}
{% include default.html content=inner description=description title=page.title %}

View File

@@ -0,0 +1,5 @@
---
layout: experience
project_id: freshmanual
title: FreshManual
---

5
experience/malung.html Normal file
View File

@@ -0,0 +1,5 @@
---
layout: experience
project_id: malung
title: Malung
---

View File

@@ -0,0 +1,5 @@
---
layout: experience
project_id: pollbuddy
title: Poll Buddy
---

View File

@@ -0,0 +1,5 @@
---
layout: experience
project_id: rpi-crisis
title: CRISIS
---

36
experiences.html Normal file
View File

@@ -0,0 +1,36 @@
---
title: Experiences
description: A list of work and projects done by Maxim Voldman Hutz.
layout: default
---
{% assign work = site.data.work %}
<section id="projects" class="dark back">
<h2>My experiences.</h2>
<div id="project-list">
{% for item in work %}
{% assign id = item[0] %}
{% assign data = item[1] %}
<a class="{{ data.color }} project-item shadow" href="/experience/{{ id }}">
{% if data.image %}
<div class="space project-image-outer">
<img src="{{data.image}}" alt="{{data.title}}" class="project-image">
</div>
{% else %}
<div class="project-noimage" aria-hidden="true">Image Not Available</div>
{% endif %}
<div class="nav-link project-link r-icon" data-i="arrow_right">
{{ data.title }}
<!-- Add the subtitle, if it exists. -->
{% if data.subtitle %}
<span>:</span>
&nbsp;
<p>{{ data.subtitle }}</p>
{% endif %}
</div>
</a>
{% endfor %}
</div>
</section>

View File

@@ -1,7 +1,55 @@
<!DOCTYPE html> ---
<html> title: Home
<head> description: This is the home page of Maxim Voldman Hutz's personal website.
<meta http-equiv="Refresh" content="0; url=resume"/> layout: default
</head> ---
<body bgcolor="black"></body>
</html> {% assign home = site.data.home %}
{% assign work = site.data.work %}
<section id="about" class="light back">
<div class="flex"></div>
<div class="flex"></div>
<div>
<h1>{{ home.welcome }}</h1>
<i>{{ home.status }}</i>
</div>
<p id="about-me">{{ home.about }}</p>
<hr class="darker">
<nav>
<div id="inner-nav">
<a href="mailto:{{ home.email }}" class="nav-link blue button flex">{{ home.email }}</a>
<a href="/resume" class="nav-link red button r-icon flex" data-i="arrow_right" target="_blank">View Resume</a>
</div>
<div class="space"></div>
</nav>
<div class="flex"></div>
</section>
<section id="projects" class="dark back">
<h2>Worked on:</h2>
<div id="project-list">
{% for project in home.featured %}
<a class="{{ work[project].color }} project-item shadow" href="/experience/{{ project }}">
{% if work[project].image %}
<div class="space project-image-outer">
<img src="{{work[project].image}}" alt="{{work[project].title}}" class="project-image">
</div>
{% else %}
<div class="project-noimage" aria-hidden="true">Image Not Available</div>
{% endif %}
<div class="nav-link project-link r-icon" data-i="arrow_right">
{{ work[project].title }}
<!-- Add the subtitle, if it exists. -->
{% if work[project].subtitle %}
<span>:</span>
&nbsp;
<p>{{ work[project].subtitle }}</p>
{% endif %}
</div>
</a>
{% endfor %}
</div>
<hr class="lighter">
<a href="/experiences" id="experience-button" class="nav-link white button">View all experiences.</a>
</section>

BIN
res/.DS_Store vendored

Binary file not shown.

1
res/avatar.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 554 554"><style><![CDATA[.B{filter:url(#C)}.C{fill:#a05abc}.D{fill:#af7ac5}.E{filter:url(#B)}.F{filter:url(#A)}.G{color-interpolation-filters:sRGB}]]></style><defs><filter id="A" x="0" y="0" width="1" height="1" class="G"><feColorMatrix type="hueRotate" values="12"/><feColorMatrix type="saturate" values="1" result="B"/><feColorMatrix values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feColorMatrix values="2.125 -3.3125 -3.3125 0 4.36709 -3.3125 2.125 -3.3125 0 4.36709 -3.3125 -3.3125 2.125 0 4.36709 0 0 0 1 0 " in="B"/></filter><filter id="B" x="0" y="0" width="1" height="1" class="G"><feColorMatrix type="hueRotate" values="354"/><feColorMatrix type="saturate" values="1" result="B"/><feColorMatrix values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feColorMatrix values="2.125 -3.3125 -3.3125 0 4.36709 -3.3125 2.125 -3.3125 0 4.36709 -3.3125 -3.3125 2.125 0 4.36709 0 0 0 1 0 " in="B"/></filter><filter id="C" x="0" y="0" width="1" height="1" class="G"><feColorMatrix values="2.125 -3.3125 -3.3125 0 4.36709 -3.3125 2.125 -3.3125 0 4.36709 -3.3125 -3.3125 2.125 0 4.36709 0 0 0 1 0 "/></filter><filter id="D" x="0" y="0" width="1" height="1" class="G"><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 "/><feColorMatrix type="hueRotate" values="161" result="A"/><feColorMatrix values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0 "/><feBlend in2="A" mode="darken"/><feBlend mode="screen"/><feComposite in2="SourceGraphic" operator="in" result="E"/><feColorMatrix values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feColorMatrix type="hueRotate" values="336" in="E"/><feColorMatrix type="saturate" values="1" result="E"/><feColorMatrix values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feColorMatrix values="1 -0.8 -0.8 0 1 -0.8 1 -0.8 0 1 -0.8 -0.8 1 0 1 0 0 0 1 0 " in="E"/></filter></defs><g transform="matrix(1.17978 -.082498 .082498 1.17978 -117.279225 -70.898248)" filter="url(#D)"><g class="C"><path d="M329.034 118.009l48.34 70.702-61.966-46.857z" class="B"/><path d="M287.916 216.201l27.192-72.75-2.276 71.404z" class="E"/></g><path d="M341.354 214.234l-53.428 3.133-26.379 45.662z" class="D F"/><path d="M295.643 243.441l-35.168 21.855-9.411 47.981z" class="B C"/><path d="M257.003 274.362l-26.791 32.588 17.846 17.14z" class="B D"/><path d="M229.677 307.956l18.461 18.173-16.318 27.687z" class="B C"/><path d="M232.267 355.613l35.236 20.197-19.043-47.921z" class="D E"/><path d="M233.991 357.815l33.596 19.228 1.623 26.319z" class="B C"/><g class="D"><path d="M268.53 376.38l4.011 83.623 13.242-56.91z" class="F"/><path d="M314.563 199.77l1.868-55.303 15.014 11.036z" class="B"/><path d="M195.95 325.764l6.859-22.709-42.863-13.857z" class="F"/></g><g class="C"><path d="M168.675 300.078L158.5 289.492l-16.355 5.766z" class="B"/><path d="M219.788 374.415l-10.226-20.452-60.977 27.648z" class="E"/></g><path d="M136.464 404.336l11.995-21.618 22.777-2.178z" class="B D"/><path d="M319.018 356.614l-5.302-18.558 62.492 3.409z" class="C F"/><path d="M353.62 349.078l44.176 15.112-20.704-21.546z" class="D E"/><path d="M315.23 392.595l-.379-15.528 41.914 18.34z" class="B C"/><path d="M336.679 395.549l24 20.149-4.045-18.953z" class="B D"/><path d="M350.453 239.583l69.688-28.69 2.841-67.605z" class="C E"/><path d="M424.193 143.574l-2.85 67.696 23.512 41.191z" class="B D"/><path d="M436.075 198.454l33.682 50.976-21.262 16.005z" class="C F"/><path d="M470.223 250.67l-21.145 15.949 6.05 66.934z" class="D E"/><path d="M471.151 251.309l12.241 57.584-29.163 34.087z" class="B C"/><path d="M484.206 309.292l-30.912 36.737 11.631 52.247z" class="B D"/><path d="M452.335 348.661l11.644 50.374-32.734 52.025z" class="C E"/><path d="M443.691 384.322l-13.529 66.991-25.378-10.889z" class="D F"/><path d="M429.773 452.231l-25.312-10.646-44.634 34.427z" class="B C"/><path d="M429.155 454.085l-70.263 23.635 21.306 9.892z" class="B D"/><path d="M356.916 478.092l22.523 10.322-89.083 9.32z" class="C F"/></g></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

BIN
res/icons/github.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
res/icons/github.webp~ Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

BIN
res/icons/linkedin.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
res/icons/linkedin.webp~ Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

BIN
res/projects/malung.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

BIN
res/projects/pollbuddy.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -3,7 +3,7 @@
<head> <head>
<title>Resume of Maxim Voldman Hutz</title> <title>Resume of Maxim Voldman Hutz</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="This page holds a preview of the resume of Maxim Voldman Hutz."> <meta name="description" content="A preview of the resume of Maxim Voldman Hutz.">
<!-- Header metadata. --> <!-- Header metadata. -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
@@ -16,7 +16,8 @@
"> ">
<!-- Resume styling. --> <!-- Resume styling. -->
<link rel="preload stylesheet" as="style" href="index.css"> <link rel="preload stylesheet" as="style" href="/styles/global.css">
<link rel="preload stylesheet" as="style" href="/styles/resume.css">
<!-- Site's Icon --> <!-- Site's Icon -->
<link rel="icon" type="image/png" href="/res/favicon.ico"> <link rel="icon" type="image/png" href="/res/favicon.ico">

View File

@@ -1,384 +0,0 @@
/*---- Base ------------------------------------------------------------------*/
:root {
font-family: sans-serif;
--timing: cubic-bezier(.2,1,0,1);
--enter: 2s var(--timing) 0.2s both;
--blue: #3F75A2;
--darkblue: #2E5476;
--grey: #575757;
--link-r: #D13800;
--link-g: #006B00;
--link-b: #006EDB;
}
* {
margin: 0;
padding: 0;
border: 0;
}
html {
font-size: 1vw;
background: black;
animation: var(--enter) scene-enter;
}
@media print {
html {
font-size: 0.7rem;
}
}
main {
display: contents;
}
/*---- Generic Styles --------------------------------------------------------*/
h1 {
font-size: 3em;
}
h2 {
font-size: 2em;
}
h3 {
font-size: 1.5em;
}
h4 {
font-size: 1.15em;
}
h5 {
font-size: 0.75em;
}
ul {
padding-inline-start: 2em;
margin: 0.5em 0;
list-style-type: '— ';
}
/*---- Navbar ----------------------------------------------------------------*/
.navbar {
position: fixed;
height: 18em;
width: 100%;
left: 0;
z-index: -1;
display: flex;
justify-content: center;
align-items: center;
}
nav.navbar {
top: 0;
}
.resume-header {
position: absolute;
color: white;
filter: opacity(0.5);
font: 800 8em Poppins;
animation: var(--enter) title-enter;
will-change: transform, filter;
user-select: none;
}
footer.navbar {
bottom: 0;
}
.resume-footer {
font: bold 8em monospace;
animation: var(--enter) footer-enter;
will-change: transform, filter;
user-select: none;
display: flex;
justify-content: space-between;
width: 3em;
}
.footer-icon {
text-decoration: none;
opacity: 0.5;
color: white;
font-size: 0.2em;
font-family: Verdana;
font-weight: 600;
display: inline-flex;
flex-direction: column;
align-items: center;
transition: transform 0.3s, opacity 0.3s;
}
.footer-img {
display: inline-block;
font-size: 4em !important;
user-select: none;
filter: brightness(0) invert(1);
width: 1em;
height: 1.2em;
transform: scale(1);
}
.footer-icon:hover {
transform: scale(1.1);
opacity: 1;
}
/*---- Page ------------------------------------------------------------------*/
article {
background: whitesmoke;
border: 2px solid gainsboro;
padding: 3em;
margin: 18em 16em;
border-radius: 1em;
animation: page-enter var(--enter);
will-change: transform, filter;
box-shadow: 0 2.5em 5em 0 #0004,
inset 1.5em 1.5em 5em 2.5em white;
}
body::before {
background: lightsteelblue linear-gradient(45deg, #F008, #00F8);
width: 100vw;
height: 100vh;
content: "";
display: inline-block;
position: fixed;
top: 0;
left: 0;
z-index: -2;
}
/*---- Header ----------------------------------------------------------------*/
.contact-details {
display: flex;
justify-content: space-between;
font-style: normal;
font-weight: bold;
margin-top: 1em;
}
.contact-detail {
display: flex;
align-items: center;
white-space: nowrap;
}
.email {
color: var(--link-b);
}
.phone {
color: var(--link-r);
}
.location {
color: var(--link-g);
}
/*---- Sectioning ------------------------------------------------------------*/
.topic-title {
padding-bottom: 3px;
border-bottom: 2px solid cornflowerblue;
display: block;
}
.topic {
margin-top: 2em;
page-break-inside: avoid;
}
.topic-icon {
width: 1em;
height: 1em;
display: inline-block;
}
/*---- Experience Title ------------------------------------------------------*/
.experience {
margin-top: 2em;
margin-bottom: 0.5em;
}
.title {
font-weight: bold;
font-family: Verdana;
color: var(--blue);
}
.title > i {
font-weight: normal;
}
.date {
font-style: italic;
}
.place {
font-weight: normal;
display: block;
color: var(--grey);
text-transform: uppercase;
}
/*---- Skill List ------------------------------------------------------------*/
.skill-list {
list-style: none;
padding-inline-start: 0;
}
.skill-list > li {
border: 1px solid gainsboro;
display: inline-flex;
padding: 0.5em 1em;
border-radius: 0.5em;
color: var(--blue);
background: whitesmoke;
font-family: monospace;
white-space: nowrap;
overflow: hidden;
align-items: center;
font-weight: bold;
user-select: none;
margin: 0.5em;
box-shadow: 0 0.25em 0.25em 0 #0004,
inset 0.15em 0.15em 0.5em 0.25em white;
transform: scale(1);
transition: transform var(--timing) 1s;
}
.skill-list > li img {
height: 1.5em;
}
.skill-list > li:hover {
transform: scale(1.1);
}
/*---- Classes List ----------------------------------------------------------*/
.classes-list {
list-style: none;
padding-inline-start: 0;
}
.classes-list > li::before {
content: '— ';
}
.classes-list > li {
width: calc(50% - 3ch);
display: inline-block;
}
/*---- Miscellaneous ---------------------------------------------------------*/
.hflex {
display: flex;
justify-content: space-between;
align-items: center;
}
.icon {
margin-right: 0.5em;
width: 1em;
height: 1em;
user-select: none;
display: inline-block;
}
.freshmanuals {
color: var(--darkblue);
}
/*---- Animations ------------------------------------------------------------*/
@keyframes page-enter {
from {
transform: scale(0.9) translateY(10%);
}
to {
transform: scale(1) translateY(0%);
}
}
@keyframes title-enter {
0% {
transform: scale(2) translateY(-50%);
}
100% {
transform: scale(1) translateY(0%);
}
}
@keyframes footer-enter {
0% {
transform: scale(2) translateY(50%);
}
100% {
transform: scale(1) translateY(0%);
}
}
@keyframes scene-enter {
from {
filter: brightness(0);
}
to {
filter: brightness(1);
}
}
/*---- Print Styles ----------------------------------------------------------*/
@media print {
article {
margin: 0;
border-radius: 0;
border: 0;
padding: 0;
background: white;
box-shadow: none;
}
main {
overflow: auto;
height: auto;
background: white;
box-shadow: none;
}
html, body {
overflow: auto;
background: white;
height: auto;
}
.skill-list > li {
box-shadow: none;
background-color: white;
}
article * {
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
}

1
styles/404.css Normal file
View File

@@ -0,0 +1 @@
#notfound{--color:var(--dark) linear-gradient(#0000, #0003);flex:99999999999999;display:flex;justify-content:center;align-items:center;color:#fff;flex-direction:column;gap:20px}#notfound>*{max-width:300px}#text-outer>i{font-size:30px}#text-outer{display:inline-flex;flex-direction:column;align-items:center;font-size:25px}#text-404{font-size:160px;line-height:1}

1
styles/default.css Normal file
View File

@@ -0,0 +1 @@
html{scroll-behavior:smooth;background-image:linear-gradient(#0003 0% 50%,#0000 50% 100%),linear-gradient(var(--dark) 0% 50%,var(--light) 50% 100%)}body{flex-direction:column;min-height:100vh;width:min(100vw,1024px);box-sizing:border-box;margin:auto;padding:0 20px;line-height:1.2}*{text-decoration:none}button{background-color:transparent}.pre{all:unset;white-space:pre}.nav-link{color:var(--color);text-decoration:none;font-weight:900;font-family:"Open Sans"}.shadow{filter:drop-shadow(0 4px 0#0004)}.button,.icon,.r-icon{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon::before,.r-icon::after{font-family:"Material Symbols Outlined";content:attr(data-i);width:1em}.icon::before{font-size:36px;margin-right:5px}.r-icon::after{margin-left:5px}h1,h2{font-size:40px;font-weight:900}h2{font-size:30px}i,p,section{font-size:20px;font-family:"Source Serif Pro"}h1,h2,p,section{font-family:"Open Sans"}p,section{font-weight:100}ul{list-style-type:"- ";padding-left:2ch}li{padding-bottom:20px}.lighter{background:#fff4}.darker{background:#0004}hr{height:1px;width:100%}.button{color:var(--color);position:relative;padding:10px 30px;font-size:20px}.button::before{position:absolute;width:100%;height:100%;top:0;left:0;background:var(--color);opacity:25%;content:"";border-radius:10px}.width-pad{width:100vw;background-color:var(--color);padding:10px 20px;box-sizing:border-box}.png-icon{filter:brightness(0) invert(1)}#about,body,nav{display:flex}#about{position:relative;margin:auto;flex-direction:column;justify-content:center;align-items:flex-start;max-width:1024px;min-height:85vh;color:var(--dark);box-sizing:border-box;gap:30px}#about>*{max-width:600px}nav{flex-wrap:wrap;width:100%}#inner-nav{display:inline-flex;flex-grow:1;gap:20px;flex-wrap:wrap}#projects{padding:30px 0;position:relative;display:flex;flex-direction:column;align-items:flex-start;max-width:1024px;min-height:100vh;color:#fff;box-sizing:border-box;gap:30px}#project-list,.project-item{overflow:visible;display:flex}#project-list{flex-wrap:wrap;width:100%;gap:20px}.project-item{min-width:min(max(40%,400px),100%);flex:1;height:300px;background-color:var(--color);border-radius:10px;flex-direction:column}.project-link{color:#fff;background-color:#0005;padding:10px;border-radius:0 0 10px 10px}#experience-button{align-self:center}#menu{top:0;left:0;max-width:none;max-height:none;position:fixed;background-color:var(--light);color:var(--dark);width:100vw;font-size:25px;overflow:visible}#menu-top{display:flex;align-items:center;transform:translateY(-1.5px)}#menu-inner{max-width:1024px;display:flex;flex-direction:column;gap:30px;margin:auto auto 50px}@media (max-width:464px){.nav2,.nav3{display:none}}@media (max-width:813px) and (min-width:465px){.nav1,.nav3{display:none}}@media (min-width:814px){.nav1,.nav2{display:none}}.project-image-outer,.project-noimage{justify-content:center;align-items:center}.project-noimage{color:#0002;font-size:40px;font-family:"Open Sans";font-weight:900;display:flex;flex:1000;text-align:center;box-sizing:border-box;padding:10px}.project-image-outer{position:relative}.project-image{position:absolute;max-height:100%;max-width:100%;top:50%;left:50%;transform:translate(-50%,-50%)}

1
styles/experience.css Normal file
View File

@@ -0,0 +1 @@
#banner{margin-top:10px;padding:20px 0;display:flex;justify-content:space-between;align-items:center;line-height:1}#experience{color:#fff;gap:30px;display:flex;flex-direction:column;align-items:flex-start}#content{display:flex;flex-wrap:wrap-reverse;align-items:flex-end;gap:30px;padding-bottom:30px}#image{background-color:#ccc;border-radius:10px;height:300px;width:100%;display:flex;align-items:center;justify-content:center;color:#aaa;position:relative;text-align:center;padding:10px;hyphens:manual;box-sizing:border-box}#description,#image-side{flex:1;gap:30px;display:flex;flex-direction:column;align-items:flex-start;min-width:min(300px,100%)}#image-side{gap:20px;min-width:min(500px,100%)}#stack{display:flex;gap:10px;flex-flow:row wrap}#stack .chip{flex-grow:1}#stack::after{content:"";flex:1000000}#image-inner{max-width:100%;max-height:100%}#close-icon{font-size:36px;line-height:1}

1
styles/footer.css Normal file
View File

@@ -0,0 +1 @@
footer{display:flex;align-items:center;color:#fff;max-width:1024px;margin:auto;gap:10px}footer::before{filter:brightness(.8)}

1
styles/global.css Normal file
View File

@@ -0,0 +1 @@
*{padding:0;border:0;margin:0;outline:0}:root{--light:#FEFADC;--dark:#504B43;--red:#EC1B24;--yellow:#E19200;--green:#4CB753;--blue:#2B9EB3;--timing:cubic-bezier(0.2, 1, 0, 1);--start-timing:cubic-bezier(0,.5,0,.9);--grad:linear-gradient(45deg, #F008, #00F8);--shadow:0px 10px 50px 0 #0008;--width:1024px}.light{--color:var(--light)}.dark{--color:var(--dark)}.red{--color:var(--red)}.yellow{--color:var(--yellow)}.green{--color:var(--green)}.blue{--color:var(--blue)}.white{--color:white}.malung{--color:#F76F8E}.freshmanual{--color:#3b91db}.pollbuddy{--color:#7f6491}.rpi-crisis{--color:#a06ce4}.flex,.flex-space,br{flex-grow:1}.flex.dark,html{background-color:var(--dark)}.space{flex:1000}.npad{padding:0!important}.back{position:relative;padding:10px 0;width:min(100vw,1024px,100%);box-sizing:border-box}.back::before{background:var(--color);width:100vw;height:100%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);content:"";z-index:-1}.dark-back::before{filter:brightness(.8)}

1
styles/header.css Normal file
View File

@@ -0,0 +1 @@
header{position:sticky!important;top:0;z-index:10000;display:flex;gap:40px;font-size:25px;font-family:"Open Sans";font-weight:bolder;color:var(--dark);align-items:center}

1
styles/resume.css Normal file
View File

@@ -0,0 +1 @@
@keyframes page-enter{0%{transform:scale(.9) translateY(10%)}to{transform:scale(1) translateY(0)}}@keyframes title-enter{0%{transform:scale(2) translateY(-50%)}to{transform:scale(1) translateY(0)}}@keyframes footer-enter{0%{transform:scale(2) translateY(50%)}to{transform:scale(1) translateY(0)}}@keyframes scene-enter{0%{filter:brightness(0)}to{filter:brightness(1)}}:root{font-family:sans-serif;--timing:cubic-bezier(.2,1,0,1);--enter:2s var(--timing) 0.2s both;--blue:#3F75A2;--darkblue:#2E5476;--grey:#575757;--link-r:#D13800;--link-g:#006B00;--link-b:#006EDB}*{margin:0;padding:0;border:0}html{font-size:1vw;animation:var(--enter) scene-enter}@media print{html{font-size:.7rem}}main{display:contents}h1{font-size:3em}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.15em}h5{font-size:.75em}ul{padding-inline-start:2em;margin:.5em 0;list-style-type:"— "}.navbar{position:fixed;height:18em;width:100%;left:0;z-index:-1;display:flex;justify-content:center;align-items:center}nav.navbar{top:0}.resume-header{position:absolute;color:#fff;filter:opacity(.5);font:800 8em Poppins;animation:var(--enter) title-enter;user-select:none}footer.navbar{bottom:0}.resume-footer,.resume-header,article{will-change:transform,filter}.resume-footer{font:700 8em monospace;animation:var(--enter) footer-enter;user-select:none;display:flex;justify-content:space-between;width:3em}.footer-icon{text-decoration:none;opacity:.5;color:#fff;font-size:.2em;font-family:Verdana;font-weight:600;display:inline-flex;flex-direction:column;align-items:center;transition:transform .3s,opacity .3s}.footer-img{display:inline-block;font-size:4em!important;user-select:none;filter:brightness(0) invert(1);width:1em;height:1.2em;transform:scale(1)}.footer-icon:hover{opacity:1}article{background:#f5f5f5;border:2px solid #dcdcdc;padding:3em;margin:18em 16em;border-radius:1em;animation:page-enter var(--enter);box-shadow:0 2.5em 5em 0#0004,inset 1.5em 1.5em 5em 2.5em #fff}body::before{background:lightsteelblue var(--grad);width:100vw;height:100vh;content:"";display:inline-block;position:fixed;top:0;left:0;z-index:-2}.contact-details{display:flex;justify-content:space-between;font-style:normal;font-weight:700;margin-top:1em}.contact-detail{display:flex;align-items:center;white-space:nowrap}.email{color:var(--link-b)}.phone{color:var(--link-r)}.location{color:var(--link-g)}.topic-title{padding-bottom:3px;border-bottom:2px solid #6495ed;display:block}.topic{margin-top:2em;page-break-inside:avoid}.topic-icon{width:1em;height:1em;display:inline-block}.experience{margin-top:2em;margin-bottom:.5em}.skill-list>li,.title{font-weight:700;font-family:Verdana;color:var(--blue)}.title>i{font-weight:400}.date{font-style:italic}.place{font-weight:400;display:block;color:var(--grey);text-transform:uppercase}.classes-list,.skill-list{list-style:none;padding-inline-start:0}.skill-list>li{border:1px solid #dcdcdc;display:inline-flex;padding:.5em 1em;border-radius:.5em;background:#f5f5f5;font-family:monospace;white-space:nowrap;overflow:hidden;align-items:center;user-select:none;margin:.5em;box-shadow:0 .25em .25em 0#0004,inset .15em .15em .5em .25em #fff;transform:scale(1);transition:transform var(--timing) 1s}.skill-list>li img{height:1.5em}.footer-icon:hover,.skill-list>li:hover{transform:scale(1.1)}.classes-list>li::before{content:"— "}.classes-list>li{width:calc(50% - 3ch);display:inline-block}.hflex{display:flex;justify-content:space-between;align-items:center}.icon{margin-right:.5em;width:1em;height:1em;user-select:none;display:inline-block}.freshmanuals{color:var(--darkblue)}@media print{article{margin:0;border-radius:0;border:0;padding:0;background:#fff}article,main{box-shadow:none}body,html,main{overflow:auto;background:#fff;height:auto}.skill-list>li{box-shadow:none;background-color:#fff}article *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

24
styles/tech.scss Normal file
View File

@@ -0,0 +1,24 @@
---
---
.chip {
font-size: 15px;
font-family: "Open Sans";
font-weight: 900;
display: inline-flex;
justify-content: center;
align-items: center;
padding: 5px 20px;
border-radius: 10px;
text-decoration: none;
}
{% for tech in site.data.techs %}
{% assign id = tech[0] %}
{% assign data = tech[1] %}
.chip.{{id}} {
background: {{data.back}};
color: {{data.fore}};
}
{% endfor %}