Compare commits

...

3 commits

Author SHA1 Message Date
7c1bb97955 Removed auto refresh. 2018-10-04 13:07:50 -07:00
dd005caf02 Added source link 2018-10-04 13:07:10 -07:00
ae08d25e27 fixed web vs print sizing 2018-10-04 12:23:49 -07:00
2 changed files with 96 additions and 77 deletions

View file

@ -195,10 +195,10 @@
Contact Info Contact Info
</h1> </h1>
<ul> <ul>
<li><i class="fas fa-globe fa-fw"></i> https://jshaver.net</li> <li><i class="fas fa-globe fa-fw"></i> <a href="https://jshaver.net">https://jshaver.net</a></li>
<li><i class="fab fa-linkedin fa-fw"></i> linkedin.com/in/thejshaver</li> <li><i class="fab fa-linkedin fa-fw"></i> <a href="https://www.linkedin.com/in/thejshaver">thejshaver</a></li>
<li><i class="fas fa-envelope fa-fw"></i> john@jshaver.net</li> <li><i class="fas fa-envelope fa-fw"></i> <a href="mailto:john@jshaver.net">john@jshaver.net</a></li>
<li><i class="fas fa-phone fa-fw"></i> 801.850.3052</li> <li><i class="fas fa-phone fa-fw"></i> <a href="tel:18018503052">801.850.3052</a></li>
</ul> </ul>
</div> </div>
<div class="side-block skills"> <div class="side-block skills">
@ -236,30 +236,24 @@
</h1> </h1>
<div class="recommendation"> <div class="recommendation">
"John Shaver has produced consistently excellent work over the years..." "John Shaver has produced consistently excellent work over the years..."
<div classname="attribution">Joel Pomije<br>Lead Developer</div> <div class="attribution"><a href="https://www.linkedin.com/in/joel-pomije-7123822/">Joel Pomije<br>Lead Developer</a></div>
</div> </div>
<div class="recommendation"> <div class="recommendation">
"He is very knowledgable in the fields of JavaScript, as well as networking, servers and the internet in general." "He is very knowledgable in the fields of JavaScript, as well as networking, servers and the internet in general."
<div classname="attribution">Drew Warren<br>Scrum Master/Developer</div> <div class="attribution"><a href="https://www.linkedin.com/in/drew-warren-853551122/">Drew Warren<br>Scrum Master/Developer</a></div>
</div> </div>
<div class="recommendation"> <div class="recommendation">
"He has a very broad knowledge base that he brings to any project..." "He has a very broad knowledge base that he brings to any project..."
<div classname="attribution">James Hagar<br>Project Manager</div> <div class="attribution"><a href="https://www.linkedin.com/in/james-hager-ab361112a/">James Hagar<br>Project Manager</a></div>
</div> </div>
<div class="recommendation"> <div class="recommendation">
"John is an extremely capable and high value asset to a team. ..." "John is an extremely capable and high value asset to a team. ..."
<div classname="attribution">AJ ONeal<br>Code Whisperer Lv. 99</div> <div class="attribution"><a href="https://coolaj86.com/">AJ ONeal<br>Code Whisperer Lv. 99</a></div>
</div> </div>
</div> </div>
<!-- <div class="source-link no-print">
This resume; was wholly typeset with HTML/CSS -- see: https://git.io/vVSYL source code: <a href="https://git.jshaver.net/jshaver/html-resume">https://git.jshaver.net/jshaver/html-resume</a>
-->
</div> </div>
</aside> </aside>
<script>
setTimeout(function() {
document.location.href = document.location.href;
}, 6000);
</script>
</body> </body>
</html> </html>

145
style.css
View file

