From ffca095285e58e6547419a5a50626d984ca71f40 Mon Sep 17 00:00:00 2001 From: Kevin Mok Date: Wed, 6 Feb 2019 04:43:49 -0500 Subject: [PATCH] Designed homepage with about and me equation --- assets/sass/main.scss | 69 +- content/{_index.md => _index-old.md} | 0 ideas.md | 24 +- layouts/index.html | 9 + layouts/partials/about.html | 23 +- layouts/partials/header.html | 3 +- layouts/partials/hero.html | 18 +- ...s_f300667da4f5b5f84e1a9e0702b2fdde.content | 83 +- static/img/gnu.svg | 2492 +++++++++++++++++ static/img/hexatar.png | Bin 0 -> 18446 bytes static/img/linux-icon.svg | 116 + static/img/uoft-logo.svg | 702 +++++ 12 files changed, 3468 insertions(+), 71 deletions(-) rename content/{_index.md => _index-old.md} (100%) create mode 100644 layouts/index.html create mode 100644 static/img/gnu.svg create mode 100644 static/img/hexatar.png create mode 100644 static/img/linux-icon.svg create mode 100644 static/img/uoft-logo.svg diff --git a/assets/sass/main.scss b/assets/sass/main.scss index 82d7fa8..7f9643c 100644 --- a/assets/sass/main.scss +++ b/assets/sass/main.scss @@ -2,6 +2,8 @@ // base colors {{{ // +$base04: #a09f93; +$base05: #d3d0c8; $base-red: #f2777a; $base-orange: #f99157; $base-yellow: #ffcc66; @@ -11,14 +13,13 @@ $base-blue: #6699cc; $base-violet: #cc99cc; $base-dark-orange: #d27b53; -.base00 { color: #2d2d2d; } +/* .base00 { color: #2d2d2d; } .base01 { color: #393939; } .base02 { color: #515151; } .base03 { color: #747369; } .base04 { color: #a09f93; } -.base05 { color: #d3d0c8; } .base06 { color: #e8e6df; } -.base07 { color: #f2f0ec; } +.base07 { color: #f2f0ec; } */ .base08 { color: $base-red; } .base09 { color: $base-orange; } .base0a { color: $base-yellow; } @@ -87,6 +88,8 @@ body { font-size: 100%; /* font-family: 'Source Code Pro', monospace; */ font-family: 'Hack', monospace; + + @include a-color($base-sky-blue); } .container { @@ -227,7 +230,7 @@ footer { h2 { text-align: center; font-size: 3em; - color: #a09f93; + color: $base04; margin-bottom: 4rem; } @@ -246,14 +249,44 @@ footer { // homepage {{{ // -.homepage { - h1 { - .headline { - font-size: 3em; - color: #ffcc66; +#homepage { + #about { + font-size: 1.25rem; - @media (max-width: $max-page-width) { - @include side-padding-rem(2); + h1 { + margin-top: 1.25rem; + font-size: 2rem; + color: $base-yellow; + text-align: center; + + // @media (max-width: $max-page-width) { + // @include side-padding-rem(2); + // } + } + + .me-equation { + margin-top: 3em; + text-align: center; + display: flex; + justify-content: center; /* align horizontal */ + align-items: center; /* align vertical */ + + img { + width: 8em; + border-radius: 2em; + display: inline; + + &#gnu { + background-color: $base04; + // background-color: $base05; + } + } + + p { + font-size: 4rem; + display: inline; + @include side-padding-rem(1); + // display: table-cell inline; } } } @@ -290,7 +323,8 @@ h1.site-title { text-align: center; /* font-size: 3.5em; */ font-size: 4.8em; - color: #66cccc; + // color: #66cccc; + color: $base05; margin-top: 0.5em; margin-bottom: 0.2em; } @@ -308,12 +342,17 @@ h1.site-title { .nav-bar { margin-left: .5em; margin-bottom: 1em; - @include a-color($base-sky-blue); } .hero-tagline{ margin-top: .3em; + font-size: .8rem; + // font-style: italic; text-align: center; + + .icon { + width: 1.25rem; + } } // }}} hero // @@ -484,7 +523,7 @@ article.single td { line-height: inherit; border-bottom-width: 1px; border-bottom-style: solid; - border-bottom-color: #a09f93; + border-bottom-color: $base04; } article.single tr:last-child td { @@ -510,7 +549,7 @@ article.single hr { border: 0; border-bottom-style: solid; border-bottom-width: 1px; - border-bottom-color: #a09f93; + border-bottom-color: $base04; } // }}} article.single // diff --git a/content/_index.md b/content/_index-old.md similarity index 100% rename from content/_index.md rename to content/_index-old.md diff --git a/ideas.md b/ideas.md index 61dc135..1622277 100644 --- a/ideas.md +++ b/ideas.md @@ -1,17 +1,31 @@ # Large -- rewrite CSS in Sass - - push to base16 repo - resume - printable version +- rewrite CSS in Sass + - push to base16 repo - loop through URL sections - add CSS grid layout -- credits +- add media queries for mobile site +- terminal simulator for site + - cd/ls diff. pages # Medium -- setup Netlify +- fav. apps +- credits # Tiny -- setup custom domain/HTTPS with Netlify +- about/homepage + - elevator pitch + - student + - passionate + - typing animation + - linux screenshot + - fade between two + - picture equation of my interests + - Linux + - terminal + - UofT +- contact page - click on name for base URL - tux icon diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..2afec88 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,9 @@ +{{ define "main" }} + +
+ +{{ partial "about.html" . }} + +
+ +{{ end }} diff --git a/layouts/partials/about.html b/layouts/partials/about.html index cfbf28d..d058e8f 100644 --- a/layouts/partials/about.html +++ b/layouts/partials/about.html @@ -1 +1,22 @@ -

