Skip to content

Commit 665e26f

Browse files
committed
Update to v2.1.1: Dynamic nametag svg and new photo
1 parent a264bdf commit 665e26f

File tree

7 files changed

+132
-7
lines changed

7 files changed

+132
-7
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "kroljs",
3-
"version": "2.1.0",
3+
"version": "2.1.1",
44
"private": true,
55
"homepage": "https://kroljs.com/",
66
"dependencies": {

src/components/pages/HomePage.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@ import CornerImg from '../utilities/CornerImg';
55
import ContentBlock from '../utilities/ContentBlock';
66

77
import UICImg from '../../graphics/chicago-uic-small-3.jpg';
8-
import PortraitImg from '../../graphics/jacob-2.jpeg';
8+
import PortraitImg from '../../graphics/jacob-3.jpg';
9+
import NameTag from '../utilities/NameTag';
910

1011
function HomePage() {
1112
return (
1213
<div>
1314
<Backdrop imgName={UICImg} />
14-
<TitleCard title="Jacob Krol" subtitle={["Full-Stack Web Developer","Short-Stack Pancake Lover"]} />
15+
<TitleCard Icon={NameTag} subtitle={["Full-Stack Web Developer","Short-Stack Pancake Lover"]} />
1516
<CornerImg />
1617
<ContentBlock key={0} bg={0} title="bio." >
1718
<div className="content-row">

src/components/utilities/NameTag.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import React from 'react';
2+
3+
export default function NameTag() {
4+
return (
5+
<svg width="340" height="60" viewBox="0 0 340 60" fill="none" xmlns="http://www.w3.org/2000/svg">
6+
<g id="nametag" clipPath="url(#clip0)">
7+
<text id="krol" fill="white" xmlSpace="preserve" style={{whiteSpace: "pre"}} fontFamily="Source Sans" font-size="64" letterSpacing="0em"><tspan x="226" y="52.752">Krol</tspan></text>
8+
<text id="s" fill="white" xmlSpace="preserve" style={{whiteSpace: "pre"}} fontFamily="Source Sans" font-size="64" letterSpacing="0em"><tspan x="179" y="52.752">S</tspan></text>
9+
<text id="acob" fill="white" xmlSpace="preserve" style={{whiteSpace: "pre"}} fontFamily="Source Sans" font-size="64" letterSpacing="0em"><tspan x="36" y="52.752">acob</tspan></text>
10+
<text id="j" fill="white" xmlSpace="preserve" style={{whiteSpace: "pre"}} fontFamily="Source Sans" font-size="64" letterSpacing="0em"><tspan x="5" y="52.752">J</tspan></text>
11+
</g>
12+
<defs>
13+
<clipPath id="clip0">
14+
<rect width="340" height="60" fill="white"/>
15+
</clipPath>
16+
</defs>
17+
</svg>
18+
)
19+
}

src/components/utilities/TitleCard.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,16 @@ import '../../styles/TitleCard.css';
88
// props.subtitle (opt.) = string or array of strings for subtitles
99

1010
function TitleCard(props) {
11+
const { Icon } = props;
1112
return (
1213
<div className="title-container" style={{minHeight: (props.size || 100) + "vh"}}>
1314
<div className="title-cell">
14-
<h1 className="title">{props.title}</h1>
15+
{props.title
16+
? <h1 className="title">{props.title}</h1>
17+
: Icon
18+
? <h1 className="title"><Icon /></h1>
19+
: null
20+
}
1521
<HLine />
1622
{typeof props.subtitle === "object"
1723
? props.subtitle.map((s,i) => <h2 className="subtitle" key={i}>{s}</h2>)

src/graphics/jacob-3.jpg

319 KB
Loading

src/styles/ContentBlock.css

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,24 @@
5858
}
5959
.content-box {
6060
text-align: left !important;
61-
font-size: 0.9rem !important;
61+
padding: 10px !important;
62+
/* font-size: 0.9rem !important; */
63+
}
64+
.media-box {
65+
padding: 0 !important;
66+
}
67+
.content-block-container {
68+
margin: 0 !important;
69+
}
70+
.content-column {
71+
margin: 0 !important;
6272
}
6373
.content-box ul {
6474
padding-left: 20px;
6575
}
76+
.content-block {
77+
margin: 10px !important;
78+
}
6679
.content-block.medium {
6780
min-width: 225px;
6881
}
@@ -71,6 +84,12 @@
7184
}
7285
}
7386

87+
@media only screen and (max-width: 350px) {
88+
.content-box * {
89+
padding: 0.2em;
90+
}
91+
}
92+
7493
.content-block a {
7594
color: #333;
7695
font-weight: bold;

src/styles/TitleCard.css

Lines changed: 82 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* START NAME TAG */
1+
/* START GENERIC NAME TAG */
22

33
.title-container {
44
position: relative;
@@ -38,4 +38,84 @@
3838
font-size: 22px;
3939
}
4040

41-
/* END NAME TAG */
41+
/* END GENERIC NAME TAG */
42+
43+
/* START SVG NAME TAG */
44+
45+
.title > svg {
46+
height: 60px;
47+
width: 340px;
48+
}
49+
50+
#j, #acob, #s, #krol {
51+
animation-duration: 10s;
52+
animation-delay: 0s;
53+
animation-timing-function: ease-in-out;
54+
animation-iteration-count: infinite;
55+
}
56+
57+
#acob {
58+
animation-name: animate-acob;
59+
}
60+
61+
#j {
62+
animation-name: animate-j;
63+
}
64+
65+
#s {
66+
animation-name: animate-s;
67+
}
68+
69+
#krol {
70+
animation-name: animate-krol;
71+
}
72+
73+
@keyframes animate-acob {
74+
0%,30% {
75+
opacity: 1;
76+
}
77+
50%,80% {
78+
opacity: 0;
79+
}
80+
100% {
81+
opacity: 1;
82+
}
83+
}
84+
85+
@keyframes animate-j {
86+
0%,30% {
87+
transform: translateX(0);
88+
}
89+
50%,80% {
90+
transform: translateX(189px);
91+
}
92+
100% {
93+
transform: translateX(0);
94+
}
95+
}
96+
97+
@keyframes animate-s {
98+
0%,30% {
99+
transform: translateX(0);
100+
}
101+
50%,80% {
102+
transform: translateX(46px);
103+
}
104+
100% {
105+
transform: translateX(0);
106+
}
107+
}
108+
109+
@keyframes animate-krol {
110+
0%,30% {
111+
transform: translateX(0);
112+
}
113+
50%,80% {
114+
transform: translateX(-146px);
115+
}
116+
100% {
117+
transform: translateX(0);
118+
}
119+
}
120+
121+
/* END SVG NAME TAG */

0 commit comments

Comments
 (0)