Compare commits

..

1 Commits

Author SHA1 Message Date
22f0696ea7 Server: fix duration string, add verbose option 2019-09-23 01:11:52 -04:00
48 changed files with 268 additions and 1213 deletions

3
.gitignore vendored
View File

@@ -3,8 +3,5 @@ public/
resources/_gen/
themes/base16*
*.pdf
commit-msg.txt
.hugo_build.lock
static/server-apps.json

7
.gitmodules vendored
View File

@@ -1,7 +0,0 @@
[submodule "content/letter"]
path = content/letter
url = ssh://git@git.kevin-mok.com:399/Kevin-Mok/cover-letters.git
branch = master
[submodule "static/pdf"]
path = static/pdf
url = ssh://git@git.kevin-mok.com:399/Kevin-Mok/resume-pdf.git

View File

@@ -2,7 +2,6 @@
// base colors {{{ //
$base02: #515151;
$base03: #747369;
$base04: #a09f93;
$base05: #d3d0c8;
@@ -35,36 +34,25 @@ $base-dark-orange: #d27b53;
// mixins {{{ //
// $max-page-width: 52em;
$max-page-width: 45em;
$max-page-width: 52em;
$phone-width: 800px;
@mixin side-padding-rem($n) {// {{{
@mixin side-padding-rem($n) {
padding-left: $n * 1rem;
padding-right: $n * 1rem;
}// }}}
}
@mixin side-margin-em($n) {// {{{
margin-left: $n * 1em;
margin-right: $n * 1em;
}// }}}
@mixin vert-padding-rem($n) {// {{{
@mixin vert-padding-rem($n) {
padding-top: $n * 1rem;
padding-bottom: $n * 1rem;
}// }}}
}
@mixin vert-margin-rem($n) {// {{{
margin-top: $n * 1rem;
margin-bottom: $n * 1rem;
}// }}}
@mixin auto-center() {// {{{
@mixin auto-center() {
margin-left: auto;
margin-right: auto;
}// }}}
}
@mixin article-body() {// {{{
@mixin article-body() {
/* background-color: #e6e6fa; */
background-color: #cbbeb5;
color: #2d2d2d;
@@ -76,9 +64,9 @@ $phone-width: 800px;
@media (max-width: $max-page-width) {
@include side-padding-rem(2);
}
}// }}}
}
@mixin a-color($color) {// {{{
@mixin a-color($color) {
a {
color: $color;
&:visited {
@@ -88,27 +76,23 @@ $phone-width: 800px;
color: $color;
}
}
}// }}}
}
// }}} mixins //
// general elements {{{ //
// $background-color: #2d2d2d;
// $color: #f2f0ec;
$background-color: white;
$color: black;
$background-color: #2d2d2d;
$color: #f2f0ec;
// $background-color: white;
// $color: black;
body {
margin: 0;
background-color: $background-color;
color: $color;
// line-height: 1.5;
line-height: 1.57;
// font-size: 100%;
font-size: 15px;
// font-size: 20px;
// font-size: 22px;
line-height: 1.5;
font-size: 100%;
/* font-family: 'Source Code Pro', monospace; */
font-family: 'Hack', monospace;
display: flex;
@@ -124,6 +108,10 @@ body {
margin-right: auto;
flex: 1;
.copyright {
@include a-color(#747369);
}
@media (max-width: $max-page-width) {
width: 100%;
}
@@ -164,66 +152,21 @@ header {
}
footer {
// base {{{ //
@include a-color(#747369);
// background-color: #393939;
// max-width: $max-page-width;
margin-top: 2rem;
$vertical-margin: .2em;
margin-bottom: 1rem;
text-align: center;
font-size: 0.8em;
font-size: 0.9em;
color: #747369;
// bottom: 0;
// position: absolute;
// width: 100%;
// }}} base //
.container {// {{{
// max-width: $max-page-width;
// min-width: $max-page-width;
.container {
background-color: #393939;
max-width: 62em;
@include auto-center();
// @include vert-padding-rem(.1);
@include side-padding-rem(0);
#footer-row {
// background-color: #393939;
}
#footer-content {
$side-padding: 2.5em;
@include vert-padding-rem(.35);
border-style: solid;
border-width: 1px 0 0 0;
border-color: rgba(81, 81, 81, .75);
#copyright {
// padding-left: .85em;
padding-left: $side-padding;
position: relative;
top: 2px;
@include a-color(#747369);
}
#social-icons {
position: relative;
padding-right: $side-padding;
// padding-right: .9em;
img {
height: 1.5em;
@include vert-margin-rem(.2);
padding-left: .5em;
opacity: .6;
&:hover {
opacity: 1;
}
}
}
}
}// }}}
@include vert-padding-rem(.1);
}
@media (max-width: $max-page-width) {
margin-top: 0;
@@ -251,22 +194,10 @@ p {
margin-bottom: 1rem;
}
// h1 {
// font-size: 2rem;
// @media (max-width: $phone-width) {
// font-size: 1.75rem;
// }
// }
// h2 {
// font-size: 1.5rem;
// @media (max-width: $phone-width) {
// font-size: 1.4rem;
// }
// }
h1 { font-size: 2rem }
h2 { font-size: 1.5rem }
h3 { font-size: 1.25rem }
// h4 { font-size: 1rem }
h4 { font-size: 1rem }
h5 { font-size: .875rem }
h6 { font-size: .75rem }
@@ -291,6 +222,10 @@ header {// {{{
}
}// }}}
footer {// {{{
@include a-color(#747369);
}// }}}
.page-not-found {// {{{
h1 {
text-align: center;
@@ -317,12 +252,11 @@ header {// {{{
#homepage {// {{{
#about {
font-size: 1.1rem;
font-size: 1.25rem;
h2 {
margin-top: 1.25rem;
// font-size: 2rem;
font-size: 1.9rem;
font-size: 2rem;
color: $base-yellow;
text-align: center;
@@ -481,7 +415,6 @@ header {// {{{
#print-icon {// {{{
float: right;
display: none;
img {
height: 1.75em;
@@ -491,246 +424,80 @@ header {// {{{
}// }}}
#contact-info {// {{{
@include side-margin-em(0);
// @include vert-padding-rem(0.5);
@include a-color($base-sky-blue);
// min-width: $max-page-width;
@media (min-width: 1200px) {
.container{
min-width: $max-page-width;
}
}
a {// {{{
text-decoration: none;
&:hover {
text-decoration: none;
}
}// }}}
@include vert-padding-rem(0.5);
display: flex;
align-content: center;
// font-size: .9em;
font-size: .8em;
.row {
// flex-grow: 1;
div {
flex-grow: 1;
color: $base05;
img {
height: 1em;
// @media (max-width: $phone-width) {
// height: 1.5em;
// }
}
div[class^="col"] {
@include side-padding-rem(0);
// text-align: center;
}
}
.url-info {
margin-left: 5px;
// position: relative;
// left: -8px;
// @media (max-width: $phone-width) {
// // display: none;
// // font-size: 10px;
// font-size: .8em;
// }
#email {
text-align: center;
}
#website {
text-align: right;
}
}// }}}
#resume {// {{{
a {// {{{
// text-decoration: none;
text-decoration: underline;
a {
text-decoration: none;
&:hover {
text-decoration: underline;
}
}// }}}
}
h1 {// {{{
h1 {
color: $base-orange;
// margin-top: 1.3rem;
margin-top: 1rem;
// font-size: 1.2em;
font-size: 1.3em;
}
// @media (max-width: $phone-width) {
// margin-top: .75rem;
// }
}// }}}
h2 {// {{{
color: $base-orange;
margin-top: .5rem;
font-size: 1em;
// @media (max-width: $phone-width) {
// font-size: 1.2em;
// margin-top: .75rem;
// }
}// }}}
h4 {// {{{
color: $base-yellow;
margin-top: .5rem;
font-size: 1.2em;
// @media (max-width: $phone-width) {
// font-size: 1.2em;
// margin-top: .75rem;
// }
}// }}}
.date {// {{{
.date {
float: right;
color: $base03;
// @media (max-width: $phone-width) {
// padding-top: 0em;
// }
}// }}}
.section-header {
margin-top: 1em;
margin-bottom: 0.4em;
}
ul {
margin-bottom: 5px;
}
.work-experience {
margin-bottom: 5px;
}
#projects {// {{{
// // h1 {
// // margin-bottom: 3px;
// // }
.project {// {{{
@include vert-padding-rem(.2);
h2 {
color: $base-sky-blue;
display: inline;
font-size: 1.1em;
}
img {
height: 1.2em;
}
.project-header {
// margin-bottom: .6em;
// margin-bottom: .1em;
margin-bottom: 5px;
}
.project-link {
&:link {
text-decoration: none;
}
&:hover {
text-decoration: none;
}
}
.down-triangle {
// fill: blue;
height: 1.2em;
position: relative;
top: -3px;
left: -3px;
}
.btn {// {{{
display: inline;
background-color: transparent;
margin-bottom: 5px;
padding-left: 7px;
&:focus, &:active {
outline: none !important;
box-shadow: none;
}
}// }}}
// }}}
// [id^="details-"] {
// margin-top: .5em;
// }
}
}// }}}
.company {
color: #fe4646;
font-weight: bold;
font-size: 1.2em;
margin-bottom: 5px;
}
.position {
// color: black;
color: $base-sky-blue;
font-weight: bold;
// font-style: italic;
font-size: 1.1em;
// margin-bottom: 5px;
margin-bottom: 15px;
}
.institution {
color: $base-yellow;
font-weight: bold;
font-size: 1.1em;
margin-bottom: 5px;
}
.title {
font-style: italic;
}
#education {// {{{
.date {
padding-top: 0;
}
}// }}}
// @media (max-width: $phone-width) {
// font-size: 14px;
// // font-size: 1em;
// }
&.letter {
margin-top: 2em;
line-height: 1.5em;
img {
height: 4.5em;
}
.project {
@include vert-padding-rem(.2);
h2 {
color: $base-red;
margin-top: 0em;
margin-bottom: .4em;
color: $base-sky-blue;
display: inline;
}
p {
margin-bottom: 1em;
img {
height: 1.2em;
}
.no-line-spacing {
line-height: .5em;
margin-bottom: 1.75em;
p {
margin-bottom: 1em;
.project-link {
&:hover {
text-decoration: none;
}
}
.btn {
display: inline;
background-color: transparent;
margin-bottom: 5px;
padding-left: 7px;
&:focus, &:active {
outline: none !important;
box-shadow: none;
}
}
// [id^="details-"] {
// margin-top: .5em;
// }
}
}// }}}
#server {// {{{
@@ -789,40 +556,32 @@ header {// {{{
h1.site-title {// {{{
text-align: center;
// font-size: 4.2em;
font-size: 3.2em;
/* font-size: 3.5em; */
font-size: 4.8em;
// color: #66cccc;
color: $base05;
// margin-top: 1rem;
// margin-bottom: 0.75rem;
@include vert-margin-rem(.75);
margin-top: 1rem;
margin-bottom: 0.5rem;
@include a-color($base-sky-blue);
a {
text-decoration: none;
}
// @media (max-width: $phone-width) {
@media (max-width: $max-page-width) {
font-size: 3em;
}
@media (max-width: $phone-width) {
// font-size: 3em;
// }
// @media (max-width: $phone-width) {
// font-size: 3.5em;
// @include vert-margin-rem(.3);
// // font-size: 2.5em;
// // font-size: 2em;
// .surrounding {
// display: none;
// }
// }
// font-size: 2.5em;
font-size: 2em;
}
}// }}}
.hero-logo img {
margin-top: 0.5rem;
width: 100%;
// display: none;
// width: $max-page-width;
}
.nav-bar {// {{{
@@ -949,7 +708,6 @@ article.single h1.headline {
@media (max-width: $max-page-width) {
article.single h1.headline {
font-size: 2em;
padding-left: 2rem;
padding-right: 2rem;
}
@@ -964,8 +722,7 @@ article.single section.body h4 { color: #f2777a; }
article.single section.body h5 { color: #515151; }
article.single section.body h6 { color: #747369; }
// article.single section.body a,a:visited { color: #a06700; }
article.single section.body a,a:visited { color: $base-sky-blue; }
article.single section.body a,a:visited { color: #a06700; }
/* Article Elements */

View File

@@ -16,7 +16,7 @@ menu:
main:
- name: resume
url: /resume
weight: 1
weight: 5
# - name: posts/
# url: /posts
# weight: 6
@@ -26,23 +26,11 @@ menu:
- name: config
url: /config
weight: 10
- name: card
url: /card
weight: 15
# - name: letter
# url: /letter
# weight: 17
# - name: credits
# url: /credits
# weight: 20
# blackfriday:
# plainIDAnchors: true
# hrefTargetBlank: true
blackfriday:
plainIDAnchors: true
hrefTargetBlank: true
disableKinds: ["RSS"]
markup:
goldmark:
renderer:
unsafe: true

View File

@@ -1,5 +0,0 @@
---
title: "Digital Card"
date: 2019-02-11T07:50:51-05:00
draft: false
---

View File

@@ -6,7 +6,7 @@ layout: single
---
<!--- Intro {{{ -->
![desktop-screenshot](https://img.khkm.tk/uploads/big/b2bd45e8f436d389ecb787b5c61c951a.png)
![desktop-screenshot](https://i.imgur.com/Fpsr8Fc.png)
*Screenshot from my dual-monitor setup.*
This [repository][lc-repo] contains the dotfiles to increase my workflow
@@ -34,9 +34,8 @@ efficiency. They are also for my Linux [rice][ricing_explanation].
<!--- Setup {{{ -->
## Setup
I use [chezmoi] to manage varying configs for different machines with
a single branch.
[chezmoi]: https://github.com/twpayne/chezmoi
I use
[Stow](http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html)
to symbolically link the configs/dotfiles.
<!--- }}} Setup -->

View File

@@ -0,0 +1,5 @@
---
title: "Credits"
date: 2019-02-11T03:10:25-05:00
draft: true
---

Submodule content/letter deleted from 1f7a5be6bc

View File

@@ -3,106 +3,117 @@ title: "Resume"
date: 2019-02-11T07:50:51-05:00
draft: false
---
{{% resume/section "Work Experience" %}}<!--- {{{ -->
{{% resume/section overview %}}<!--- {{{ -->
{{% resume/work-experience name="Red Hat"
title="Cloud/Software Engineer Intern" date="May 2020 — Aug 2021" %}}
- Reduced deployment time by **66%** by [implementing ability](https://github.com/apache/incubator-kie-kogito-operator/commit/175a6356c5474f2360ccb8ae835e0b9b2d653cf1) to
deploy locally-compiled binaries onto **Kubernetes**/**OpenShift**
using only command-line (Golang used for this and below).
- Implemented ability for Kubernetes operator to fetch data
from a deployed service and update config with data.
- Added startup probes to handle starting legacy application containers that require additional startup time.
- Refactored probes to [have default values](https://github.com/apache/incubator-kie-kogito-operator/commit/af4977af228ec8648be28779259d4552246b656f) assigned based on
deployed YAML while also fixing reconciliation issues.
- Automated the promotion and release process
as part of the **Jenkins** [release pipeline](https://github.com/apache/incubator-kie-kogito-pipelines/commit/4c83f1aecdea2c1ba2796b79839a90d4083dce88).
- Wrote [documentation](https://github.com/apache/incubator-kie-kogito-operator/blob/1534c03d1d26bec08a16608a775782bf8b305de9/docs/GUIDE_FOR_KOGITO_DEVS.md) on how to get started with the project to onboard new
developers and mentored the incoming intern.
I am a 3<sup>rd</sup> year CS student and enthusiast of all things Linux
and FOSS. I am looking for an internship to fully dedicate myself to that
will test my abilities, provide the opportunity to gain valuable knowledge
and experience and jumpstart my career with a solid foundation.
{{% /resume/section %}}<!--- }}} -->
{{% resume/section projects %}}<!--- {{{ -->
<!--- AWS {{{ -->
<!--- Spotify Graphs {{{ -->
{{% resume/project name="AWS Server/Kubernetes"
url="https://kevin-mok.com/server/" date="May 2024" show="true" %}}
{{% resume/project name="Spotify Visualizer"
url="https://github.com/Kevin-Mok/spotify-lib-vis" date="July 2018" show="true" %}}
- Deployed [various web apps](https://kevin-mok.com/server/) using **Docker** (Compose) on an
**AWS EC2** Debian/**Linux** server.
- Created **Kubernetes** [manifest files](https://github.com/Kevin-Mok/aws-minicube) to quickly recreate my server setup
with persistent storage/restarts and open ports.
- Used Amazon Route 53's DNS and **NGINX** to route
subdomains to each web application.
- Used AWS security groups to allow inbound HTTPS traffic.
- Used Amazon EBS snapshots to regularly back up server.
- Wrote a [**JavaScript** script][server script] and [systemd service][systemd service]/[timer]
to display the uptime of my pages every hour.
- Web app that scans your Spotify library using their API to produce
[**d3** graphs][d3 graph examples] to visualize the artists, genres and
features of tracks in your library.
- Can also keep track of your listening history. Currently runs as a `cron`
job on my local machine to keep track of my own.
- Uses __Django__ and __PostgreSQL__ for back-end.
[server script]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-status.js
[systemd service]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.service
[timer]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.timer
[d3 graph examples]: https://github.com/d3/d3/wiki/Gallery
{{% /resume/project %}}
<!--- AWS }}} -->
<!--- Spotify Graphs }}} -->
<!--- Rarity Surf {{{ -->
<!--- ParsaFood {{{ -->
{{% resume/project name="Rarity Surf"
date="Oct 2021" show="true" %}}
- Web app to give rarity rankings to NFT's within minutes of their metadata being revealed and check which are listed (based on rarity and price filters) on the OpenSea marketplace using their API.
- Reverse engineered the ranking algorithm to match the
leading rarity ranking site's rankings (scraped using
Selenium) with a **discrepancy of <0.25%**.
- Used app to frontrun purchases of **top 5%** rarity NFT's
against competing buyers.
- Wrote **Django (Python)** backend to fetch metadata from IPFS, store rarity rankings in PostgreSQL and serve rarity data using GraphQL.
- Wrote **React** frontend with hooks to dynamically load rarity data. Styled with Tailwind.
{{% /resume/project %}}
<!--- Rarity Surf }}} -->
<!--- Astronofty {{{ -->
{{% resume/project name="Astronofty"
url="https://github.com/Kevin-Mok/astronofty" date="Jan 2023"
{{% resume/project name="ParsaFood"
url="https://github.com/Kevin-Mok/ParsaFood" date="Feb. 2018"
show="true" %}}
- Created for a 36 hour hackathon (UofTHacks X) where it [**came 2nd overall**](https://devpost.com/software/astronofty).
- Created and deployed a smart contract with **Solidity** on
the Ethereum blockchain to create/buy/sell NFT's
using MetaMask.
- Wrote a **React** hook to fetch and show listed NFT's, NFT details and owned NFT's.
- Used API to synchronously upload images and metadata to IPFS.
- **Android** app that reads ingredient labels and detects any dietary
restrictions/allergies.
- Made during a 24-hour [food-themed hackathon][Platterz Hackathon event]
in a group with two other members. Came in 2<sup>nd</sup> place and won
an [Oculus Rift][Oculus Rift Amazon].
- Came up with the idea based on [personal experience][Parsafood motivation].
[Parsafood repo]: https://github.com/Kevin-Mok/ParsaFood
[Parsafood motivation]: https://github.com/Kevin-Mok/ParsaFood#motivation
[Platterz Hackathon event]: https://www.eventbrite.com/e/platterz-hackathon-tickets-42682237722
[Oculus Rift Amazon]: https://www.amazon.ca/Oculus-Rift-Windows-VR-Headset/dp/B00VF0IXEY/ref=sr_1_1_sspa?ie=UTF8&qid=1520422949&sr=8-1-spons&keywords=oculus+rift&psc=1
{{% /resume/project %}}
<!--- Astronofty }}} -->
<!--- ParsaFood }}} -->
{{% /resume/section %}}<!--- }}} -->
<!--- Grocery Finder {{{ -->
{{% resume/section skills %}}<!--- {{{ -->
{{% resume/project name="Grocery Finder"
url="https://github.com/Kevin-Mok/grocery-finder" date="April 2019"
show="true" %}}
AWS, Kubernetes, Docker (Compose), **JavaScript**, **React**, **Python**, Go, Bash, Solidity, C, **Django**, Node.js, Jenkins, PostgreSQL,
MongoDB, **Linux**, **Git**, **Command Line**
- Proof of concept for a web app that finds the best supermarket for
your needs based on the total price of your cart items and distance
from you.
- Responsive front-end using **Bootstrap**. Uses **Node.js** and
**MongoDB** for back-end.
- Currently deployed on [**Heroku**][Grocery Finder Heroku].
- Took on role as project leader to prioritize and delegate tasks
while
also implementing a majority of the core features.
[Grocery Finder Heroku]: http://www.grocery-finder.ml
{{% /resume/project %}}
<!--- Grocery Finder }}} -->
<!--- TrapBot {{{ -->
{{% resume/project name="TrapBot"
url="https://github.com/Kevin-Mok/TrapBot" date="March 2018" %}}
- reddit bot that looks for comments with song names and responds with
their respective SoundCloud links.
- Received positive feedback from users who saw the bot's posts.
- Uses __Python__ API wrappers for SoundCloud and reddit.
{{% /resume/project %}}
<!--- Grocery Finder }}} -->
<!--- Super ADA Bros. {{{ -->
{{% resume/project name="Super ADA Bros"
url="https://github.com/Kevin-Mok/SuperADABros" date="May 2019" %}}
- Clone of Super Mario Bros 1-1, but Mario is mobility-impaired and
uses ramps to get through the level.
- Able to be played using only head movement by getting input from a
face-tracking script (**OpenCV**).
- Implemented in [**Godot**][Godot site], an open-source game engine.
- Made during a 24-hour [accessibility-themed hackathon][PC Hacks event].
[PC Hacks event]: https://pchacks19.devpost.com/
[Godot site]: https://godotengine.org
{{% /resume/project %}}
<!--- Grocery Finder }}} -->
{{% /resume/section %}}<!--- }}} -->
{{% resume/section education %}}<!--- {{{ -->
{{% resume/education name="University of Toronto"
title="Computer Science Specialist — 3.84 GPA (CS). Graduated with High Distinction." date="2018 — 2023" %}}
- **University of Toronto**: Computer Science Specialist <div class="date">2017-2021</div>
{{% /resume/section %}}<!--- }}} -->
{{% resume/section "References" %}}<!--- {{{ -->
{{% resume/references %}}
{{% /resume/section %}}<!--- }}} -->
<!-- vim: fdm=marker -->

View File

@@ -0,0 +1,20 @@
<!--- Super ADA Bros. {{{ -->
{{% resume/project name="Super ADA Bros"
url="https://github.com/Kevin-Mok/SuperADABros" date="May 2019" %}}
- Clone of Super Mario Bros 1-1, but Mario is mobility-impaired and
uses ramps to get through the level.
- Able to played using only head movement by getting input from a
face-tracking script (**OpenCV**).
- Implemented in [**Godot**][Godot site], an open-source game engine.
- Made during a 24-hour [accessibility-themed hackathon][PC Hacks event].
[PC Hacks event]: https://pchacks19.devpost.com/
[Godot site]: https://godotengine.org
{{% /resume/project %}}
<!--- Grocery Finder }}} -->

View File

@@ -1,98 +0,0 @@
<!--- CSC369 {{{ -->
{{% resume/project name="Custom Kernel Module"
url="https://kevin-mok.com/server/" date="Jan. 2022" show="true" %}}
- Wrote and installed a [custom Linux kernel module](https://github.com/Kevin-Mok/interceptor-kernel/blob/master/a1/interceptor.c) in **C**.
- Intercepted pre-existing system calls using
custom kernel module by sending commands to
userspace.
- Monitored specific process ID's in my system
call to intercept their system calls.
{{% /resume/project %}}
<!--- CSC369 }}} -->
<!--- Spotify Graphs {{{ -->
{{% resume/project name="Spotify Graphs"
url="https://github.com/Kevin-Mok/spotify-lib-vis" date="June 2018 — July 2018"
show="true" %}}
- Implemented base functionality of scanning tracks and listening
history from user's library using Spotify API and organized data
into **PostgreSQL** database with **Django** backend.
- Created and tested various relational database schemas to maximize
efficiency for use cases.
- Produced bubble chart and (stacked) bar chart using [**d3**]
[d3 graph examples] to visualize the artists, genres and features of
tracks in library.
[d3 graph examples]: https://github.com/d3/d3/wiki/Gallery
{{% /resume/project %}}
<!--- Spotify Graphs }}} -->
<!--- Grocery Finder {{{ -->
{{% resume/project name="Grocery Finder"
url="https://github.com/Kevin-Mok/grocery-finder" date="Feb. 2019 — Apr. 2019"
show="true" %}}
- Proof of concept for web app that finds the ideal supermarket based on your cart.
- Designed responsive front-end layout using **Bootstrap**.
- Implemented REST API functionality on backend using **Node.js** and
**MongoDB**.
- Setup deployment on [**Heroku**][Grocery Finder Heroku].
- Led team of 4 as project leader to prioritize and delegate tasks while
also implementing a majority of the core features.
- Performed code review for team members' pull requests.
[Grocery Finder Heroku]: http://www.grocery-finder.ml
{{% /resume/project %}}
<!--- Grocery Finder }}} -->
<!--- DigitalOcean {{{ -->
{{% resume/project name="Personal Server"
url="https://kevin-mok.com/server/" date="Aug. 2019 — present" %}}
- Deployed various web apps with backends such as Node, PHP and Python using
**NGINX** on a **Debian** server.
- Monitor system resources and perform system maintenance using tmux.
- Wrote [**Node.js** script][server script] and [**systemd** service][systemd service]/[timer]
to check and display the uptime of my pages every hour.
[server script]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-status.js
[systemd service]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.service
[timer]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.timer
{{% /resume/project %}}
<!--- DigitalOcean Droplet }}} -->
<!--- ParsaFood {{{ -->
{{% resume/project name="ParsaFood"
url="https://github.com/Kevin-Mok/ParsaFood" date="Feb. 2018"
show="true" %}}
- **Android** app that reads ingredient labels and detects any dietary
restrictions/allergies.
- Designed user interface and linked various functionality together.
- Made during a 24-hour [food-themed hackathon][Platterz Hackathon event]
in a group with two other members. Came in 2<sup>nd</sup> place and won
an [Oculus Rift][Oculus Rift Amazon].
[Parsafood repo]: https://github.com/Kevin-Mok/ParsaFood
[Platterz Hackathon event]:
https://www.eventbrite.com/e/platterz-hackathon-tickets-42682237722
[Oculus Rift Amazon]: https://www.amazon.ca/Oculus-Rift-Windows-VR-Headset/dp/B00VF0IXEY/ref=sr_1_1_sspa?ie=UTF8&qid=1520422949&sr=8-1-spons&keywords=oculus+rift&psc=1
{{% /resume/project %}}
<!--- ParsaFood }}} -->

View File

@@ -1,9 +0,0 @@
• Working on the Kogito (cloud-native, open-source business automation technology) Cloud Engineering team.
• Implemented ability for Kogito operator to fetch exposed protobuf files from a deployed service and update ConfigMap with data (*Kubernetes*, *Go*, KOGITO-3376).
• Reduced deployment time by 66% by implementing ability to deploy locally-compiled Kogito binaries onto OpenShift using only Kogito CLI (*Go*, KOGITO-2113).
• Added startup probes to handle starting legacy application containers that require additional startup time
(*Go*, KOGITO-4322).
• Refactored Kogito probes to have default values assigned based on deployed YAML/runtime while also fixing reconciliation issues (*Kubernetes*, *Go*, KOGITO-4898).
• Automated the promotion and release process for Kogito runtimes as part of the release pipeline (*Jenkins*, KOGITO-1653). Wrote unit tests in the Spock framework.
• Wrote documentation to onboard new Kogito operator developers and reduce friction needed for them to start contributing (*Kubernetes/minikube/OpenShift*, KOGITO-5127). Was completed as part of mentoring incoming intern to expedite initial onboarding process.
• Presented a talk based on my experience called "8 Things I Learned About Software Engineering" to an audience of 75+ in a conference for internship seekers.

View File

@@ -1,18 +0,0 @@
# To-Do
- check price of AWS server
- run Docker apps on it
- run domain
- run/create Docker compose
- Dockerize app
# Done
# Points
- run/deploy K8s locally on minikube using kubectl
- features
- Dockerize app
- run Docker on server (AWS)
# Replace
- personal server
- Astronofy

View File

@@ -5,12 +5,11 @@ draft: false
layout: single
js: ["server-table"]
---
Here is a list of apps that I am running on my [DigitalOcean
droplet][do-droplet]. Their [statuses] are updated every hour using a
Here is a list of apps that I am running a my [DigitalOcean
droplet][do-droplet]. Their statuses are updated every hour using a
[Node.js script][update-script] and a [systemd service]/[timer].
[do-droplet]: https://www.digitalocean.com/products/droplets/
[statuses]: https://kevin-mok.com/server-apps.json
[update-script]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-status.js
[systemd service]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.service
[timer]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.timer
[update-script]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-status.js

View File

@@ -1,69 +0,0 @@
{{ partial "base/header.html" . }}
{{ partial "base/site-title.html" . }}
{{ partial "base/nav-bar.html" . }}
{{ partial "base/base16-logo.html" . }}
<main role="main" id="card">
<div id="presentational-container" class="container">
<div class="row text-center h-100 my-auto">
<div id="email-full" class="h-100 mx-auto">
<p class="text-center">
<nobr>
me@kevin-mok.com
<span class="social"><span class="spacing">
me</span><span class="link-text">@kevi<span
class="safari">n</span>
<a href="https://fosstodon.org/@Kevin"
target="_blank" id="mastodon" class="link link-top">
<img src="https://kevin-mok.com/img/social/mastodon.svg" alt=""/>
</a></span>
</span>
<span class="social"><span class="spacing">
me@</span><span class="link-text">ke<span
class="safari">v</span>
<a href="https://www.linkedin.com/in/Kev-Mok" target="_blank"
target="_blank" class="link linkedin linkedin-left">
<img src="https://kevin-mok.com/img/social/linkedin.svg" alt=""/>
</a></span>
</span>
<span class="social"><span class="spacing">
me@kevin</span><span class="link-text">-mo<span
class="safari">k</span>
<a href="https://www.linkedin.com/in/Kev-Mok" target="_blank" class="link linkedin linkedin-left"></a></span>
</span>
<span class="social"><span class="spacing">
me@kev</span><span class="link-text">i<span
class="safari">n</span>
<a href="https://www.linkedin.com/in/Kev-Mok" target="_blank"
class="link linkedin linkedin-middle"></a></span>
</span>
<span class="social"><span class="spacing">
me@</span><span class="link-text">kevin-mo<span
class="safari">k</span>
<a href="https://github.com/Kevin-Mok" target="_blank" id="github" class="link">
<img src="https://kevin-mok.com/img/social/github.svg" alt=""/>
</a></span>
</span>
<span class="social"><span class="spacing">
me@</span><span class="link-text">kevin-mok.co<span
class="safari">m</span>
<a href="https://kevin-mok.com/" target="_blank" id="site" class="link">
<img src="https://kevin-mok.com/img/resume/link.svg" alt=""/>
</a></span>
</span>
<span class="social"><span class="link-text">me@kevin-mok.co<span class="safari">&nbsp;</span>
<a href="mailto:me@kevin-mok.com" target="_blank" id="email" class="link link-top">
<img src="https://kevin-mok.com/img/resume/envelope.svg" alt=""/>
</a></span>
</span>
</nobr>
</p>
</div>
</div>
</div>
</main>
{{ partial "base/footer.html" . }}

View File

@@ -1,22 +0,0 @@
{{ partial "base/header.html" . }}
{{ partial "base/site-title.html" . }}
{{ partial "base/nav-bar.html" . }}
{{ partial "base/base16-logo.html" . }}
<main role="main" id="letter-home">
<!-- <h1 class="list-title">{{ .Title }}</h1> -->
<h4 id="letter-instr">Please enter the full URL that I provided
for your personalized cover letter. :)</h4>
<div id="resume" class="letter">
{{ .Content }}
</div>
</main>
{{ partial "base/footer.html" . }}
</div>
</body>
</html>

View File

@@ -1,13 +0,0 @@
{{ partial "base/header.html" . }}
{{ partial "base/site-title.html" . }}
{{ partial "resume/contact-info.html" . }}
<div id="resume" class="letter">
{{ .Content }}
</div>
</div>
</body>
</html>

View File

@@ -7,49 +7,15 @@
<footer>
<div class="container">
<!-- <span class="copyright">&copy; {{ .Site.LastChange.Year }} {{ .Site.Title }} - <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a></span> -->
<div id="footer-row" class="row justify-content-center">
<span id="footer-content" class="name">
<span id="copyright" class="col-xs-6">
&copy; {{ now.Year }} {{ .Site.Title }} ·
<!-- <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a> · -->
<!-- <a href="{{ "credits" | relURL }}">Credits</a> · -->
</span>
<span id="social-icons" class="col-xs-4">
<a href="https://github.com/Kevin-Mok" target="_blank">
<img src="{{ "img/social/github.svg" | relURL }}"
alt="github-logo">
</a>
<a href="https://git.kevin-mok.com/Kevin-Mok?tab=activity" target="_blank">
<img src="{{ "img/social/gitea.svg" | relURL }}" alt="gitea-logo">
</a>
·
<a href="https://twitter.com/Kev_Mok" target="_blank">
<img src="{{ "img/social/twitter.svg" | relURL }}"
alt="twitter-logo">
</a>
<a rel="me" href="https://fosstodon.org/@Kevin" target="_blank">
<img src="{{ "img/social/mastodon.svg" | relURL }}"
alt="mastodon-logo">
</a>
<a href="https://www.reddit.com/u/Kevin-Mok" target="_blank">
<img src="{{ "img/social/reddit.svg" | relURL }}"
alt="reddit-logo">
</a>
.
<a href="https://www.linkedin.com/in/Kev-Mok" target="_blank">
<img src="{{ "img/social/linkedin.svg" | relURL }}" alt="linkedin-logo">
</a>
<a href="mailto:me@kevin-mok.com" target="_blank">
<img src="{{ "img/social/email.svg" | relURL }}"
alt="envelope">
</a>
</span>
<span class="col-xs-2">
</span>
</span>
</div>
<span class="copyright">
&copy; {{ now.Year }} {{ .Site.Title }} · <a rel="license"
href="http://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a> ·
<a href="{{ "credits" | relURL }}">Credits</a>
</span>
</div>
</footer>
</body>
</html>

View File

@@ -9,16 +9,16 @@
{{- with $.Param "author" }}
<meta name="author" content="{{ . }}">
{{- end }}
{{ hugo.Generator }}
{{ .Hugo.Generator }}
<meta name="google-site-verification" content="3aZhrY5bFgQY0HY2DNNUhbkuIfVEcwkrQHnbJd8jCCQ" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- <script src="https://cdn.khkm.tk/live.js" charset="utf-8"></script> -->
<script src="http://livejs.com/live.js" charset="utf-8"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<!-- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700" type="text/css"> -->
<!-- <link rel='stylesheet' href='//cdn.jsdelivr.net/npm/hack-font@3.3.0/build/web/hack-subset.css'> -->
<link rel='stylesheet' href='//cdn.jsdelivr.net/npm/hack-font@3.3.0/build/web/hack-subset.css'>
<!-- <link rel="stylesheet" href="https://meyerweb.com/eric/tools/css/reset/reset.css" type="text/css" media="all" /> -->
<link rel="stylesheet" href="{{ "css/style.css" | relURL }}" type="text/css">
{{ $main_sass := resources.Get "sass/main.scss" }}

View File

@@ -1,7 +1,7 @@
<h1 class="site-title">
<span class="surrounding">[</span><a href="{{ .Site.BaseURL }}"><span class="base08">K</span><span
[<a href="{{ .Site.BaseURL }}"><span class="base08">K</span><span
class="base0f">e</span><span class="base09">v</span><span
class="base0a">i</span><span class="base0b">n </span><span
class="base0c">M</span><span class="base0d">o</span><span
class="base0e">k</span></a><span class="surrounding">] # _</span>
class="base0e">k</span></a>] # _
</h1>

View File

@@ -1,22 +1,10 @@
<div id="about">
<h2>Welcome to my site!</h2>
<p>
I'm Kevin Mok. Here are a few things about myself!
<ul>
<li>I'm an Ex-Cloud Engineer Intern at
<a href="https://www.redhat.com/" target="_blank">Red Hat</a>.
</li>
<li>
I'm a Computer Science student at the University of
Toronto, graduating at the end of 2023 (currently
looking for a full-time position!).
</li>
<li>
I'm greatly interested in all things Linux and
<a href="https://www.gnu.org/philosophy/floss-and-foss.en.html"
target="_blank">FOSS/FLOSS</a>.
</li>
</ul>
I'm Kevin Mok - a 2<sup>nd</sup> year Computer Science
student at the University of Toronto, and I'm greatly interested in all things Linux and
<a href="https://www.gnu.org/philosophy/floss-and-foss.en.html"
target="_blank">FOSS/FLOSS</a>.
</p>
{{ partial "home/me-equation.html" . }}

View File

@@ -1,8 +1,14 @@
<div class="me-equation">
<div class="equation-part">
<a href="https://www.redhat.com/" target="_blank">
<img src="{{ "img/home/red-hat.svg" | relURL }}"
alt="red-hat-logo">
<a href="https://www.gnu.org/" target="_blank">
<img src="{{ "img/home/gnu.svg" | relURL }}" id="gnu" alt="gnu-logo">
</a>
<p>+</p>
</div>
<div class="equation-part">
<a href="https://www.wikiwand.com/en/Arch_Linux" target="_blank">
<img src="{{ "img/home/arch.svg" | relURL }}" alt="linux-logo">
<!-- <img src="{{ "img/home/larbs.png" | relURL }}" alt="linux-logo"> -->
</a>
<p>+</p>
</div>
@@ -10,14 +16,8 @@
<a href="https://www.utoronto.ca/" target="_blank">
<img src="{{ "img/home/uoft-logo.svg" | relURL }}" alt="uoft-logo">
</a>
<p>+</p>
</div>
<div class="equation-part">
<a href="https://www.gnu.org/" target="_blank">
<img src="{{ "img/home/gnu.svg" | relURL }}" id="gnu" alt="gnu-logo">
</a>
</div>
<p>=</p>
</div>
<div class="equation-part">
<img src="{{ "img/home/hexatar.png" | relURL }}" id="hexatar" alt="my-avatar">
</div>

View File

@@ -1,39 +1,15 @@
<div id="contact-info" class="container">
<div class="row row-top justify-content-center mx-auto">
<div id="phone-number" class="col text-left">
<a href="tel:647-685-2500" target="_blank">
<img src="{{ "img/resume/smartphone.svg" | relURL }}"
alt="smartphone-icon">
<span class="url-info">
647-685-2500
</span>
</a>
</div>
<div id="linkedin" class="col text-right">
<a href="https://www.linkedin.com/in/Kev-Mok" target="_blank">
<span class="url-info">
Kev-Mok
</span>
<img src="{{ "img/social/linkedin.svg" | relURL }}" alt="linkedin-icon">
</a>
</div>
<div id="contact-info">
<div id="phone-number">
<img src="{{ "img/resume/smartphone.svg" | relURL }}"
alt="smartphone-icon">:
<a href="tel:647-685-2500" target="_blank">647-685-2500</a>
</div>
<div class="row mx-auto">
<div id="email" class="col col-left">
<a href="mailto:me@kevin-mok.com" target="_blank">
<img src="{{ "img/resume/envelope.svg" | relURL }}" alt="envelope-icon">
<span class="url-info">
me@kevin-mok.com
</span>
</a>
</div>
<div id="website" class="col text-right">
<a href="https://kevin-mok.com/" target="_blank">
<span class="url-info">
kevin-mok.com
</span>
<img src="{{ "img/resume/link.svg" | relURL }}" alt="link-icon">
</a>
</div>
<div id="email">
<img src="{{ "img/resume/envelope.svg" | relURL }}" alt="envelope-icon">:
<a href="mailto:me@kevin-mok.com">me@kevin-mok.com</a>
</div>
<div id="website">
<img src="{{ "img/resume/link.svg" | relURL }}" alt="link-icon">:
<a href="https://kevin-mok.com/">kevin-mok.com</a>
</div>
</div>

View File

@@ -1,5 +1,5 @@
<div id="print-icon">
<a href="{{ "pdf/kevin-mok-resume.pdf" | relURL }}" target="_blank">
<a href="{{ "kevin-mok-resume.pdf" | relURL }}" target="_blank">
<img src="{{ "img/resume/printer.svg" | relURL }}" alt="printer-icon">
</a>
</div>

View File

@@ -6,6 +6,8 @@
{{ partial "resume/contact-info.html" . }}
{{ partial "base/base16-logo.html" . }}
<div id="resume">
{{ .Content }}

View File

@@ -1 +1,4 @@
User-agent: *
Allow: /$
Disallow: /

View File

@@ -1,14 +0,0 @@
<div class="education">
<div class="row">
<div class="col-8 text-left">
<p class="institution">
{{ .Get "name" }}
</p>
</div>
<div class="col text-right date">{{ .Get "date" }}</div>
</div>
<!-- <span class="title"> -->
<span>
{{ .Get "title" }}
</span>
</div>

View File

@@ -1,8 +0,0 @@
<div id="print-icon">
{{ $type := .Get "type" }}
{{ $code := .Get "code" }}
{{ $pdfName := print "pdf/kevin-mok-" $type "-" $code ".pdf" }}
<a href="{{ $pdfName | relURL }}" target="_blank">
<img src="{{ "img/resume/printer.svg" | relURL }}" alt="printer-icon">
</a>
</div>

View File

@@ -1,4 +0,0 @@
{{ $_hugo_config := `{ "version": 1 }` }}
<div class="no-line-spacing">
{{ .Inner }}
</div>

View File

@@ -1,15 +1,16 @@
<div class="project">
<div class="row project-header">
<div class="col-8 text-left">
<h2 class="project-title">
{{ .Get "name" }}
</h2>
</div>
<div class="col-4 text-right date">{{ .Get "date" }}</div>
</div>
<a class="project-link" href="{{ .Get "url" }}" target="_blank">
<img src="{{ "img/resume/link.svg" | relURL }}" alt="link-icon">
</a>
<button class="btn" type="button" data-toggle="collapse"
data-target="#{{ .Get "name" | lower | urlize }}-details"
aria-expanded="false" aria-controls="{{ .Get "name" | lower | urlize }}-details">
<h2 class="project-title">{{ .Get "name" }}</h2>
</button>
<div class="date">{{ .Get "date" }}</div>
<div class="collapse{{ with .Get "show" }} show{{ end }}" id="{{ .Get "name" | lower | urlize }}-details">
<div>
{{ .Inner }}
</div>
</div>
</div>
</div>

View File

@@ -1,10 +0,0 @@
<div class="references">
<span>
See my LinkedIn for
<a href="https://www.linkedin.com/in/kev-mok/details/recommendations/?detailScreenTabIndex=0"
target="_blank">
references</a> from my
Red Hat managers/mentee, a startup client and a graduate
student mentor.
</span>
</div>

View File

@@ -1,14 +0,0 @@
<div class="work-experience">
<div class="row">
<div class="col-8 text-left">
<p class="company">
{{ .Get "name" }}
</p>
</div>
<div class="col text-right date">{{ .Get "date" }}</div>
</div>
<!-- <span class="title"> -->
<span class="position">
{{ .Get "title" }}
</span>
</div>

View File

@@ -1,21 +0,0 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
{{ range .Data.Pages }}{{ if ne .Params.sitemap_exclude true }}
<url>
<loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
<lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
<changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
<priority>{{ .Sitemap.Priority }}</priority>{{ end }}{{ if .IsTranslated }}{{ range .Translations }}
<xhtml:link
rel="alternate"
hreflang="{{ .Lang }}"
href="{{ .Permalink }}"
/>{{ end }}
<xhtml:link
rel="alternate"
hreflang="{{ .Lang }}"
href="{{ .Permalink }}"
/>{{ end }}
</url>
{{ end }}{{ end }}
</urlset>

View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" id="b6bdd2b4-52ab-488a-9a30-1e6d1d7dd2d4" data-name="Layer 1" viewBox="0 0 192.30001 146" version="1.1" sodipodi:docname="logo.svg" width="192.3" height="146" inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
<metadata id="metadata15">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1920" inkscape:window-height="1007" id="namedview13" showgrid="false" fit-margin-top="1" fit-margin-right="1" fit-margin-bottom="1" fit-margin-left="1" inkscape:zoom="0.45930043" inkscape:cx="306.89999" inkscape:cy="73" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="b6bdd2b4-52ab-488a-9a30-1e6d1d7dd2d4"/>
<defs id="defs4">
<style id="style2">.a737459c-e8c7-4afa-8008-f6cfd15ccda2{fill:#e00;}</style>
</defs>
<path class="a737459c-e8c7-4afa-8008-f6cfd15ccda2" d="m 128,84 c 12.5,0 30.6,-2.6 30.6,-17.5 a 19.53,19.53 0 0 0 -0.3,-3.4 L 150.9,30.7 C 149.2,23.6 147.7,20.3 135.2,14.1 125.5,9.1 104.4,1 98.1,1 92.2,1 90.5,8.5 83.6,8.5 76.9,8.5 72,2.9 65.7,2.9 c -6,0 -9.9,4.1 -12.9,12.5 0,0 -8.4,23.7 -9.5,27.2 a 6.15,6.15 0 0 0 -0.2,1.9 C 43,53.7 79.3,83.9 128,84 m 32.5,-11.4 c 1.7,8.2 1.7,9.1 1.7,10.1 0,14 -15.7,21.8 -36.4,21.8 C 79,104.5 38.1,77.1 38.1,59 a 18.35,18.35 0 0 1 1.5,-7.3 C 22.8,52.5 1,55.5 1,74.7 1,106.2 75.6,145 134.6,145 c 45.3,0 56.7,-20.5 56.7,-36.7 0,-12.7 -11,-27.1 -30.8,-35.7" id="path8" inkscape:connector-curvature="0" style="fill:#ee0000"/>
<path d="m 160.5,72.6 c 1.7,8.2 1.7,9.1 1.7,10.1 0,14 -15.7,21.8 -36.4,21.8 C 79,104.5 38.1,77.1 38.1,59 a 18.35,18.35 0 0 1 1.5,-7.3 l 3.7,-9.1 a 6.15,6.15 0 0 0 -0.2,1.9 c 0,9.2 36.3,39.4 84.9,39.4 12.5,0 30.6,-2.6 30.6,-17.5 A 19.53,19.53 0 0 0 158.3,63 Z" id="path10" inkscape:connector-curvature="0"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 580 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 465 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 467 KiB

View File

@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 504.124 504.124" style="enable-background:new 0 0 504.124 504.124;" xml:space="preserve">
<path style="fill:#D07C40;" d="M0,200.862L252.062,51.2l252.062,149.662v220.554H0V200.862z"/>
<path style="fill:#EFEFEF;" d="M55.138,11.815h393.846c8.665,0,15.754,7.089,15.754,15.754v275.692
c0,8.665-7.089,15.754-15.754,15.754H55.138c-8.665,0-15.754-7.089-15.754-15.754V27.569C39.385,18.905,46.474,11.815,55.138,11.815
z"/>
<path style="fill:#26A6D1;" d="M415.902,43.323l25.206-31.508h7.877c8.665,0,15.754,7.089,15.754,15.754v15.754H415.902z
M211.102,43.323l25.206-31.508h55.138L266.24,43.323H211.102z M39.385,43.323V27.569c0-8.665,7.089-15.754,15.754-15.754h39.385
L69.317,43.323H39.385z"/>
<path style="fill:#EFC75E;" d="M504.123,468.677c0,12.997-10.634,23.631-23.631,23.631H23.631C10.634,492.309,0,481.674,0,468.677
V200.862l252.062,110.277l252.062-110.277v267.815H504.123z"/>
<path style="fill:#E8C15B;" d="M504.123,468.677c0,12.997-10.634,23.631-23.631,23.631H23.631C10.634,492.309,0,481.674,0,468.677
v-47.262l504.123-220.554V468.677z"/>
<path style="fill:#D6D9DB;" d="M160.295,151.631l3.151,16.542l-25.206-39.385l-35.446,55.138c-0.394,5.12,22.449,9.058,50.806,9.058
s51.2-3.938,51.2-9.058l-31.114-46.08C173.686,137.846,160.295,151.631,160.295,151.631z M163.446,129.969
c5.514,0,9.846-4.332,9.846-9.846s-4.332-9.846-9.846-9.846s-9.846,4.332-9.846,9.846S157.932,129.969,163.446,129.969z
M244.185,126.031h157.538c4.332,0,7.877-3.545,7.877-7.877s-3.545-7.877-7.877-7.877H244.185c-4.332,0-7.877,3.545-7.877,7.877
S239.852,126.031,244.185,126.031z M401.723,141.785H244.185c-4.332,0-7.877,3.545-7.877,7.877s3.545,7.877,7.877,7.877h157.538
c4.332,0,7.877-3.545,7.877-7.877C409.6,145.329,406.055,141.785,401.723,141.785z M362.338,173.292H244.185
c-4.332,0-7.877,3.545-7.877,7.877s3.545,7.877,7.877,7.877h118.154c4.332,0,7.877-3.545,7.877-7.877
C370.215,176.837,366.671,173.292,362.338,173.292z"/>
<path style="fill:#E2574C;" d="M313.502,43.323l25.206-31.508h55.138L368.64,43.323H313.502z M108.702,43.323l25.206-31.508h55.138
L163.84,43.323H108.702z"/>
<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>

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,160 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="512"
height="512"
viewBox="0 0 135.46667 135.46667"
version="1.1"
id="svg8"
sodipodi:docname="logo.svg"
inkscape:version="0.92.1 r15371"
inkscape:export-filename=""
inkscape:export-xdpi="48.000004"
inkscape:export-ydpi="48.000004">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="0.70710678"
inkscape:cx="418.13805"
inkscape:cy="177.57445"
inkscape:document-units="mm"
inkscape:current-layer="layer2"
showgrid="false"
units="px"
width="256px"
showguides="false"
inkscape:window-width="1920"
inkscape:window-height="1137"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:pagecheckerboard="false"
inkscape:measure-start="283.373,243.952"
inkscape:measure-end="290.267,236.527">
<sodipodi:guide
position="0,0"
orientation="0,512"
id="guide3699"
inkscape:locked="false" />
<sodipodi:guide
position="135.46667,0"
orientation="-512,0"
id="guide3701"
inkscape:locked="false" />
<sodipodi:guide
position="135.46667,135.46667"
orientation="0,-512"
id="guide3703"
inkscape:locked="false" />
<sodipodi:guide
position="0,135.46667"
orientation="512,0"
id="guide3705"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-161.53334)"
style="display:inline">
<path
style="fill:#609926;fill-opacity:1;stroke:#428f29;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 27.709937,195.15095 c -9.546573,-0.0272 -22.3392732,6.79805 -21.6317552,23.90397 1.105534,26.72889 25.4565952,29.20839 35.1916502,29.42301 1.068023,5.01357 12.521798,22.30563 21.001818,23.21667 h 37.15277 c 22.27763,-1.66785 38.9607,-75.75671 26.59321,-76.03825 -46.781583,2.47691 -49.995146,2.13838 -88.599758,0 -2.495053,-0.0266 -5.972321,-0.49474 -9.707935,-0.5054 z m 2.491319,9.45886 c 1.351378,13.69267 3.555849,21.70359 8.018216,33.94345 -11.382872,-1.50473 -21.069822,-5.22443 -22.851515,-19.10984 -0.950962,-7.4112 2.390428,-15.16769 14.833299,-14.83361 z"
id="path3722"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sscccccsccsc" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2"
style="display:inline">
<rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.24757317;stroke-opacity:1"
id="rect4599"
width="34.762054"
height="34.762054"
x="87.508659"
y="18.291576"
transform="rotate(25.914715)"
ry="5.4825778" />
<path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26644793px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 79.804947,57.359056 3.241146,1.609954 V 35.255731 h -3.262698 z"
id="path4525"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Layer 3"
style="display:inline">
<g
style="display:inline"
id="g4539">
<circle
transform="rotate(-19.796137)"
r="3.4745038"
cy="90.077766"
cx="49.064713"
id="path4606"
style="fill:#609926;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1" />
<circle
transform="rotate(-19.796137)"
r="3.4745038"
cy="102.1049"
cx="36.810425"
id="path4606-3"
style="fill:#609926;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1" />
<circle
transform="rotate(-19.796137)"
r="3.4745038"
cy="111.43928"
cx="46.484283"
id="path4606-1"
style="fill:#609926;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1" />
<rect
transform="rotate(26.024158)"
y="18.061695"
x="97.333458"
height="27.261492"
width="2.6726954"
id="rect4629-8"
style="fill:#609926;fill-opacity:1;stroke:none;stroke-width:0.27444693;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4514"
d="m 76.558096,68.116343 c 12.97589,6.395378 13.012989,4.101862 4.890858,20.907244"
style="fill:none;stroke:#609926;stroke-width:2.68000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -1,59 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- 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">
<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="438.549px" height="438.549px" viewBox="0 0 438.549 438.549" style="enable-background:new 0 0 438.549 438.549;"
xml:space="preserve">
<g>
<path d="M409.132,114.573c-19.608-33.596-46.205-60.194-79.798-79.8C295.736,15.166,259.057,5.365,219.271,5.365
c-39.781,0-76.472,9.804-110.063,29.408c-33.596,19.605-60.192,46.204-79.8,79.8C9.803,148.168,0,184.854,0,224.63
c0,47.78,13.94,90.745,41.827,128.906c27.884,38.164,63.906,64.572,108.063,79.227c5.14,0.954,8.945,0.283,11.419-1.996
c2.475-2.282,3.711-5.14,3.711-8.562c0-0.571-0.049-5.708-0.144-15.417c-0.098-9.709-0.144-18.179-0.144-25.406l-6.567,1.136
c-4.187,0.767-9.469,1.092-15.846,1c-6.374-0.089-12.991-0.757-19.842-1.999c-6.854-1.231-13.229-4.086-19.13-8.559
c-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559
c-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-0.951-2.568-2.098-3.711-3.429c-1.142-1.331-1.997-2.663-2.568-3.997
c-0.572-1.335-0.098-2.43,1.427-3.289c1.525-0.859,4.281-1.276,8.28-1.276l5.708,0.853c3.807,0.763,8.516,3.042,14.133,6.851
c5.614,3.806,10.229,8.754,13.846,14.842c4.38,7.806,9.657,13.754,15.846,17.847c6.184,4.093,12.419,6.136,18.699,6.136
c6.28,0,11.704-0.476,16.274-1.423c4.565-0.952,8.848-2.383,12.847-4.285c1.713-12.758,6.377-22.559,13.988-29.41
c-10.848-1.14-20.601-2.857-29.264-5.14c-8.658-2.286-17.605-5.996-26.835-11.14c-9.235-5.137-16.896-11.516-22.985-19.126
c-6.09-7.614-11.088-17.61-14.987-29.979c-3.901-12.374-5.852-26.648-5.852-42.826c0-23.035,7.52-42.637,22.557-58.817
c-7.044-17.318-6.379-36.732,1.997-58.24c5.52-1.715,13.706-0.428,24.554,3.853c10.85,4.283,18.794,7.952,23.84,10.994
c5.046,3.041,9.089,5.618,12.135,7.708c17.705-4.947,35.976-7.421,54.818-7.421s37.117,2.474,54.823,7.421l10.849-6.849
c7.419-4.57,16.18-8.758,26.262-12.565c10.088-3.805,17.802-4.853,23.134-3.138c8.562,21.509,9.325,40.922,2.279,58.24
c15.036,16.18,22.559,35.787,22.559,58.817c0,16.178-1.958,30.497-5.853,42.966c-3.9,12.471-8.941,22.457-15.125,29.979
c-6.191,7.521-13.901,13.85-23.131,18.986c-9.232,5.14-18.182,8.85-26.84,11.136c-8.662,2.286-18.415,4.004-29.263,5.146
c9.894,8.562,14.842,22.077,14.842,40.539v60.237c0,3.422,1.19,6.279,3.572,8.562c2.379,2.279,6.136,2.95,11.276,1.995
c44.163-14.653,80.185-41.062,108.068-79.226c27.88-38.161,41.825-81.126,41.825-128.906
C438.536,184.851,428.728,148.168,409.132,114.573z"/>
</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>

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,44 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 382 382" style="enable-background:new 0 0 382 382;" xml:space="preserve">
<path style="fill:#0077B7;" d="M347.445,0H34.555C15.471,0,0,15.471,0,34.555v312.889C0,366.529,15.471,382,34.555,382h312.889
C366.529,382,382,366.529,382,347.444V34.555C382,15.471,366.529,0,347.445,0z M118.207,329.844c0,5.554-4.502,10.056-10.056,10.056
H65.345c-5.554,0-10.056-4.502-10.056-10.056V150.403c0-5.554,4.502-10.056,10.056-10.056h42.806
c5.554,0,10.056,4.502,10.056,10.056V329.844z M86.748,123.432c-22.459,0-40.666-18.207-40.666-40.666S64.289,42.1,86.748,42.1
s40.666,18.207,40.666,40.666S109.208,123.432,86.748,123.432z M341.91,330.654c0,5.106-4.14,9.246-9.246,9.246H286.73
c-5.106,0-9.246-4.14-9.246-9.246v-84.168c0-12.556,3.683-55.021-32.813-55.021c-28.309,0-34.051,29.066-35.204,42.11v97.079
c0,5.106-4.139,9.246-9.246,9.246h-44.426c-5.106,0-9.246-4.14-9.246-9.246V149.593c0-5.106,4.14-9.246,9.246-9.246h44.426
c5.106,0,9.246,4.14,9.246,9.246v15.655c10.497-15.753,26.097-27.912,59.312-27.912c73.552,0,73.131,68.716,73.131,106.472
L341.91,330.654L341.91,330.654z"/>
<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>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="61.076954mm" height="65.47831mm" viewBox="0 0 216.4144 232.00976"><path d="M211.80734 139.0875c-3.18125 16.36625-28.4925 34.2775-57.5625 37.74875-15.15875 1.80875-30.08375 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.39125 27.9425 21.11625.7225 39.91875-5.20625 39.91875-5.20625l.8675 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23234 213.82 1.40609 165.31125.20859 116.09125c-.365-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67234 3.45375 78.20359.2425 107.86484 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.975 14.7525 32.975 65.0825 0 0 .41375 37.13375-4.59875 62.915" fill="#3088d4"/><path d="M177.50984 80.077v60.94125h-24.14375v-59.15c0-12.46875-5.24625-18.7975-15.74-18.7975-11.6025 0-17.4175 7.5075-17.4175 22.3525v32.37625H96.20734V85.42325c0-14.845-5.81625-22.3525-17.41875-22.3525-10.49375 0-15.74 6.32875-15.74 18.7975v59.15H38.90484V80.077c0-12.455 3.17125-22.3525 9.54125-29.675 6.56875-7.3225 15.17125-11.07625 25.85-11.07625 12.355 0 21.71125 4.74875 27.8975 14.2475l6.01375 10.08125 6.015-10.08125c6.185-9.49875 15.54125-14.2475 27.8975-14.2475 10.6775 0 19.28 3.75375 25.85 11.07625 6.36875 7.3225 9.54 17.22 9.54 29.675" fill="#fff"/></svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><path fill="#FFF" d="M12.193 19.555c-1.94-1.741-4.79-1.727-6.365.029-1.576 1.756-1.301 5.023.926 6.632L12.193 19.555zM35.807 19.555c1.939-1.741 4.789-1.727 6.365.029 1.575 1.756 1.302 5.023-.927 6.632L35.807 19.555zM38.32 6.975A3.5 3.5 0 1 0 38.32 13.975 3.5 3.5 0 1 0 38.32 6.975z"/><path fill="#FFF" d="M24.085 15.665000000000001A18.085 12.946 0 1 0 24.085 41.557A18.085 12.946 0 1 0 24.085 15.665000000000001Z"/><g><path fill="#D84315" d="M30.365 23.506A2.884 2.884 0 1 0 30.365 29.274 2.884 2.884 0 1 0 30.365 23.506zM17.635 23.506A2.884 2.884 0 1 0 17.635 29.274 2.884 2.884 0 1 0 17.635 23.506z"/></g><g><path fill="#37474F" d="M24.002 34.902c-3.252 0-6.14-.745-8.002-1.902 1.024 2.044 4.196 4 8.002 4 3.802 0 6.976-1.956 7.998-4C30.143 34.157 27.254 34.902 24.002 34.902zM41.83 27.026l-1.17-1.621c.831-.6 1.373-1.556 1.488-2.623.105-.98-.157-1.903-.721-2.531-.571-.637-1.391-.99-2.307-.994-.927.013-1.894.365-2.646 1.041l-1.336-1.488c1.123-1.008 2.545-1.523 3.991-1.553 1.488.007 2.833.596 3.786 1.658.942 1.05 1.387 2.537 1.221 4.081C43.961 24.626 43.121 26.096 41.83 27.026zM6.169 27.026c-1.29-.932-2.131-2.401-2.306-4.031-.166-1.543.279-3.03 1.221-4.079.953-1.062 2.297-1.651 3.785-1.658.009 0 .018 0 .027 0 1.441 0 2.849.551 3.965 1.553l-1.336 1.488c-.753-.676-1.689-1.005-2.646-1.041-.916.004-1.735.357-2.306.994-.563.628-.826 1.55-.721 2.53.115 1.067.657 2.023 1.488 2.624L6.169 27.026zM25 16.84h-2c0-2.885 0-10.548 4.979-10.548 2.154 0 3.193 1.211 3.952 2.096.629.734.961 1.086 1.616 1.086h1.37v2h-1.37c-1.604 0-2.453-.99-3.135-1.785-.67-.781-1.198-1.398-2.434-1.398C25.975 8.292 25 11.088 25 16.84z"/><path fill="#37474F" d="M24.085 16.95c9.421 0 17.085 5.231 17.085 11.661 0 6.431-7.664 11.662-17.085 11.662S7 35.042 7 28.611C7 22.181 14.664 16.95 24.085 16.95M24.085 14.95C13.544 14.95 5 21.066 5 28.611c0 7.546 8.545 13.662 19.085 13.662 10.54 0 19.085-6.116 19.085-13.662C43.17 21.066 34.625 14.95 24.085 14.95L24.085 14.95zM38.32 7.975c1.379 0 2.5 1.122 2.5 2.5s-1.121 2.5-2.5 2.5-2.5-1.122-2.5-2.5S36.941 7.975 38.32 7.975M38.32 5.975c-2.484 0-4.5 2.015-4.5 4.5s2.016 4.5 4.5 4.5c2.486 0 4.5-2.015 4.5-4.5S40.807 5.975 38.32 5.975L38.32 5.975z"/></g></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="240px" height="240px"><linearGradient id="_osn9zIN2f6RhTsY8WhY4a" x1="10.341" x2="40.798" y1="8.312" y2="38.769" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#2aa4f4"/><stop offset="1" stop-color="#007ad9"/></linearGradient><path fill="url(#_osn9zIN2f6RhTsY8WhY4a)" d="M46.105,11.02c-1.551,0.687-3.219,1.145-4.979,1.362c1.789-1.062,3.166-2.756,3.812-4.758 c-1.674,0.981-3.529,1.702-5.502,2.082C37.86,8.036,35.612,7,33.122,7c-4.783,0-8.661,3.843-8.661,8.582 c0,0.671,0.079,1.324,0.226,1.958c-7.196-0.361-13.579-3.782-17.849-8.974c-0.75,1.269-1.172,2.754-1.172,4.322 c0,2.979,1.525,5.602,3.851,7.147c-1.42-0.043-2.756-0.438-3.926-1.072c0,0.026,0,0.064,0,0.101c0,4.163,2.986,7.63,6.944,8.419 c-0.723,0.198-1.488,0.308-2.276,0.308c-0.559,0-1.104-0.063-1.632-0.158c1.102,3.402,4.299,5.889,8.087,5.963 c-2.964,2.298-6.697,3.674-10.756,3.674c-0.701,0-1.387-0.04-2.065-0.122C7.73,39.577,12.283,41,17.171,41 c15.927,0,24.641-13.079,24.641-24.426c0-0.372-0.012-0.742-0.029-1.108C43.483,14.265,44.948,12.751,46.105,11.02"/></svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/kevin-mok-resume.pdf Normal file

Binary file not shown.

Submodule static/pdf deleted from ffdbd320a0

View File

@@ -38,9 +38,6 @@ const generateTable = (table, data) => {
aElem.textContent = elem['shortUrl']
cell.appendChild(aElem)
break
case 'description':
cell.innerHTML = elem[key]
break
case 'repo':
aElem.href = elem['repoUrl']
aElem.textContent = elem[key]