Compare commits

...

18 Commits

Author SHA1 Message Date
6431e8cd11 setting min-heigt for non-mobile about container 2020-06-15 19:07:12 +02:00
26194e5b2f improved min-height of about section 2020-06-15 19:02:49 +02:00
a2033e7c3f added item to about page
better height of about page
2020-06-08 10:25:22 +02:00
ec5edb7237 more fancy list items
cleanup in about.css
2020-04-28 11:01:25 +02:00
2dfaf11b21 code cleanup
unified css statements
2020-04-27 14:06:24 +02:00
8bc9bdfc20 clickable company labels
js reformat
ci rename
2020-04-26 21:05:00 +02:00
3bbffeb378 fix link from favicon to home page 2020-04-26 15:51:48 +02:00
f200dcbe50 Update .gitlab-ci.yml 2020-04-26 13:24:37 +00:00
d303d42164 Add .gitlab-ci.yml 2020-04-26 13:23:22 +00:00
lukas-heiligenbrunner
e0fd9a10e8 animation in navabar and on experience page 2020-04-01 10:49:45 +02:00
2966ca55ba animations also in contact and experience section 2020-03-31 22:52:31 +02:00
lukas-heiligenbrunner
68595415d3 added img alt parameter 2020-03-30 12:17:30 +02:00
lukas-heiligenbrunner
daef283dfc changed backgroundcolor of contact tile 2020-03-30 12:00:16 +02:00
lukas-heiligenbrunner
2181234711 longer animation delay 2020-03-30 11:17:55 +02:00
lukas-heiligenbrunner
cb33aaaea8 removed unused popper.js import 2020-03-27 19:22:17 +01:00
lukas-heiligenbrunner
872620f6f7 new font in icon 2020-03-27 19:19:55 +01:00
lukas-heiligenbrunner
4191805a3c added favicon 2020-03-27 19:15:20 +01:00
lukas-heiligenbrunner
ea1863255c added animations to home page 2020-03-27 15:34:11 +01:00
11 changed files with 271 additions and 57 deletions

4
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,4 @@
check_html:
image: 18fgsa/html-proofer:gitlab-ci
script:
- htmlproofer ./ --empty-alt-ignore

View File

@ -5,37 +5,24 @@
* Copyright (c) 2020 Lukas Heiligenbrunner * Copyright (c) 2020 Lukas Heiligenbrunner
*/ */
/* ID selectors */
#section2 { #section2 {
background-color: #deebff; background-color: #deebff;
min-height: 750px;
} }
#aboutmeText { #aboutmeText {
width: 100%; width: 100%;
} }
.aboutcontainer {
width: 40%;
float: left;
}
.aboutPicContainer {
width: 60%;
height: 300px;
float: left;
}
#aboutPic { #aboutPic {
float: right; float: right;
margin-top: 10%; margin-top: 10%;
box-shadow: rgba(2, 12, 27, 0.7) 0px 10px 30px -15px; box-shadow: rgba(2, 12, 27, 0.7) 0 10px 30px -15px;
transition: box-shadow 500ms; transition: box-shadow 500ms;
height: 100%; height: 100%;
} }
.aboutcontainer a {
text-decoration: none;
}
#downloadcvbtn { #downloadcvbtn {
margin-top: 15%; margin-top: 15%;
@ -52,8 +39,40 @@
transition: background-color 500ms; transition: background-color 500ms;
} }
/* CLASS selectors */
.aboutcontainer {
width: 40%;
float: left;
}
.aboutPicContainer {
width: 60%;
height: 300px;
float: left;
}
.aboutcontainer a {
text-decoration: none;
}
.arrowicon {
margin: 0;
padding: 7px 0 7px 20px;
list-style: none;
background-image: url("../rsc/arrow.svg");
background-repeat: no-repeat;
background-position: left center;
background-size: 20px;
}
/* HOVER selectors */
.arrowicon:hover {
background-color: #7a96c2;
border-radius: 3mm;
margin-left: 3mm;
}
#downloadcvbtn:hover { #downloadcvbtn:hover {
/*background-color: #facf4d;*/
color: white; color: white;
background-color: #194378; background-color: #194378;
transition: all 500ms; transition: all 500ms;
@ -62,7 +81,7 @@
/* screen larger than 600px -- desktop */ /* screen larger than 600px -- desktop */
@media screen and (min-width: 1201px) { @media screen and (min-width: 1201px) {
#aboutPic:hover { #aboutPic:hover {
box-shadow: rgba(2, 12, 27, 0.7) 0px 10px 30px 0px; box-shadow: rgba(2, 12, 27, 0.7) 0 10px 30px 0;
transition: all 500ms; transition: all 500ms;
} }
} }
@ -85,8 +104,8 @@
} }
#section2 { #section2 {
height: 130%; height: 160%;
min-height: 860px; min-height: 1000px;
} }
#aboutPic { #aboutPic {
@ -95,4 +114,4 @@
margin-right: auto; margin-right: auto;
/* todo nof loating right in middle */ /* todo nof loating right in middle */
} }
} }

