Replace font icons with SVG icons

The new SVG icons are from the Tabler Icons set.
This commit is contained in:
Foster Hangdaan 2023-07-31 00:14:54 -04:00
parent 4cb3231602
commit 4571eb3e85
Signed by: foster
GPG key ID: E48D7F49A852F112
19 changed files with 142 additions and 21 deletions

View file

@ -2,7 +2,7 @@ export default function({ comp }) {
return (
<footer className="page-footer">
<p>Copyright &copy; 2023 Foster Hangdaan</p>
<p>Made with <a href="https://deno.land/" target="_blank">Deno</a>, <a href="https://lume.land/" target="_blank">Lume</a>, <a href="https://www.typescriptlang.org/" target="_blank">TypeScript</a> and lots of <span className="heart"></span>.</p>
<p>Made with <a href="https://deno.land/" target="_blank">Deno</a>, <a href="https://lume.land/" target="_blank">Lume</a>, <a href="https://www.typescriptlang.org/" target="_blank">TypeScript</a> and lots of <span className="heart">{ comp.icons.Heart() }</span>.</p>
</footer>
);
}

View file

@ -0,0 +1,9 @@
export default function() {
return (
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-chart-area-filled" width="1em" height="1em" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M20 18a1 1 0 0 1 .117 1.993l-.117 .007h-16a1 1 0 0 1 -.117 -1.993l.117 -.007h16z" stroke-width="0" fill="currentColor" />
<path d="M15.22 5.375a1 1 0 0 1 1.393 -.165l.094 .083l4 4a1 1 0 0 1 .284 .576l.009 .131v5a1 1 0 0 1 -.883 .993l-.117 .007h-16.022l-.11 -.009l-.11 -.02l-.107 -.034l-.105 -.046l-.1 -.059l-.094 -.07l-.06 -.055l-.072 -.082l-.064 -.089l-.054 -.096l-.016 -.035l-.04 -.103l-.027 -.106l-.015 -.108l-.004 -.11l.009 -.11l.019 -.105c.01 -.04 .022 -.077 .035 -.112l.046 -.105l.059 -.1l4 -6a1 1 0 0 1 1.165 -.39l.114 .05l3.277 1.638l3.495 -4.369z" stroke-width="0" fill="currentColor" />
</svg>
);
}

View file

@ -0,0 +1,11 @@
export default function() {
return (
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-chart-bar" width="1em" height="1em" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M3 12m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" />
<path d="M9 8m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v10a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" />
<path d="M15 4m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" />
<path d="M4 20l14 0" />
</svg>
);
}

View file

@ -0,0 +1,8 @@
export default function() {
return (
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-diamonds" width="1em" height="1em" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M10.831 20.413l-5.375 -6.91c-.608 -.783 -.608 -2.223 0 -3l5.375 -6.911a1.457 1.457 0 0 1 2.338 0l5.375 6.91c.608 .783 .608 2.223 0 3l-5.375 6.911a1.457 1.457 0 0 1 -2.338 0z" />
</svg>
);
}

View file

@ -0,0 +1,11 @@
export default function() {
return (
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-file-cv" width="1em" height="1em" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M14 3v4a1 1 0 0 0 1 1h4" />
<path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z" />
<path d="M11 12.5a1.5 1.5 0 0 0 -3 0v3a1.5 1.5 0 0 0 3 0" />
<path d="M13 11l1.5 6l1.5 -6" />
</svg>
);
}

View file

@ -0,0 +1,9 @@
export default function() {
return (
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-gps" width="1em" height="1em" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" />
<path d="M12 17l-1 -4l-4 -1l9 -4z" />
</svg>
);
}

View file

@ -0,0 +1,8 @@
export default function() {
return (
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="1em" height="1em" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572" />
</svg>
);
}

View file

@ -0,0 +1,11 @@
export default function() {
return (
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart-handshake" width="1em" height="1em" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572" />
<path d="M12 6l-3.293 3.293a1 1 0 0 0 0 1.414l.543 .543c.69 .69 1.81 .69 2.5 0l1 -1a3.182 3.182 0 0 1 4.5 0l2.25 2.25" />
<path d="M12.5 15.5l2 2" />
<path d="M15 13l2 2" />
</svg>
);
}

View file

@ -0,0 +1,10 @@
export default function() {
return (
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-home" width="1em" height="1em" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M5 12l-2 0l9 -9l9 9l-2 0" />
<path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" />
<path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6" />
</svg>
);
}

View file

@ -0,0 +1,9 @@
export default function() {
return (
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-key" width="1em" height="1em" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0z" />
<path d="M15 9h.01" />
</svg>
);
}

View file

@ -0,0 +1,9 @@
export default function() {
return (
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-mail-filled" width="1em" height="1em" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M22 7.535v9.465a3 3 0 0 1 -2.824 2.995l-.176 .005h-14a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-9.465l9.445 6.297l.116 .066a1 1 0 0 0 .878 0l.116 -.066l9.445 -6.297z" stroke-width="0" fill="currentColor" />
<path d="M19 4c1.08 0 2.027 .57 2.555 1.427l-9.555 6.37l-9.555 -6.37a2.999 2.999 0 0 1 2.354 -1.42l.201 -.007h14z" stroke-width="0" fill="currentColor" />
</svg>
)
}