About

+
+ +

Welcome to my site!

+

+ I'm Kevin Mok, a 2nd year Computer Science student at the University of Toronto. + I'm interested in all things Linux-related and + FOSS/FLOSS. +

+ +
+ + gnu-logo + +

+

+ linux-logo +

+

+ linux-logo +

=

+ linux-logo +
+
diff --git a/layouts/partials/header.html b/layouts/partials/header.html index bfb306f..52851e3 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -17,8 +17,7 @@ {{ $main_sass := resources.Get "sass/main.scss" }} {{ $main_style := $main_sass | resources.ToCSS }} - - + - [KKevin Mok] # _ - + class="base0e">k] # _ -
- - Live, love and Linux. -
+ diff --git a/resources/_gen/assets/scss/sass/main.scss_f300667da4f5b5f84e1a9e0702b2fdde.content b/resources/_gen/assets/scss/sass/main.scss_f300667da4f5b5f84e1a9e0702b2fdde.content index 0ceff81..9aa0ab1 100644 --- a/resources/_gen/assets/scss/sass/main.scss_f300667da4f5b5f84e1a9e0702b2fdde.content +++ b/resources/_gen/assets/scss/sass/main.scss_f300667da4f5b5f84e1a9e0702b2fdde.content @@ -1,28 +1,11 @@ /* Base16 Eighties Colorscheme by Chris Kempson (http://chriskempson.com) */ -.base00 { - color: #2d2d2d; } - -.base01 { - color: #393939; } - -.base02 { - color: #515151; } - -.base03 { - color: #747369; } - -.base04 { - color: #a09f93; } - -.base05 { - color: #d3d0c8; } - -.base06 { - color: #e8e6df; } - -.base07 { - color: #f2f0ec; } - +/* .base00 { color: #2d2d2d; } +.base01 { color: #393939; } +.base02 { color: #515151; } +.base03 { color: #747369; } +.base04 { color: #a09f93; } +.base06 { color: #e8e6df; } +.base07 { color: #f2f0ec; } */ .base08 { color: #f2777a; } @@ -55,6 +38,12 @@ body { font-size: 100%; /* font-family: 'Source Code Pro', monospace; */ font-family: 'Hack', monospace; } + body a { + color: #66cccc; } + body a:visited { + color: #66cccc; } + body a:active { + color: #66cccc; } .container { max-width: 52em; @@ -221,16 +210,35 @@ footer a { .page-not-found h2 { font-size: 2em; } } -.homepage h1 .headline { - font-size: 3em; - color: #ffcc66; } - @media (max-width: 52em) { - .homepage h1 .headline { - padding-left: 2rem; - padding-right: 2rem; } } +#homepage #about { + font-size: 1.25rem; } + #homepage #about h1 { + margin-top: 1.25rem; + font-size: 2rem; + color: #ffcc66; + text-align: center; } + #homepage #about .me-equation { + margin-top: 3em; + text-align: center; + display: flex; + justify-content: center; + /* align horizontal */ + align-items: center; + /* align vertical */ } + #homepage #about .me-equation img { + width: 8em; + border-radius: 2em; + display: inline; } + #homepage #about .me-equation img#gnu { + background-color: #a09f93; } + #homepage #about .me-equation p { + font-size: 4rem; + display: inline; + padding-left: 1rem; + padding-right: 1rem; } @media (max-width: 52em) { - .homepage { + #homepage { margin-bottom: 2rem; } } /* .homepage section.categories, @@ -253,7 +261,7 @@ h1.site-title { text-align: center; /* font-size: 3.5em; */ font-size: 4.8em; - color: #66cccc; + color: #d3d0c8; margin-top: 0.5em; margin-bottom: 0.2em; } @@ -267,16 +275,13 @@ h1.site-title { .nav-bar { margin-left: .5em; margin-bottom: 1em; } - .nav-bar a { - color: #66cccc; } - .nav-bar a:visited { - color: #66cccc; } - .nav-bar a:active { - color: #66cccc; } .hero-tagline { margin-top: .3em; + font-size: .8rem; text-align: center; } + .hero-tagline .icon { + width: 1.25rem; } .article-list h1.list-title { font-size: 3em; diff --git a/static/img/gnu.svg b/static/img/gnu.svg new file mode 100644 index 0000000..9a068ae --- /dev/null +++ b/static/img/gnu.svg @@ -0,0 +1,2492 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/hexatar.png b/static/img/hexatar.png new file mode 100644 index 0000000000000000000000000000000000000000..b39252641c8349b05ed4e82b2dfbf7302a1608de GIT binary patch literal 18446 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 J=AW?&_&@St(ait= literal 0 HcmV?d00001 diff --git a/static/img/linux-icon.svg b/static/img/linux-icon.svg new file mode 100644 index 0000000..2f20159 --- /dev/null +++ b/static/img/linux-icon.svg @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/uoft-logo.svg b/static/img/uoft-logo.svg new file mode 100644 index 0000000..b57d040 --- /dev/null +++ b/static/img/uoft-logo.svg @@ -0,0 +1,702 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file