View File

@ -6,11 +6,20 @@
*/ */
#section5 { #section5 {
background-color: #7a96c2; background-color: #deebff;
}
#contactheader{
visibility: hidden;
}
#contactsubheader{
visibility: hidden;
} }
.personalcontacts { .personalcontacts {
margin-top: 60px; margin-top: 60px;
visibility: hidden;
} }
.personalcontacts a { .personalcontacts a {

View File

@ -26,12 +26,11 @@
display: block; display: block;
float: left; float: left;
clear: left; clear: left;
margin: 0px;
width: 14%; width: 14%;
left: 0; left: 0;
overflow: hidden; overflow: hidden;
margin-right: 6mm; margin: 0 6mm 0 0;
border: 6mm solid hsla(0, 100%, 50%, 0); border: 6mm solid hsla(0, 100%, 50%, 0);
padding-left: 2mm; padding-left: 2mm;
@ -65,12 +64,17 @@
border-radius: 5mm; border-radius: 5mm;
} }
#experienceheader {
visibility: hidden;
}
.ratiobtn { .ratiobtn {
display: none; display: none;
} }
#experiencecontentcontainer { #experiencecontentcontainer {
margin-top: 100px; margin-top: 100px;
visibility: hidden;
} }
.experiencetitle { .experiencetitle {
@ -81,11 +85,33 @@
color: #74f9d4; color: #74f9d4;
} }
.companyname:hover{
color: #74f9d0;
}
.experienceworktext { .experienceworktext {
margin-top: 5mm; margin-top: 5mm;
font-size: large; font-size: large;
} }
/* navbar animation */
.experiencecontaineranimation :nth-child(2){
visibility: hidden;
animation: textfade 500ms 600ms 1 forwards;
}
.experiencecontaineranimation :nth-child(4){
visibility: hidden;
animation: textfade 500ms 700ms 1 forwards;
}
.experiencecontaineranimation :nth-child(6){
visibility: hidden;
animation: textfade 500ms 800ms 1 forwards;
}
.experiencecontaineranimation :nth-child(8){
visibility: hidden;
animation: textfade 500ms 900ms 1 forwards;
}
/* Screen smaller than 600px -- general small width screens */ /* Screen smaller than 600px -- general small width screens */
@media screen and (max-width: 1200px) { @media screen and (max-width: 1200px) {
#section3 { #section3 {
@ -97,11 +123,10 @@
display: inline; display: inline;
width: auto; width: auto;
/*float: left;*/ /*float: left;*/
margin: 2px;
border: 0.5mm solid hsla(0, 100%, 50%, 0); border: 0.5mm solid hsla(0, 100%, 50%, 0);
padding: 2px 2px 2px 0; padding: 2px 2px 2px 0;
clear: none; clear: none;
margin-bottom: 20px; margin: 2px 2px 20px;
} }
#tab1 + .tab { #tab1 + .tab {

View File

