Initial resume, organize partials
This commit is contained in:
@@ -407,6 +407,31 @@ footer {// {{{
|
||||
margin-right: 2em;
|
||||
} */// }}}
|
||||
|
||||
#resume {
|
||||
a {
|
||||
text-decoration: none;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: $base-orange;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: $base-yellow;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
p {
|
||||
&.project-date {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// TODO: converted up to here
|
||||
|
||||
// hero {{{ //
|
||||
@@ -517,23 +542,43 @@ h1.site-title {// {{{
|
||||
|
||||
// article.single {{{ //
|
||||
|
||||
article.single .meta {
|
||||
font-size: 0.9em;
|
||||
text-align: right;
|
||||
}
|
||||
article.single {
|
||||
.meta {
|
||||
font-size: 0.9em;
|
||||
text-align: right;
|
||||
margin-top: .5rem;
|
||||
margin-bottom: .5rem;
|
||||
|
||||
article.single .meta .key {
|
||||
color: #747369;
|
||||
}
|
||||
.key {
|
||||
color: #747369;
|
||||
}
|
||||
|
||||
article.single .meta .val, article.single .meta .val a {
|
||||
color: #cc99cc;
|
||||
}
|
||||
.val {
|
||||
color: #cc99cc;
|
||||
|
||||
a {
|
||||
color: #cc99cc;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.body {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 3rem;
|
||||
}
|
||||
|
||||
@media (max-width: $max-page-width) {
|
||||
.meta {
|
||||
padding-left: 2rem;
|
||||
padding-right: 2rem;
|
||||
}
|
||||
|
||||
.body {
|
||||
padding-top: .5rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
@media (max-width: $max-page-width) {
|
||||
article.single .meta {
|
||||
padding-left: 2rem;
|
||||
padding-right: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -550,18 +595,6 @@ article.single h1.headline {
|
||||
}
|
||||
}
|
||||
|
||||
article.single section.body {
|
||||
padding-top: 4rem;
|
||||
padding-bottom: 3rem;
|
||||
}
|
||||
|
||||
@media (max-width: $max-page-width) {
|
||||
article.single section.body {
|
||||
padding-top: 2rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
/* Highlight Colors */
|
||||
|
||||
article.single section.body h1 { color: #6699cc; }
|
||||
|
||||
13
config.yaml
13
config.yaml
@@ -1,8 +1,9 @@
|
||||
baseURL: http://localhost:1313/
|
||||
# baseURL: https://kevin-mok.com/
|
||||
# baseURL: http://localhost:1313/
|
||||
baseURL: https://kevin-mok.com/
|
||||
# baseURL: /home/kevin/coding/mf-site/public
|
||||
languageCode: en-us
|
||||
title: Kevin Mok's Website
|
||||
# title: Kevin Mok's Website
|
||||
title: Kevin Mok
|
||||
# theme: base16
|
||||
enableRobotsTXT: true
|
||||
pygmentsUseClassic: true
|
||||
@@ -16,9 +17,9 @@ menu:
|
||||
- name: resume
|
||||
url: /resume
|
||||
weight: 5
|
||||
- name: posts/
|
||||
url: /posts
|
||||
weight: 6
|
||||
# - name: posts/
|
||||
# url: /posts
|
||||
# weight: 6
|
||||
# - name: credits
|
||||
# url: /credits
|
||||
# weight: 10
|
||||
|
||||
26
content/posts/outage-night.md
Normal file
26
content/posts/outage-night.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
---
|
||||
- procrastinating on assignment
|
||||
- want to play Pokemon randomizer
|
||||
- upgrade compiler packages
|
||||
- randomizer doesn't work
|
||||
- boot to Windows
|
||||
- Arch broke
|
||||
- backup HD not working
|
||||
- laptop wifi stopped working
|
||||
- copy to USB
|
||||
- extract and works
|
||||
- pacman upgrade
|
||||
- conflicting files
|
||||
- finally work
|
||||
- power outage
|
||||
- go to bed
|
||||
- lamp turns back on
|
||||
- PC doesn't start
|
||||
- try unplugging/battery 3-4 times
|
||||
- about to go to bed
|
||||
- try unplugging one last time
|
||||
- turns back on
|
||||
- kernel issues
|
||||
- accidentally overwrite backup on USB
|
||||
- don't want to wait for copy on laptop
|
||||
@@ -3,7 +3,33 @@ title: Wallpaper Playlist for pywal
|
||||
date: 2019-02-16T11:42:33-05:00
|
||||
draft: false
|
||||
---
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
|
||||
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
|
||||
no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
|
||||
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
|
||||
no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
|
||||
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
|
||||
no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
|
||||
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
|
||||
no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
|
||||
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
|
||||
no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
|
||||
{{< highlight sh >}}
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
shuffle_cache="shuffle.txt"
|
||||
@@ -18,6 +44,7 @@ function usage_msg() {
|
||||
EOF
|
||||
}
|
||||
|
||||
# parse for regen_flag{{{
|
||||
while getopts ":r" opt; do
|
||||
case $opt in
|
||||
r)
|
||||
@@ -31,6 +58,9 @@ while getopts ":r" opt; do
|
||||
;;
|
||||
esac
|
||||
done
|
||||
#}}}
|
||||
|
||||
# set dir {{{ #
|
||||
|
||||
shift $((OPTIND-1))
|
||||
# if no dir, use pwd
|
||||
@@ -43,12 +73,16 @@ else
|
||||
dir="$1"
|
||||
fi
|
||||
|
||||
# }}} set dir #
|
||||
|
||||
# rebuild shuffle cache if regen_flag, doesn't exist or file empty
|
||||
if [[ "$regen_flag" -eq 1 ]] || [[ ! -f "$dir"/"$shuffle_cache" ]] || \
|
||||
[[ $(wc -l "$dir"/"$shuffle_cache" | awk '{print $1}') -eq 0 ]]; then
|
||||
find "$dir"/* ! -name "$shuffle_cache" -type f | shuf > \
|
||||
"$dir"/"$shuffle_cache"
|
||||
[[ "$(head -n 1 "$dir"/"$shuffle_cache")" = "" ]]; then
|
||||
find "$dir"/* ! -name "$shuffle_cache" -type f | shuf > "$dir"/"$shuffle_cache"
|
||||
fi
|
||||
head -n 1 "$dir"/"$shuffle_cache"
|
||||
printf '%s\n\n' "$(sed '1d' "$dir"/"$shuffle_cache")" > "$dir"/"$shuffle_cache"
|
||||
|
||||
# vim: set tabstop=2 shiftwidth=2 expandtab:
|
||||
|
||||
{{< /highlight >}}
|
||||
|
||||
@@ -1,6 +1,79 @@
|
||||
---
|
||||
title: "Resume"
|
||||
date: 2019-02-11T07:50:51-05:00
|
||||
draft: true
|
||||
draft: false
|
||||
---
|
||||
Test
|
||||
{{% resume/section goal %}}<!--- {{{ -->
|
||||
|
||||
To find an internship to fully dedicate myself that will test my limits,
|
||||
provide the opportunity to gain valuable knowledge and experience and
|
||||
jumpstart my career with a solid foundation.
|
||||
|
||||
<!--- }}} -->
|
||||
|
||||
{{% resume/section projects %}}<!--- {{{ -->
|
||||
|
||||
<!--- Spotify Graphs {{{ -->
|
||||
|
||||
{{< resume/project-header name="Spotify Visualizer" url="https://github.com/Kevin-Mok/spotify-lib-vis" date="July 2018" >}}
|
||||
|
||||
{{% resume/project-details %}}
|
||||
|
||||
- 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.
|
||||
|
||||
[d3 graph examples]: https://github.com/d3/d3/wiki/Gallery
|
||||
|
||||
{{% /resume/project-details %}}
|
||||
|
||||
<!--- Spotify Graphs }}} -->
|
||||
|
||||
<!--- ParsaFood {{{ -->
|
||||
|
||||
{{< resume/project-header name="ParsaFood" url="https://github.com/Kevin-Mok/ParsaFood" date="Feb. 2018" >}}
|
||||
|
||||
{{% resume/project-details %}}
|
||||
- Android app that reads ingredients labels and detects any dietary
|
||||
restrictions/allergies. Came up with the idea based on
|
||||
[personal experience][Parsafood motivation].
|
||||
- Made during the 24-hour [Platterz Hackathon][Platterz Hackathon event] in
|
||||
a group with two other members. Came in 2nd place and won an
|
||||
[Oculus Rift][Oculus Rift Amazon].
|
||||
|
||||
[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-details %}}
|
||||
|
||||
<!--- ParsaFood }}} -->
|
||||
|
||||
<!--- Grocery Finder {{{ -->
|
||||
|
||||
{{< resume/project-header name="Grocery Finder" url="https://github.com/Kevin-Mok/grocery-finder" date="April 2019" >}}
|
||||
|
||||
{{% resume/project-details %}}
|
||||
- Proof of concept for a web app that finds the best supermarket for your needs.
|
||||
- Took on role as project leader to prioritize and delegate tasks while
|
||||
also implementing a majority of the core features.
|
||||
- Responsive front-end using Bootstrap. Uses Node.js and MongoDB for back-end.
|
||||
- Currently deployed on [Heroku][Grocery Finder Heroku].
|
||||
|
||||
[Grocery Finder Heroku]: http://www.grocery-finder.ml
|
||||
|
||||
{{% /resume/project-details %}}
|
||||
|
||||
|
||||
<!--- Grocery Finder }}} -->
|
||||
|
||||
{{% /resume/section %}}<!--- }}} -->
|
||||
|
||||
{{% resume/section education %}}<!--- {{{ -->
|
||||
|
||||
- **University of Toronto**: Computer Science Specialist <div style="float:right">2017-2021</div>
|
||||
|
||||
{{% /resume/section %}}<!--- }}} -->
|
||||
|
||||
18
ideas.md
18
ideas.md
@@ -1,12 +1,28 @@
|
||||
# Large
|
||||
- resume
|
||||
- make old proj's displayable
|
||||
- spv
|
||||
- screenshots
|
||||
- setup instructions
|
||||
- see if SoundCloud API still bad (TrapBot)
|
||||
- ADA vid/pics
|
||||
- lc setup
|
||||
- image tagger?
|
||||
- executable
|
||||
- date on same line as project
|
||||
- collapsible sections
|
||||
- link to each section beside it
|
||||
- fix title
|
||||
- collapsible sections
|
||||
- more
|
||||
- printable version
|
||||
- JS to change CSS
|
||||
- list of things done with diff. langs.
|
||||
- add CSS grid layout
|
||||
- add tooltip saying responsive
|
||||
- articles (ideas)
|
||||
- screenshots gallery
|
||||
- infinite scroll
|
||||
|
||||
- loop through URL sections
|
||||
- ask about most efficient way for custom layout for each section
|
||||
@@ -38,6 +54,8 @@
|
||||
- SEO
|
||||
- add/redirect aliases
|
||||
- be more specific with robots.txt when have content
|
||||
- create different size images for SVG
|
||||
- https://www.sitepoint.com/svg-good-for-website-performance/
|
||||
|
||||
Break> {{{
|
||||
> }}}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{{ partial "header.html" . }}
|
||||
{{ partial "base/header.html" . }}
|
||||
|
||||
<main role="main" class="page-not-found">
|
||||
|
||||
@@ -13,4 +13,4 @@
|
||||
|
||||
</main>
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
{{ partial "base/footer.html" . }}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{{ partial "header.html" . }}
|
||||
{{ partial "base/header.html" . }}
|
||||
|
||||
{{ partial "site-title.html" . }}
|
||||
{{ partial "base/site-title.html" . }}
|
||||
|
||||
{{ partial "nav-bar.html" . }}
|
||||
{{ partial "base/nav-bar.html" . }}
|
||||
|
||||
{{ partial "base16-logo.html" . }}
|
||||
{{ partial "base/base16-logo.html" . }}
|
||||
|
||||
<main role="main" class="article-list">
|
||||
<h1 class="list-title">{{ .Title }}</h1>
|
||||
{{ range .Data.Pages }}
|
||||
{{ partial "article-list-item.html" . }}
|
||||
{{ partial "home/article-list-item.html" . }}
|
||||
{{ end }}
|
||||
</main>
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
{{ partial "base/footer.html" . }}
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{{ partial "header.html" . }}
|
||||
{{ partial "base/header.html" . }}
|
||||
|
||||
{{ partial "site-title.html" . }}
|
||||
{{ partial "base/site-title.html" . }}
|
||||
|
||||
{{ partial "nav-bar.html" . }}
|
||||
{{ partial "base/nav-bar.html" . }}
|
||||
|
||||
{{ partial "base16-logo.html" . }}
|
||||
{{ partial "base/base16-logo.html" . }}
|
||||
|
||||
<main role="main" class="article">
|
||||
{{ partial "article.html" . }}
|
||||
{{ partial "base/article.html" . }}
|
||||
</main>
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
{{ partial "base/footer.html" . }}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{{ partial "header.html" . }}
|
||||
{{ partial "base/header.html" . }}
|
||||
|
||||
{{ partial "site-title.html" . }}
|
||||
{{ partial "base/site-title.html" . }}
|
||||
|
||||
{{ partial "nav-bar.html" . }}
|
||||
{{ partial "base/nav-bar.html" . }}
|
||||
|
||||
{{ partial "base16-logo.html" . }}
|
||||
{{ partial "base/base16-logo.html" . }}
|
||||
|
||||
<div id="homepage">
|
||||
{{ partial "about.html" . }}
|
||||
{{ partial "home/about.html" . }}
|
||||
</div>
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
{{ partial "base/footer.html" . }}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
{{ if not .Page.Date.IsZero }}
|
||||
<!-- <span class="key">published </span> -->
|
||||
<span class="val" id="content"><time itemprop="datePublished" datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "January 02, 2006" }}</time></span>
|
||||
<span class="val" id="content"><time id="publish-date" itemprop="datePublished" datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "January 02, 2006" }}</time></span>
|
||||
{{ end }}
|
||||
|
||||
{{ with .Params.categories }}
|
||||
@@ -12,6 +12,7 @@
|
||||
{{ .Hugo.Generator }}
|
||||
<meta name="google-site-verification" content="3aZhrY5bFgQY0HY2DNNUhbkuIfVEcwkrQHnbJd8jCCQ" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<script src="http://livejs.com/live.js" charset="utf-8"></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="https://meyerweb.com/eric/tools/css/reset/reset.css" type="text/css" media="all" /> -->
|
||||
@@ -7,5 +7,5 @@
|
||||
target="_blank">FOSS/FLOSS</a>.
|
||||
</p>
|
||||
|
||||
{{ partial "me-equation.html" . }}
|
||||
{{ partial "home/me-equation.html" . }}
|
||||
</div>
|
||||
@@ -1,8 +1,15 @@
|
||||
{{ partial "header.html" . }}
|
||||
{{ partial "base/header.html" . }}
|
||||
|
||||
{{ partial "site-title.html" . }}
|
||||
{{ partial "base/site-title.html" . }}
|
||||
|
||||
{{ partial "base16-logo.html" . }}
|
||||
{{ partial "base/base16-logo.html" . }}
|
||||
|
||||
<div id="resume">
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
2
layouts/shortcodes/md.html
Normal file
2
layouts/shortcodes/md.html
Normal file
@@ -0,0 +1,2 @@
|
||||
{{ $_hugo_config := `{ "version": 1 }` }}
|
||||
{{ .Inner }}
|
||||
4
layouts/shortcodes/resume/project-details.html
Normal file
4
layouts/shortcodes/resume/project-details.html
Normal file
@@ -0,0 +1,4 @@
|
||||
{{ $_hugo_config := `{ "version": 1 }` }}
|
||||
<div class="project-details">
|
||||
{{ .Inner | markdownify }}
|
||||
</div>
|
||||
2
layouts/shortcodes/resume/project-header.html
Normal file
2
layouts/shortcodes/resume/project-header.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<h2 class="project-title"><a href="{{ .Get "url" }}" target="_blank">{{ .Get "name" }}</a></h2>
|
||||
<p class="project-date">{{ .Get "date" }}</p>
|
||||
4
layouts/shortcodes/resume/section.html
Normal file
4
layouts/shortcodes/resume/section.html
Normal file
@@ -0,0 +1,4 @@
|
||||
<div id="{{ .Get 0 }}">
|
||||
<h1 class="section-header">{{ .Get 0 | title }}</h1>
|
||||
{{ .Inner }}
|
||||
</div>
|
||||
@@ -296,6 +296,21 @@ footer a {
|
||||
.homepage .tag {
|
||||
margin-right: 2em;
|
||||
} */
|
||||
#resume a {
|
||||
text-decoration: none; }
|
||||
#resume a:hover {
|
||||
text-decoration: underline; }
|
||||
|
||||
#resume h1 {
|
||||
color: #f99157; }
|
||||
|
||||
#resume h2 {
|
||||
color: #ffcc66;
|
||||
display: inline; }
|
||||
|
||||
#resume p.project-date {
|
||||
float: right; }
|
||||
|
||||
h1.site-title {
|
||||
text-align: center;
|
||||
/* font-size: 3.5em; */
|
||||
@@ -373,18 +388,27 @@ h1.site-title {
|
||||
|
||||
article.single .meta {
|
||||
font-size: 0.9em;
|
||||
text-align: right; }
|
||||
text-align: right;
|
||||
margin-top: .5rem;
|
||||
margin-bottom: .5rem; }
|
||||
article.single .meta .key {
|
||||
color: #747369; }
|
||||
article.single .meta .val {
|
||||
color: #cc99cc; }
|
||||
article.single .meta .val a {
|
||||
color: #cc99cc; }
|
||||
|
||||
article.single .meta .key {
|
||||
color: #747369; }
|
||||
|
||||
article.single .meta .val, article.single .meta .val a {
|
||||
color: #cc99cc; }
|
||||
article.single .body {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 3rem; }
|
||||
|
||||
@media (max-width: 52em) {
|
||||
article.single .meta {
|
||||
padding-left: 2rem;
|
||||
padding-right: 2rem; } }
|
||||
padding-right: 2rem; }
|
||||
article.single .body {
|
||||
padding-top: .5rem;
|
||||
padding-bottom: 1rem; } }
|
||||
|
||||
article.single h1.headline {
|
||||
margin-top: 0;
|
||||
@@ -396,15 +420,6 @@ article.single h1.headline {
|
||||
padding-left: 2rem;
|
||||
padding-right: 2rem; } }
|
||||
|
||||
article.single section.body {
|
||||
padding-top: 4rem;
|
||||
padding-bottom: 3rem; }
|
||||
|
||||
@media (max-width: 52em) {
|
||||
article.single section.body {
|
||||
padding-top: 2rem;
|
||||
padding-bottom: 1rem; } }
|
||||
|
||||
/* Highlight Colors */
|
||||
article.single section.body h1 {
|
||||
color: #6699cc; }
|
||||
|
||||
Reference in New Issue
Block a user