@ -8,25 +8,25 @@
} }
:root{ :root{
--page-width: 8.5in; --page-width: 91.8rem;
--page-height: 11in; --page-height: 118.8rem;
--main-width: 6.4in; --main-width: 69.12rem;
--sidebar-width: calc(var(--page-width) - var(--main-width)); --sidebar-width: calc(var(--page-width) - var(--main-width));
--decorator-horizontal-margin: 0.2in; --decorator-horizontal-margin: 2.16rem;
--sidebar-horizontal-padding: 0.2in; --sidebar-horizontal-padding: 2.16rem;
/* XXX: using px for very good precision control */ /* XXX: using px for very good precision control */
--decorator-outer-offset-top: 10px; --decorator-outer-offset-top: 1.125rem;
--decorator-outer-offset-left: -5.5px; --decorator-outer-offset-left: -0.61875rem;
--decorator-border-width: 1px; --decorator-border-width: 0.1125rem;
--decorator-outer-dim: 9px; --decorator-outer-dim: 1.0125rem;
--decorator-border: 1px solid #ccc; --decorator-border: 0.1125rem solid #ccc;
--row-blocks-padding-top: 5pt; --row-blocks-padding-top: 0.749981rem;
--date-block-width: 0.6in; --date-block-width: 6.48rem;
--main-blocks-title-icon-offset-left: -19pt; --main-blocks-title-icon-offset-left: -2.849929rem;
} }
body{ body{
@ -52,8 +52,8 @@ li{
#main{ #main{
float: left; float: left;
width: var(--main-width); width: var(--main-width);
padding: 0.25in 0.25in 0 0.25in; padding: 2.7rem 2.7rem 0 2.7rem;
font-size: 7.5pt; font-size: 1.124972rem;
} }
#sidebar{ #sidebar{
@ -61,9 +61,9 @@ li{
position: relative; /* for disclaimer */ position: relative; /* for disclaimer */
width: var(--sidebar-width); width: var(--sidebar-width);
height: 100%; height: 100%;
padding: 0.6in var(--sidebar-horizontal-padding); padding: 6.48rem var(--sidebar-horizontal-padding);
background-color: #f3f3f3; background-color: #f3f3f3;
font-size: 8.5pt; font-size: 1.274968rem;
} }
/* main */ /* main */
@ -75,39 +75,39 @@ li{
#title{ #title{
position: relative; position: relative;
left: 0.55in; left: 5.94rem;
margin-bottom: 0.3in; margin-bottom: 3.24rem;
line-height: 1.2; line-height: 1.2;
} }
#title h1{ #title h1{
font-weight: 300; font-weight: 300;
font-size: 18pt; font-size: 2.699933rem;
line-height: 1.5; line-height: 1.5;
} }
#title h1 strong{ #title h1 strong{
margin: auto 2pt auto 4pt; margin: auto 0.299992rem auto 0.599985rem;
font-weight: 600; font-weight: 600;
} }
.subtitle{ .subtitle{
font-size: 8pt; font-size: 1.19997rem;
} }
/*** categorial blocks ***/ /*** categorial blocks ***/
.main-block{ .main-block{
margin-top: 0.25in; margin-top: 2.7rem;
} }
#main h2{ #main h2{
position: relative; position: relative;
top: var(--row-blocks-padding-top); top: var(--row-blocks-padding-top);
/* XXX: 0.5px for aligning fx printing */ /* XXX: 0.05625rem for aligning fx printing */
left: calc((var(--date-block-width) + var(--decorator-horizontal-margin))); left: calc((var(--date-block-width) + var(--decorator-horizontal-margin)));
font-weight: 400; font-weight: 400;
font-size: 11pt; font-size: 1.649959rem;
color: #555; color: #555;
} }
@ -125,7 +125,7 @@ li{
height: calc(var(--row-blocks-padding-top) * 2); height: calc(var(--row-blocks-padding-top) * 2);
position: relative; position: relative;
top: calc(-1 * var(--row-blocks-padding-top)); top: calc(-1 * var(--row-blocks-padding-top));
/* XXX: 0.5px for aligning fx printing */ /* XXX: 0.05625rem for aligning fx printing */
left: calc(-1 * var(--decorator-horizontal-margin)); left: calc(-1 * var(--decorator-horizontal-margin));
display: block; display: block;
border-left: var(--decorator-border); border-left: var(--decorator-border);
@ -137,16 +137,16 @@ li{
/**** minor tweaks on the icon fonts ****/ /**** minor tweaks on the icon fonts ****/
#main h2 > .fa-graduation-cap{ #main h2 > .fa-graduation-cap{
left: calc(var(--main-blocks-title-icon-offset-left) - 2pt); left: calc(var(--main-blocks-title-icon-offset-left) - 0.299992rem);
top: 2pt; top: 0.299992rem;
} }
#main h2 > .fa-suitcase{ #main h2 > .fa-suitcase{
top: 1pt; top: 0.149996rem;
} }
#main h2 > .fa-folder-open{ #main h2 > .fa-folder-open{
top: 1.5pt; top: 0.224994rem;
} }
/**** individual row blocks (date - decorator - details) ****/ /**** individual row blocks (date - decorator - details) ****/
@ -162,9 +162,9 @@ li{
.date{ .date{
flex: 0 0 var(--date-block-width); flex: 0 0 var(--date-block-width);
padding-top: calc(var(--row-blocks-padding-top) + 2.5pt) !important; padding-top: calc(var(--row-blocks-padding-top) + 0.374991rem) !important;
padding-right: var(--decorator-horizontal-margin); padding-right: var(--decorator-horizontal-margin);
font-size: 7pt; font-size: 1.049974rem;
text-align: right; text-align: right;
line-height: 1; line-height: 1;
} }
@ -175,17 +175,17 @@ li{
.date span:nth-child(2)::before{ .date span:nth-child(2)::before{
position: relative; position: relative;
top: 1pt; top: 0.149996rem;
right: 5.5pt; right: 0.824979rem;
display: block; display: block;
height: 10pt; height: 1.499963rem;
content: '|'; content: '|';
} }
.decorator{ .decorator{
flex: 0 0 0; flex: 0 0 0;
position: relative; position: relative;
width: 2pt; width: 0.299992rem;
min-height: 100%; min-height: 100%;
border-left: var(--decorator-border); border-left: var(--decorator-border);
} }
@ -193,7 +193,7 @@ li{
/* /*
* XXX: Use two filled circles to achieve the circle-with-white-border effect. * XXX: Use two filled circles to achieve the circle-with-white-border effect.
* The normal technique of only using one pseudo element and * The normal technique of only using one pseudo element and
* border: 1px solid white; style makes firefox erroneously either: * border: 0.1125rem solid white; style makes firefox erroneously either:
* 1) overflows the grayshade background (if no background-clip is set), or * 1) overflows the grayshade background (if no background-clip is set), or
* 2) shows decorator line which should've been masked by the white border * 2) shows decorator line which should've been masked by the white border
* *
@ -224,7 +224,7 @@ li{
} }
.blocks:last-child .decorator{ /* slightly shortens it */ .blocks:last-child .decorator{ /* slightly shortens it */
margin-bottom: 0.25in; margin-bottom: 2.7rem;
} }
/***** fine-tunes on the details block where the real juice is *****/ /***** fine-tunes on the details block where the real juice is *****/
@ -232,20 +232,20 @@ li{
.details{ .details{
flex: 1 0 0; flex: 1 0 0;
padding-left: var(--decorator-horizontal-margin); padding-left: var(--decorator-horizontal-margin);
padding-top: calc(var(--row-blocks-padding-top) - 0.5pt) !important; /* not sure why but this is needed for better alignment */ padding-top: calc(var(--row-blocks-padding-top) - 0.074998rem) !important; /* not sure why but this is needed for better alignment */
} }
.details header{ .details header{
color: #1a1a1a; color: #1a1a1a;
margin-bottom: 17px; margin-bottom: 1.9125rem;
} }
.details h3{ .details h3{
font-size: 9pt; font-size: 1.349966rem;
} }
.main-block:not(.concise) .details div{ .main-block:not(.concise) .details div{
/* margin: 0.18in 0 0.1in 0; */ /* margin: 1.944rem 0 1.08rem 0; */
} }
.main-block:not(.concise) .blocks:last-child .details div{ .main-block:not(.concise) .blocks:last-child .details div{
@ -255,12 +255,12 @@ li{
.main-block.concise .details div:not(.concise){ .main-block.concise .details div:not(.concise){
/* use padding to work around the fact that margin doesn't affect floated /* use padding to work around the fact that margin doesn't affect floated
neighboring elements */ neighboring elements */
padding: 0.05in 0 0.07in 0; padding: 0.54rem 0 0.756rem 0;
} }
.details .place{ .details .place{
float: left; float: left;
font-size: 7.5pt; font-size: 1.124972rem;
font-weight: 400; font-weight: 400;
} }
@ -276,8 +276,8 @@ li{
.details .location::before{ .details .location::before{
display: inline-block; display: inline-block;
position: relative; position: relative;
right: 3pt; right: 0.449989rem;
top: 0.25pt; top: 0.037499rem;
font-style: normal; font-style: normal;
text-decoration: inherit; text-decoration: inherit;
content: "\f3c5"; content: "\f3c5";
@ -287,18 +287,18 @@ li{
/***** fine-tunes on the lists... *****/ /***** fine-tunes on the lists... *****/
#main ul{ #main ul{
padding-left: 0.07in; padding-left: 0.756rem;
margin: 0.08in 0; margin: 0.864rem 0;
} }
#main li{ #main li{
margin: 0.035in 0; margin: 0.378rem 0;
} }
/****** customize list symbol style ******/ /****** customize list symbol style ******/
#main li::before{ #main li::before{
position: relative; position: relative;
margin-left: -4.25pt; margin-left: -0.637484rem;
content: '• '; content: '• ';
} }
@ -323,24 +323,24 @@ li{
#sidebar h1{ #sidebar h1{
font-weight: 400; font-weight: 400;
font-size: 11pt; font-size: 1.649959rem;
} }
.side-block{ .side-block{
margin-top: 0.65in; margin-top: 7.02rem;
} }
#contact ul{ #contact ul{
margin-top: 0.05in; margin-top: 0.54rem;
padding-left: 0; padding-left: 0;
font-family: "Source Code Pro"; font-family: "Source Code Pro";
font-weight: 400; font-weight: 400;
line-height: 1.75; line-height: 1.75;
font-size: 7pt; font-size: 1.049974rem;
} }
#contact li > i{ #contact li > i{
width: 9pt; /* for text alignment */ width: 1.349966rem; /* for text alignment */
text-align: right; text-align: right;
} }
@ -349,7 +349,7 @@ li{
} }
.skills ul{ .skills ul{
margin: 0.05in 0 0.15in; margin: 0.54rem 0 1.62rem;
padding: 0; padding: 0;
} }
@ -357,7 +357,7 @@ li{
position: absolute; position: absolute;
bottom: var(--sidebar-horizontal-padding); bottom: var(--sidebar-horizontal-padding);
right: var(--sidebar-horizontal-padding); right: var(--sidebar-horizontal-padding);
font-size: 7.5pt; font-size: 1.124972rem;
font-style: italic; font-style: italic;
line-height: 1.1; line-height: 1.1;
text-align: right; text-align: right;
@ -397,7 +397,7 @@ body > *{
.recommendation { .recommendation {
margin: 1.5em 0px; margin: 1.5em 0.0rem;
font-style: italic; font-style: italic;
} }
@ -414,11 +414,13 @@ body > *{
svg.ts-logo { svg.ts-logo {
fill: #444444; fill: #444444;
width: 10px; width: 1.125rem;
position: relative; position: relative;
top: 1px; top: 0.1125rem;
} }
@media not print { @media not print {
a[href]{ a[href]{
color: #444; color: #444;
@ -429,9 +431,32 @@ svg.ts-logo {
} }
@media print { @media print {
:root {
font-size: 8.888888889px;
}
#sidebar { #sidebar {
background-color: #e3e3e3; background-color: #e3e3e3;
} }
-webkit-print-color-adjust: exact; -webkit-print-color-adjust: exact;
print-color-adjust: exact; print-color-adjust: exact;
.no-print {
display:none;
}
}
.source-link {
position: fixed;
bottom: 0;
right: 10rem;
background-color: #77AADD;
padding: 0.5rem 1.5rem 0.5rem 1.5rem;
font-size: 1.1rem;
color: #111;
border-radius: 4px 4px 0 0;
}
.source-link a {
color: #333;
} }