@ -12,12 +12,24 @@ body, html, #maincontent {
/*font-family: Calibre, "San Francisco", "SF Pro Text", -apple-system, system-ui, BlinkMacSystemFont, Roboto, "Helvetica Neue", "Segoe UI", Arial, sans-serif;*/ /*font-family: Calibre, "San Francisco", "SF Pro Text", -apple-system, system-ui, BlinkMacSystemFont, Roboto, "Helvetica Neue", "Segoe UI", Arial, sans-serif;*/
} }
h1{ h1 {
text-transform: uppercase; text-transform: uppercase;
font-family: 'Open Sans', arial, sans-serif; font-family: 'Open Sans', arial, sans-serif;
font-weight: bold; font-weight: bold;
} }
.animationappearnow {
animation: textappear 1s 0ms 1 forwards;
}
.animationappear300ms {
animation: textappear 1s 300ms 1 forwards;
}
.animationappear600ms {
animation: textappear 1s 600ms 1 forwards;
}
/* general definition of a tile */ /* general definition of a tile */
.tile { .tile {
height: 80%; height: 80%;
@ -56,6 +68,55 @@ h1{
font: bold 15px/1.4 'Open Sans', arial, sans-serif; font: bold 15px/1.4 'Open Sans', arial, sans-serif;
} }
/* navbar animation */
.nav :nth-child(1) a{
visibility: hidden;
animation: textfade 1s 600ms 1 forwards;
}
.nav :nth-child(2) a{
visibility: hidden;
animation: textfade 1s 700ms 1 forwards;
}
.nav :nth-child(3) a{
visibility: hidden;
animation: textfade 1s 800ms 1 forwards;
}
.nav :nth-child(4) a{
visibility: hidden;
animation: textfade 1s 900ms 1 forwards;
}
/* The animation code */
@keyframes textfade {
from {
visibility: hidden;
position: relative;
top: -20px;
}
to {
visibility: visible;
position: relative;
top: 0;
}
}
/* The animation code */
@keyframes textappear {
from {
visibility: hidden;
opacity: 0;
top: -20px;
}
to {
visibility: visible;
opacity: 1;
top: 0;
}
}
/* screen larger than 600px -- desktop */ /* screen larger than 600px -- desktop */
@media screen and (min-width: 1201px) { @media screen and (min-width: 1201px) {

View File

@ -5,11 +5,6 @@
* Copyright (c) 2020 Lukas Heiligenbrunner * Copyright (c) 2020 Lukas Heiligenbrunner
*/ */
#section1 {
background-color: #001631;
color: white;
padding-top: 200px;
}
.lightOpacity { .lightOpacity {
opacity: 0.6; opacity: 0.6;
@ -19,10 +14,19 @@
font-family: 'Helvetica Neue', fantasy; font-family: 'Helvetica Neue', fantasy;
} }
#section1 {
background-color: #001631;
color: white;
padding-top: 200px;
}
#preTitle { #preTitle {
font-size: 35px; font-size: 35px;
opacity: 0.8; opacity: 0.8;
color: #78ffd9; color: #78ffd9;
visibility: hidden;
animation: textfade 1s 900ms 1 forwards;
} }
#homepicture { #homepicture {
@ -40,21 +44,29 @@
#titleText { #titleText {
font-size: 80px; font-size: 80px;
color: #ced5f6; color: #ced5f6;
visibility: hidden;
animation: textfade 1s 600ms 1 forwards;
} }
#subTitleText { #subTitleText {
font-size: 50px; font-size: 50px;
color: #bec1d4; color: #bec1d4;
visibility: hidden;
animation: textfade 1s 300ms 1 forwards;
} }
#meaningFullSentence { #meaningFullSentence {
width: 40%; width: 40%;
color: #babccd; color: #babccd;
animation: textfade 1s 0ms 1 forwards;
} }
/* todo maybe a bit weird?? */ /* hover effects */
#homepicture:hover { #homepicture:hover {
box-shadow: rgba(2, 12, 27, 0.7) 0px 10px 30px 0px; box-shadow: rgba(2, 12, 27, 0.7) 0 10px 30px 0;
transition: all 500ms; transition: all 500ms;
} }
@ -98,8 +110,4 @@
#nameTag { #nameTag {
display: none; display: none;
} }
}
@media only screen and (min-width: 600px) {
/* For tablets: */
} }