View file

@ -0,0 +1,5 @@
#+title: Icons
Icons as TSX components.
All icons are from Tabler Icons.

View file

@ -0,0 +1,9 @@
export default function() {
return (
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-school" width="1em" height="1em" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M22 9l-10 -4l-10 4l10 4l10 -4v6" />
<path d="M6 10.6v5.4a6 3 0 0 0 12 0v-5.4" />
</svg>
);
}

View file

@ -0,0 +1,9 @@
export default function() {
return (
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-user" width="1em" height="1em" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0" />
<path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
</svg>
)
}

View file

@ -1,12 +1,12 @@
export default function() {
export default function({ comp }) {
return (
<nav className="navbar">
<ul className="navbar-list">
<li className="navbar-list-item home">
<a href="/"></a>
<a href="/">{ comp.icons.Home() }</a>
</li>
<li className="navbar-list-item">
<a href="/resume" title="Resume">󰈙</a>
<a href="/resume" title="Resume">{ comp.icons.FileCV() }</a>
</li>
</ul>
</nav>

View file

@ -1,8 +1,8 @@
export default function () {
export default function ({ comp }) {
return (
<div className="separator">
<span className="outer-outline"/>
<span className="icon">󱀝</span>
<span>{ comp.icons.Diamonds() }</span>
<span className="outer-outline"/>
</div>
);

View file

@ -1,17 +1,18 @@
.separator {
display: flex;
align-items: center;
justify-content: center;
margin: 1rem auto;
text-align: center;
max-width: var(--page--max-width);
span {
display: inline-block;
vertical-align: middle;
}
.outer-outline {
width: 40%;
border: 1px solid var(--color-black);
}
.icon {
display: flex;
align-items: center;
font-size: 2rem;
margin: 0 0.2rem;
color: var(--color-black);
}
}

View file

@ -9,11 +9,13 @@ pub ed25519/E48D7F49A852F112 2023-07-14 [SC]
uid Foster Hangdaan <foster@hangdaan.email>
`;
export default function() {
export default function({ comp }) {
return (
<>
<section>
<h2 id="about"> About</h2>
<h2 id="about">
{comp.icons.User()} About
</h2>
<p>I am a software developer, open-source enthusiast, lover of pizza, renegade of funk and many more.</p>
<p>
I spend most of my time tinkering with computer servers or the latest JavaScript frameworks.
@ -21,12 +23,12 @@ export default function() {
</p>
</section>
<section>
<h2 id="contact-me"> Contact</h2>
<h2 id="contact-me">{comp.icons.Mail()} Contact</h2>
<p>The primary method of reaching me is through my email: <a href="mailto:foster@hangdaan.email">foster@hangdaan.email</a>.</p>
<p>If you'd like an encrypted response, you can send me your GPG public key. You can find mine in the <a href="#gpg">GPG Key</a> section of this page.</p>
</section>
<section>
<h2 id="places"> Places</h2>
<h2 id="places">{comp.icons.GPS()} Places</h2>
<p>Other places where you can find me:</p>
<ul>
<li>
@ -38,7 +40,7 @@ export default function() {
</ul>
</section>
<section>
<h2 id="gpg">󰌋 GPG Key</h2>
<h2 id="gpg">{comp.icons.Key()} GPG Key</h2>
<p>
I do not use keyservers.
This is the only place where I officially provide my key.
@ -56,7 +58,7 @@ export default function() {
<p>You can find more info about GPG on the <a href="https://gnupg.org/" target="_blank">GnuPG official website</a>.</p>
</section>
<section>
<h2 id="donate">󱃱 Donating</h2>
<h2 id="donate">{comp.icons.HeartHandshake()} Donating</h2>
<p>
Developing free and open-source software takes much of my time and energy.
It's my way of giving back to the open-source community and to the general public.

View file

@ -5,11 +5,11 @@ export const header = {
subheading: <span>Download a copy of my resume <a href="">here</a>.</span>,
};
export default function() {
export default function({ comp }) {
return (
<>
<section>
<h2>󱖶 Experience</h2>
<h2>{comp.icons.ChartAreaFilled()} Experience</h2>
<div>
<h3 className="inline">Zetane Systems</h3>
<span className="resume--work-position">Full-Stack Developer</span>
@ -35,7 +35,7 @@ export default function() {
</ul>
</section>
<section>
<h2> Education</h2>
<h2>{comp.icons.School()} Education</h2>
<div>
<h3 className="inline">Computer Engineering Technology</h3>
<span className="resume--education-emphasis">Emphasis in Computer Programming</span>
@ -45,7 +45,7 @@ export default function() {
</div>
</section>
<section>
<h2>󰄨 Skills</h2>
<h2>{comp.icons.ChartBar()} Skills</h2>
<h3>Programming Languages</h3>
<ul>
<li>JavaScript</li>