BIN
favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -1,3 +1,9 @@
<!--
-- index.html - https://heili.eu
-- Licensed under the MIT license - http://opensource.org/licenses/MIT
-- E-mail: lukas.heiligenbrunner@gmail.com
-- Copyright (c) 2020 Lukas Heiligenbrunner
-->
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
@ -10,11 +16,12 @@
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<!-- jQuery library --> <!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<!-- Popper JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<!-- Latest compiled JavaScript --> <!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<!-- main javascript -->
<script src="js/index.js"></script>
<!-- Stylesheets --> <!-- Stylesheets -->
<link rel="stylesheet" href="css/general.css"> <link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/home.css"> <link rel="stylesheet" href="css/home.css">
@ -22,12 +29,15 @@
<link rel="stylesheet" href="css/experience.css"> <link rel="stylesheet" href="css/experience.css">
<link rel="stylesheet" href="css/projects.css"> <link rel="stylesheet" href="css/projects.css">
<link rel="stylesheet" href="css/contact.css"> <link rel="stylesheet" href="css/contact.css">
<!-- Icon -->
<link rel="icon" href="favicon.png">
</head> </head>
<!-- The scrollable area --> <!-- The scrollable area -->
<body data-spy="scroll" data-target=".navbar" data-offset="50"> <body data-spy="scroll" data-target=".navbar" data-offset="50">
<div id="maincontent"> <div id="maincontent">
<nav class="navbar navbar-expand-sm navbar-dark fixed-top"> <nav class="navbar navbar-expand-sm navbar-dark fixed-top">
<a class="navbar-brand" href="#"><div id="nameTag">Lukas</div></a> <a class="navbar-brand" href="index.html"><img id="nameTag" src="favicon.png" height="50px" alt=""/></a>
<!-- Toggler/collapsibe Button --> <!-- Toggler/collapsibe Button -->
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
@ -90,12 +100,13 @@
</p> </p>
<ul> <ul>
<li>C++</li> <li class="arrowicon">C++</li>
<li>Java</li> <li class="arrowicon">Java</li>
<li>Kotlin</li> <li class="arrowicon">Kotlin</li>
<li>HTML/CSS/JS</li> <li class="arrowicon">HTML/CSS</li>
<li>Latex</li> <li class="arrowicon">JavaScript (React)</li>
<li>OpenSCAD</li> <li class="arrowicon">Latex</li>
<li class="arrowicon">OpenSCAD</li>
</ul> </ul>
<a href="rsc/curriculumvitaee.pdf" target="_blank"> <a href="rsc/curriculumvitaee.pdf" target="_blank">
<div id="downloadcvbtn"> <div id="downloadcvbtn">
@ -113,7 +124,7 @@
<!-- Experience Page --> <!-- Experience Page -->
<div id="section3" class="tile"> <div id="section3" class="tile">
<div class="container"> <div class="container">
<h1>Experience</h1> <h1 id="experienceheader">Experience</h1>
<div id="experiencecontentcontainer"> <div id="experiencecontentcontainer">
<input class="ratiobtn" id="tab1" type="radio" name="tabs" checked=""> <input class="ratiobtn" id="tab1" type="radio" name="tabs" checked="">
@ -132,7 +143,7 @@
<div class="content"> <div class="content">
<div id="content1"> <div id="content1">
<div class="experiencetitle"> <div class="experiencetitle">
Software engineer <span class="companyname">@Profactor</span> Software engineer <a href="https://www.profactor.at/en/" class="companyname">@Profactor</a>
</div> </div>
<div> <div>
extramural research institute extramural research institute
@ -150,7 +161,7 @@
<div id="content2"> <div id="content2">
<div class="experiencetitle"> <div class="experiencetitle">
Electrician <span class="companyname">@SPS Technik</span> Electrician <a href="https://www.sps.at/en/" class="companyname">@SPS Technik</a>
</div> </div>
<div> <div>
automation technology automation technology
@ -165,7 +176,8 @@
<div id="content3"> <div id="content3">
<div class="experiencetitle"> <div class="experiencetitle">
Software and electronics engineer <span class="companyname">@Profactor</span> Software and electronics engineer
<a href="https://www.profactor.at/en/" class="companyname">@Profactor</a>
</div> </div>
<div> <div>
extramural research institute extramural research institute
@ -180,7 +192,7 @@
<div id="content4"> <div id="content4">
<div class="experiencetitle"> <div class="experiencetitle">
plumber & maintenance worker <span class="companyname">@Klausriegler</span> plumber & maintenance worker <a href="https://www.klausriegler.at/" class="companyname">@Klausriegler</a>
</div> </div>
<div> <div>
Heating-Ventilation-Climate-Sanitary Heating-Ventilation-Climate-Sanitary
@ -201,8 +213,8 @@
<!-- Contact Page --> <!-- Contact Page -->
<div id="section5" class="tile"> <div id="section5" class="tile">
<div class="container"> <div class="container">
<h1>Contact</h1> <h1 id="contactheader">Contact</h1>
<h3>I'd love to hear from You!</h3> <h3 id="contactsubheader">I'd love to hear from You!</h3>
<div class="personalcontacts"> <div class="personalcontacts">
<a href="mailto:lukas.heiligenbrunner@gmail.com" target="_blank"> <a href="mailto:lukas.heiligenbrunner@gmail.com" target="_blank">
<div id="emailsign" class="contactsign"> <div id="emailsign" class="contactsign">
@ -233,4 +245,4 @@
</a> </a>
</body> </body>
</html> </html>

35
js/index.js Normal file
View File

@ -0,0 +1,35 @@
$(function () {
;(function ($, win) {
$.fn.inViewport = function (cb) {
return this.each(function (i, el) {
function visPx() {
const H = $(this).height(),
r = el.getBoundingClientRect(), t = r.top, b = r.bottom;
return cb.call(el, Math.max(0, t > 0 ? H - t : (b < H ? b : H)));
}
visPx();
$(win).on("resize scroll", visPx);
});
};
}(jQuery, window));
$("#section3").inViewport(function (px) {
if (px) {
$("#experienceheader").addClass("animationappear600ms");
const expcontainer = $("#experiencecontentcontainer");
expcontainer.addClass("animationappear300ms");
expcontainer.addClass("experiencecontaineranimation");
}
});
$("#section5").inViewport(function (px) {
if (px) {
$("#contactheader").addClass("animationappear600ms");
$("#contactsubheader").addClass("animationappear300ms");
$(".personalcontacts").addClass("animationappearnow");
}
});
})

41
rsc/arrow.svg Normal file
View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="451.846px" height="451.847px" viewBox="0 0 451.846 451.847" style="enable-background:new 0 0 451.846 451.847;"
xml:space="preserve">
<g>
<path d="M345.441,248.292L151.154,442.573c-12.359,12.365-32.397,12.365-44.75,0c-12.354-12.354-12.354-32.391,0-44.744
L278.318,225.92L106.409,54.017c-12.354-12.359-12.354-32.394,0-44.748c12.354-12.359,32.391-12.359,44.75,0l194.287,194.284
c6.177,6.18,9.262,14.271,9.262,22.366C354.708,234.018,351.617,242.115,345.441,248.292z"/>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 896 B

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="215.434px" height="215.434px" viewBox="0 0 215.434 215.434" enable-background="new 0 0 215.434 215.434" width="215.434px" height="215.434px" viewBox="0 0 215.434 215.434" enable-background="new 0 0 215.434 215.434"
xml:space="preserve"> xml:space="preserve">

Before

Width:  |  Height:  |  Size: 712 B

After

Width:  |  Height:  |  Size: 661 B