add files
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
_site
|
||||
.sass-cache
|
||||
.DS_Store
|
||||
.ruby-version
|
||||
node_modules
|
5
Gemfile
Normal file
@ -0,0 +1,5 @@
|
||||
source 'http://rubygems.org'
|
||||
|
||||
gem "jekyll"
|
||||
gem "jekyll-paginate"
|
||||
gem "support-for"
|
52
Gemfile.lock
Normal file
@ -0,0 +1,52 @@
|
||||
GEM
|
||||
remote: http://rubygems.org/
|
||||
specs:
|
||||
addressable (2.5.1)
|
||||
public_suffix (~> 2.0, >= 2.0.2)
|
||||
colorator (1.1.0)
|
||||
ffi (1.9.18)
|
||||
forwardable-extended (2.6.0)
|
||||
jekyll (3.4.3)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
jekyll-sass-converter (~> 1.0)
|
||||
jekyll-watch (~> 1.1)
|
||||
kramdown (~> 1.3)
|
||||
liquid (~> 3.0)
|
||||
mercenary (~> 0.3.3)
|
||||
pathutil (~> 0.9)
|
||||
rouge (~> 1.7)
|
||||
safe_yaml (~> 1.0)
|
||||
jekyll-paginate (1.1.0)
|
||||
jekyll-sass-converter (1.5.0)
|
||||
sass (~> 3.4)
|
||||
jekyll-watch (1.5.0)
|
||||
listen (~> 3.0, < 3.1)
|
||||
kramdown (1.13.2)
|
||||
liquid (3.0.6)
|
||||
listen (3.0.8)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
mercenary (0.3.6)
|
||||
pathutil (0.14.0)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (2.0.5)
|
||||
rb-fsevent (0.9.8)
|
||||
rb-inotify (0.9.8)
|
||||
ffi (>= 0.5.0)
|
||||
rouge (1.11.1)
|
||||
safe_yaml (1.0.4)
|
||||
sass (3.4.23)
|
||||
support-for (1.0.7)
|
||||
sass (~> 3.3)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
jekyll
|
||||
jekyll-paginate
|
||||
support-for
|
||||
|
||||
BUNDLED WITH
|
||||
1.14.6
|
21
LICENSE
Executable file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) <year> <copyright holders>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
31
_config.yml
Executable file
@ -0,0 +1,31 @@
|
||||
# Your Name or Company
|
||||
title: Kristof Torma
|
||||
|
||||
# Description of your website. This is used for social sharing.
|
||||
description: The beautiful website of artist, poet, craftsperson, cyclist, and avid juggler, Uni Kravitz.
|
||||
|
||||
# A brief blurb about yourself
|
||||
content: Nullam id dolor id nibh ultricies vehicula ut id elit. Cras mattis consectetur purus sit amet fermentum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras mattis consectetur purus sit amet fermentum.
|
||||
|
||||
# Add your social links
|
||||
social:
|
||||
- platform: github
|
||||
url: https://github.com/tormachris
|
||||
- platform: facebook
|
||||
url: https://facebook.com/kristof.torma
|
||||
- platform: instagram
|
||||
url: https://instagram.com/tormakristof
|
||||
|
||||
# General settings
|
||||
# url: http://brianmaierjr.github.com/uni
|
||||
# baseurl: "/uni"
|
||||
markdown: kramdown
|
||||
sharing_image: share.jpg
|
||||
|
||||
#### LAYOUT OPTIONS #####
|
||||
|
||||
# Half layout
|
||||
half_side: right
|
||||
|
||||
# Full layout
|
||||
full_text_position: right # left, right or center
|
33
_includes/head.html
Executable file
@ -0,0 +1,33 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<title>{{ site.title }}</title>
|
||||
|
||||
<!-- Open Graph Meta -->
|
||||
<meta content="{{ site.title }}" property="og:site_name">
|
||||
<meta content="{{ site.title }}" property="og:title">
|
||||
<meta content="website" property="og:type">
|
||||
<meta content="{{ site.description }}" property="og:description">
|
||||
<meta content="{{ site.url }}" property="og:url">
|
||||
<meta content="{{ site.url }}/assets/img/{{ site.sharing_image }}" property="og:image">
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@{{ site.social.twitter }}">
|
||||
<meta name="twitter:creator" content="@{{ site.social.twitter }}">
|
||||
<meta name="twitter:title" content="{{ site.title }}">
|
||||
<meta name="twitter:url" content="{{ site.url }}">
|
||||
<meta name="twitter:description" content="{{ site.description }}">
|
||||
<meta name="twitter:image:src" content="{{ site.url }}/assets/img/{{ site.sharing_image }}">
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/png" href="{{ "/assets/img/favicon.png" | prepend: site.baseurl }}" />
|
||||
|
||||
<!-- Stylesheet -->
|
||||
<link rel="stylesheet" href="{{ "/assets/css/style.css" | prepend: site.baseurl }}">
|
||||
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
|
||||
|
||||
{% if site.google_analytics %} {% include google_analytics.html %} {% endif %}
|
||||
</head>
|
4
_includes/scripts.html
Normal file
@ -0,0 +1,4 @@
|
||||
<!-- Add jQuery and other scripts -->
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
|
||||
<script>window.jQuery || document.write('<script src="{{ \'/assets/js/jquery-1.11.2.min.js\' | prepend: site.baseurl }}"><\/script>')</script>
|
||||
<script src="{{ '/assets/js/scripts.js' | prepend: site.baseurl }}"></script>
|
5
_includes/social.html
Normal file
@ -0,0 +1,5 @@
|
||||
<div class="socialLinks">
|
||||
{% for link in site.social %}
|
||||
<a class="socialLinks__link socialLInk__{{ link.platform }}" href="{{ link.url }}" target="_blank">{{ link.platform }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
17
_layouts/card.html
Normal file
@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="no-js" lang="en">
|
||||
|
||||
{% include head.html %}
|
||||
|
||||
<body class="card">
|
||||
|
||||
<main>
|
||||
<div class="card__content--{{ site.full_text_position }} card__content">
|
||||
{{ content }}
|
||||
{% include social.html %}
|
||||
</div>
|
||||
</main>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
19
_layouts/full.html
Executable file
@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="no-js" lang="en">
|
||||
|
||||
{% include head.html %}
|
||||
|
||||
<body class="full">
|
||||
|
||||
<main class="content--{{ site.full_text_position }}">
|
||||
<div class="full__image"></div>
|
||||
|
||||
<div class="full__content--{{ site.full_text_position }} full__content">
|
||||
{{ content }}
|
||||
{% include social.html %}
|
||||
</div>
|
||||
</main>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
18
_layouts/half.html
Normal file
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="no-js" lang="en">
|
||||
|
||||
{% include head.html %}
|
||||
|
||||
<body class="half">
|
||||
|
||||
<main>
|
||||
<div class="half--{{ site.half_side }} half__content">
|
||||
{{ content }}
|
||||
{% include social.html %}
|
||||
</div>
|
||||
<div class="half__image"></div>
|
||||
</main>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
1
assets/css/style.css
Executable file
BIN
assets/img/card-lg.jpg
Normal file
After Width: | Height: | Size: 417 KiB |
BIN
assets/img/card-md.jpg
Normal file
After Width: | Height: | Size: 267 KiB |
BIN
assets/img/card-sm.jpg
Normal file
After Width: | Height: | Size: 130 KiB |
BIN
assets/img/favicon.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
assets/img/full-lg.jpg
Normal file
After Width: | Height: | Size: 222 KiB |
BIN
assets/img/full-md.jpg
Normal file
After Width: | Height: | Size: 139 KiB |
BIN
assets/img/full-sm.jpg
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
assets/img/half-lg.jpg
Normal file
After Width: | Height: | Size: 400 KiB |
BIN
assets/img/half-md.jpg
Normal file
After Width: | Height: | Size: 285 KiB |
BIN
assets/img/half-sm.jpg
Normal file
After Width: | Height: | Size: 138 KiB |
BIN
assets/img/share.jpg
Normal file
After Width: | Height: | Size: 131 KiB |
2
assets/js/scripts.js
Executable file
@ -0,0 +1,2 @@
|
||||
// A $( document ).ready() block.
|
||||
$(document).ready(function() {});
|
28
assets/scss/base/_config.scss
Executable file
@ -0,0 +1,28 @@
|
||||
/***************
|
||||
COLOR VARIABLES
|
||||
***************/
|
||||
$primary-color: purple;
|
||||
$link-color: $primary-color;
|
||||
|
||||
/***************
|
||||
CONSISTENT SETTINGS
|
||||
***************/
|
||||
$padding: 50px; // Padding and margins
|
||||
$line-height: 44px; // Consistent height for buttons, inputs etc.
|
||||
|
||||
/***************
|
||||
TYPE SETTINGS
|
||||
***************/
|
||||
@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,300i,700,700i");
|
||||
$sans-serif: "Open Sans", Helvetica, Arial, sans-serif;
|
||||
|
||||
/***************
|
||||
SIZES
|
||||
Browser Context (this is needed for the px to em's mixin)
|
||||
***************/
|
||||
$browser-context: 16; // Default
|
||||
|
||||
/***************
|
||||
RESPONSIVE BREAKPOINTS
|
||||
***************/
|
||||
$breakpoints: (md: 768px);
|
55
assets/scss/base/_global.scss
Executable file
@ -0,0 +1,55 @@
|
||||
/***************
|
||||
GLOBAL STYLES
|
||||
***************/
|
||||
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
*,
|
||||
*:before,
|
||||
*:after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: $sans-serif;
|
||||
font-weight: 300;
|
||||
line-height: 1.75;
|
||||
font-size: 100%; // 18px base font size
|
||||
color: black;
|
||||
overflow-x: hidden;
|
||||
margin: 0;
|
||||
|
||||
@include min(md) {
|
||||
font-size: 112.5%;
|
||||
}
|
||||
|
||||
p,
|
||||
ul {
|
||||
margin: 0 0 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
// Text Selection Styling
|
||||
::-moz-selection {
|
||||
background: $primary-color;
|
||||
color: white;
|
||||
}
|
||||
|
||||
::selection {
|
||||
background: $primary-color;
|
||||
color: white;
|
||||
}
|
||||
|
||||
/***************
|
||||
MEDIA
|
||||
***************/
|
||||
|
||||
// Media Styling
|
||||
img,
|
||||
video,
|
||||
audio,
|
||||
iframe,
|
||||
object {
|
||||
max-width: 100%;
|
||||
}
|
53
assets/scss/base/_mixins.scss
Executable file
@ -0,0 +1,53 @@
|
||||
/// Pixels to Rems Function
|
||||
/// Return a rem value of the exact amount of pixels that you need
|
||||
/// @example
|
||||
/// padding: rem(20);
|
||||
@function rem($pixels, $context: $browser-context) {
|
||||
@return #{$pixels/$context}rem;
|
||||
}
|
||||
|
||||
@function color($color) {
|
||||
@if map-has-key($colors, $color) {
|
||||
@return map-get($colors, $color);
|
||||
} @else {
|
||||
@warn 'Color does not exist! If a browser default exists it will use that.';
|
||||
@return $color;
|
||||
}
|
||||
}
|
||||
|
||||
// Responsive Mixin Mobile First
|
||||
// @include min(md);
|
||||
@mixin min($breakpoint) {
|
||||
@if map-has-key($breakpoints, $breakpoint) {
|
||||
$value: map-get($breakpoints, $breakpoint);
|
||||
|
||||
@media screen and (min-width: $value) {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Responsive Mixin
|
||||
// @include max((md);
|
||||
@mixin max($breakpoint) {
|
||||
@if map-has-key($breakpoints, $breakpoint) {
|
||||
$value: map-get($breakpoints, $breakpoint);
|
||||
|
||||
@media screen and (max-width: $value) {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Responsive background images
|
||||
@mixin responsivebackground($sm, $md, $lg) {
|
||||
@media screen and (max-width: 800px) {
|
||||
background-image: url("/assets/img/"+$sm);
|
||||
}
|
||||
@media screen and (min-width: 801px) and (max-width: 1200px) {
|
||||
background-image: url("/assets/img/"+$md);
|
||||
}
|
||||
@media screen and (min-width: 1200px) {
|
||||
background-image: url("/assets/img/"+$lg);
|
||||
}
|
||||
}
|
273
assets/scss/base/_normalize.scss
Normal file
@ -0,0 +1,273 @@
|
||||
/*! modern-normalize | MIT License | https://github.com/sindresorhus/modern-normalize */
|
||||
|
||||
/* Document
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Use a better box model (opinionated).
|
||||
*/
|
||||
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use a more readable tab size (opinionated).
|
||||
*/
|
||||
|
||||
:root {
|
||||
-moz-tab-size: 4;
|
||||
tab-size: 4;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the line height in all browsers.
|
||||
* 2. Prevent adjustments of font size after orientation changes in iOS.
|
||||
*/
|
||||
|
||||
html {
|
||||
line-height: 1.15; /* 1 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
|
||||
/* Sections
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin in all browsers.
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
|
||||
*/
|
||||
|
||||
body {
|
||||
font-family:
|
||||
-apple-system,
|
||||
BlinkMacSystemFont,
|
||||
'Segoe UI',
|
||||
Roboto,
|
||||
Helvetica,
|
||||
Arial,
|
||||
sans-serif,
|
||||
'Apple Color Emoji',
|
||||
'Segoe UI Emoji',
|
||||
'Segoe UI Symbol';
|
||||
}
|
||||
|
||||
/* Grouping content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct height in Firefox.
|
||||
*/
|
||||
|
||||
hr {
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/* Text-level semantics
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct text decoration in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
text-decoration: underline dotted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font weight in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp,
|
||||
pre {
|
||||
font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent `sub` and `sup` elements from affecting the line height in all browsers.
|
||||
*/
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
/* Forms
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Change the font styles in all browsers.
|
||||
* 2. Remove the margin in Firefox and Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
font-family: inherit; /* 1 */
|
||||
font-size: 100%; /* 1 */
|
||||
line-height: 1.15; /* 1 */
|
||||
margin: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inheritance of text transform in Edge and Firefox.
|
||||
* 1. Remove the inheritance of text transform in Firefox.
|
||||
*/
|
||||
|
||||
button,
|
||||
select { /* 1 */
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the inability to style clickable types in iOS and Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
[type='button'],
|
||||
[type='reset'],
|
||||
[type='submit'] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner border and padding in Firefox.
|
||||
*/
|
||||
|
||||
button::-moz-focus-inner,
|
||||
[type='button']::-moz-focus-inner,
|
||||
[type='reset']::-moz-focus-inner,
|
||||
[type='submit']::-moz-focus-inner {
|
||||
border-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore the focus styles unset by the previous rule.
|
||||
*/
|
||||
|
||||
button:-moz-focusring,
|
||||
[type='button']:-moz-focusring,
|
||||
[type='reset']:-moz-focusring,
|
||||
[type='submit']:-moz-focusring {
|
||||
outline: 1px dotted ButtonText;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the padding in Firefox.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
padding: 0.35em 0.75em 0.625em;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
|
||||
*/
|
||||
|
||||
legend {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct vertical alignment in Chrome and Firefox.
|
||||
*/
|
||||
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the cursor style of increment and decrement buttons in Safari.
|
||||
*/
|
||||
|
||||
[type='number']::-webkit-inner-spin-button,
|
||||
[type='number']::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the odd appearance in Chrome and Safari.
|
||||
* 2. Correct the outline style in Safari.
|
||||
*/
|
||||
|
||||
[type='search'] {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
outline-offset: -2px; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner padding in Chrome and Safari on macOS.
|
||||
*/
|
||||
|
||||
[type='search']::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inability to style clickable types in iOS and Safari.
|
||||
* 2. Change font properties to `inherit` in Safari.
|
||||
*/
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button; /* 1 */
|
||||
font: inherit; /* 2 */
|
||||
}
|
||||
|
||||
/* Interactive
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Add the correct display in Chrome and Safari.
|
||||
*/
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
91
assets/scss/base/_typography.scss
Executable file
@ -0,0 +1,91 @@
|
||||
/***************
|
||||
A MORE MODERN SCALE
|
||||
http://typecast.com/blog/a-more-modern-scale-for-web-typography
|
||||
***************/
|
||||
|
||||
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
|
||||
margin: .5rem 0 1.5rem;
|
||||
font-family: $sans-serif;
|
||||
}
|
||||
|
||||
// Headings
|
||||
h1, .h1 {
|
||||
font-size: rem(32); // 2x body copy size = 32px
|
||||
line-height: 1.25; // 45px / 36px
|
||||
}
|
||||
|
||||
@media (min-width: 43.75em) {
|
||||
h1, .h1 {
|
||||
font-size: rem(40); // 2.5x body copy size = 40px
|
||||
line-height: 1.125;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 56.25em) {
|
||||
h1, .h1 {
|
||||
font-size: 3em; // 3x body copy size = 48px
|
||||
line-height: 1.05; // keep to a multiple of the 20px line height and something more appropriate for display headings
|
||||
}
|
||||
}
|
||||
|
||||
h2, .h2 {
|
||||
font-size: 1.625em; // 1.625x body copy size = 26px
|
||||
line-height: 1.15384615; // 30px / 26px
|
||||
}
|
||||
|
||||
@media (min-width: 43.75em) {
|
||||
h2, .h2 {
|
||||
font-size: 2em; // 2x body copy size = 32px
|
||||
line-height: 1.25;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 56.25em) {
|
||||
h2, .h2 {
|
||||
font-size: 2.25em; // 2.25x body copy size = 36px
|
||||
line-height: 1.25;
|
||||
}
|
||||
}
|
||||
|
||||
h3, .h3 {
|
||||
font-size: 1.375em; // 1.375x body copy size = 22px
|
||||
line-height: 1.13636364; //25px / 22px
|
||||
}
|
||||
|
||||
@media (min-width: 43.75em) {
|
||||
h3, .h3 {
|
||||
font-size: 1.5em; // 1.5x body copy size = 24px
|
||||
line-height: 1.25;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 56.25em) {
|
||||
h3, .h3 {
|
||||
font-size: 1.75em; // 1.75x body copy size = 28px
|
||||
line-height: 1.25;
|
||||
}
|
||||
}
|
||||
|
||||
h4, .h4 {
|
||||
font-size: 1.125em; // 1.125x body copy size = 18px
|
||||
line-height: 1.11111111;
|
||||
}
|
||||
|
||||
@media (min-width: 43.75em) {
|
||||
h4, .h4 {
|
||||
line-height: 1.22222222; // 22px / 18px
|
||||
}
|
||||
}
|
||||
|
||||
blockquote {
|
||||
font-size: 1.25em; // 20px / 16px
|
||||
line-height: 1.25; // 25px / 20px
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
@media (min-width: 43.75em) {
|
||||
blockquote {
|
||||
font-size: 1.5em; // 24px / 16px
|
||||
line-height: 1.45833333; // 35px / 24px
|
||||
}
|
||||
}
|
61
assets/scss/layouts/_card.scss
Normal file
@ -0,0 +1,61 @@
|
||||
.card {
|
||||
min-height: 100vh;
|
||||
font-family: $sans-serif;
|
||||
font-weight: 300;
|
||||
background-color: #213334;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
@include responsivebackground("card-sm.jpg", "card-md.jpg", "card-lg.jpg");
|
||||
|
||||
.pageTitle {
|
||||
color: $primary-color;
|
||||
position: relative;
|
||||
padding-top: rem(20);
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: rem(100);
|
||||
height: rem(7);
|
||||
background-color: $primary-color;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.socialLinks__link {
|
||||
@include button--outline();
|
||||
font-family: $sans-serif;
|
||||
}
|
||||
|
||||
main {
|
||||
@include max(md) {
|
||||
margin: 10%;
|
||||
}
|
||||
|
||||
@include min(md) {
|
||||
height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
&__content {
|
||||
padding: 40px;
|
||||
background-color: white;
|
||||
border-radius: rem(10);
|
||||
|
||||
@include min(md) {
|
||||
max-width: rem(600);
|
||||
z-index: 10;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
&__image {
|
||||
min-height: 50vh;
|
||||
order: 1;
|
||||
}
|
||||
}
|
64
assets/scss/layouts/_full.scss
Normal file
@ -0,0 +1,64 @@
|
||||
.full {
|
||||
min-height: 100vh;
|
||||
color: white;
|
||||
font-family: $sans-serif;
|
||||
font-weight: 300;
|
||||
background-color: #213334;
|
||||
|
||||
.pageTitle {
|
||||
// font-weight: 300;
|
||||
}
|
||||
|
||||
.socialLinks__link {
|
||||
@include button--outline(white, black);
|
||||
}
|
||||
|
||||
&__image {
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
@include responsivebackground("full-sm.jpg", "full-md.jpg", "full-lg.jpg");
|
||||
min-height: 50vh;
|
||||
|
||||
@include min(md) {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
}
|
||||
|
||||
main {
|
||||
@include min(md) {
|
||||
display: flex;
|
||||
height: 100vh;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
&.content--left {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
&.content--center {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
&__content {
|
||||
padding: 20px;
|
||||
|
||||
@include min(md) {
|
||||
max-width: 50vw;
|
||||
z-index: 10;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
&__image {
|
||||
min-height: 50vh;
|
||||
order: 1;
|
||||
}
|
||||
}
|
54
assets/scss/layouts/_half.scss
Normal file
@ -0,0 +1,54 @@
|
||||
.half {
|
||||
main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
@include min(md) {
|
||||
flex-direction: row;
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.pageTitle {
|
||||
color: $primary-color;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
> div {
|
||||
padding: 20px;
|
||||
|
||||
@include min(md) {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-flow: column nowrap;
|
||||
justify-content: center;
|
||||
padding: $padding;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.socialLinks__link {
|
||||
@include button--outline();
|
||||
}
|
||||
|
||||
&__content {
|
||||
order: 2;
|
||||
|
||||
&.half--left {
|
||||
@include min(md) {
|
||||
order: 1;
|
||||
flex-basis: 0.75;
|
||||
max-width: 40vw;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__image {
|
||||
min-height: 50vh;
|
||||
order: 1;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
@include responsivebackground("half-sm.jpg", "half-md.jpg", "half-lg.jpg");
|
||||
}
|
||||
}
|
29
assets/scss/modules/_buttons.scss
Executable file
@ -0,0 +1,29 @@
|
||||
/***************
|
||||
BUTTON DEFAULTS
|
||||
***************/
|
||||
|
||||
@mixin button--outline($btn-color: $primary-color, $btn-font-color: white) {
|
||||
background-color: transparent;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
font-family: $sans-serif;
|
||||
text-decoration: none;
|
||||
color: $btn-color;
|
||||
font-size: 0.9em;
|
||||
line-height: 1.2em;
|
||||
font-weight: 300;
|
||||
padding: 0.5em 1.5em;
|
||||
border: 1px solid $btn-color;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
margin-bottom: 0.5em;
|
||||
transition: background-color 0.14s ease-in-out;
|
||||
|
||||
// hovering on the btn
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: $btn-font-color;
|
||||
text-decoration: none;
|
||||
background-color: $btn-color;
|
||||
} // end hover
|
||||
} // end .button
|
62
assets/scss/modules/_forms.scss
Executable file
@ -0,0 +1,62 @@
|
||||
/***************
|
||||
FORM STYLING
|
||||
***************/
|
||||
|
||||
label {
|
||||
display:block;
|
||||
margin-bottom:5px;
|
||||
}
|
||||
input[type=text],input[type=email],input[type=phone],input[type=password],input[type=number],input[type=search], textarea {
|
||||
background: darken(white, 10%);
|
||||
padding:5px;
|
||||
outline:none;
|
||||
border: none;
|
||||
height: $line-height;
|
||||
width:300px;
|
||||
margin-bottom: .5rem;
|
||||
|
||||
&:focus {
|
||||
border: 1px solid $primary-color;
|
||||
}
|
||||
|
||||
&.full-width {
|
||||
width:100%;
|
||||
}
|
||||
}
|
||||
textarea {
|
||||
height:$line-height*3;
|
||||
}
|
||||
|
||||
form {
|
||||
margin-bottom:$padding;
|
||||
|
||||
// Wrap each form input/element in a field div
|
||||
.field {
|
||||
margin-bottom:$padding/2;
|
||||
}
|
||||
|
||||
// Notes go under the input fields
|
||||
.note {
|
||||
margin-top:5px;
|
||||
color: gray;
|
||||
}
|
||||
|
||||
// Required label
|
||||
.req {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
// Validation, add error class to the item div
|
||||
.error {
|
||||
|
||||
// Validation reason
|
||||
.reason {
|
||||
margin-top:5px;
|
||||
color: red;
|
||||
}
|
||||
|
||||
input[type=text],input[type=email],input[type=phone],input[type=password],input[type=number],input[type=search], textarea{
|
||||
border-color: red;
|
||||
}
|
||||
}
|
||||
}
|
7
assets/scss/modules/_links.scss
Normal file
@ -0,0 +1,7 @@
|
||||
a {
|
||||
color: $link-color;
|
||||
|
||||
&:hover {
|
||||
color: darken($link-color, 15%);
|
||||
}
|
||||
}
|
13
assets/scss/modules/_lists.scss
Normal file
@ -0,0 +1,13 @@
|
||||
.noList {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0 0 1.5rem;
|
||||
}
|
44
assets/scss/modules/_tables.scss
Executable file
@ -0,0 +1,44 @@
|
||||
/***************
|
||||
TABLE STYLES
|
||||
***************/
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border: 1px solid lighten(grey, 15%);
|
||||
margin-bottom: 1.5em;
|
||||
|
||||
caption {
|
||||
margin: 0 0 7px;
|
||||
font-size: 0.75em;
|
||||
color: grey;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
tr {
|
||||
border-bottom: 1px solid lighten(grey, 15%);
|
||||
|
||||
&:nth-child(even) {
|
||||
background-color: lighten(grey, 30%);
|
||||
}
|
||||
}
|
||||
|
||||
td {
|
||||
padding: 7px;
|
||||
border-right: 1px solid lighten(grey, 15%);
|
||||
|
||||
&:last-child {
|
||||
border-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: lighten(grey, 30%);
|
||||
border-bottom: 1px solid lighten(grey, 15%);
|
||||
border-right: 1px solid lighten(grey, 15%);
|
||||
|
||||
&:last-child {
|
||||
border-right: 0;
|
||||
}
|
||||
}
|
0
assets/scss/partials/_footer.scss
Normal file
0
assets/scss/partials/_header.scss
Normal file
18
assets/scss/style.scss
Executable file
@ -0,0 +1,18 @@
|
||||
// Site base
|
||||
@import "base/normalize";
|
||||
@import "base/config";
|
||||
@import "base/mixins";
|
||||
@import "base/typography";
|
||||
@import "base/global";
|
||||
|
||||
// Modules
|
||||
@import "modules/buttons";
|
||||
// @import "modules/forms";
|
||||
// @import "modules/tables";
|
||||
@import "modules/links";
|
||||
@import "modules/lists";
|
||||
|
||||
// Import Layouts
|
||||
@import "layouts/half";
|
||||
@import "layouts/full";
|
||||
@import "layouts/card";
|
11
card.html
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
layout: card
|
||||
title: Uni - A simple, one page Jekyll theme
|
||||
---
|
||||
{% if site.title %}
|
||||
<h1 class="pageTitle">{{ site.title }}</h1>
|
||||
{% endif %}
|
||||
|
||||
{% if site.content %}
|
||||
<p class="pageContent">{{ site.content }}</p>
|
||||
{% endif %}
|
1161
css/style.css
Executable file
11
full.html
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
layout: full
|
||||
title: Uni - A simple, one page Jekyll theme
|
||||
---
|
||||
{% if site.title %}
|
||||
<h1 class="pageTitle">{{ site.title }}</h1>
|
||||
{% endif %}
|
||||
|
||||
{% if site.content %}
|
||||
<p class="pageContent">{{ site.content }}</p>
|
||||
{% endif %}
|
69
gulpfile.js
Normal file
@ -0,0 +1,69 @@
|
||||
var gulp = require('gulp');
|
||||
var browserSync = require('browser-sync');
|
||||
var sass = require('gulp-sass');
|
||||
var prefix = require('gulp-autoprefixer');
|
||||
var cp = require('child_process');
|
||||
var cssnano = require('gulp-cssnano');
|
||||
|
||||
var jekyll = process.platform === 'win32' ? 'jekyll.bat' : 'jekyll';
|
||||
var messages = {
|
||||
jekyllBuild: '<span style="color: grey">Running:</span> $ jekyll build'
|
||||
};
|
||||
|
||||
/**
|
||||
* Build the Jekyll Site
|
||||
*/
|
||||
gulp.task('jekyll-build', function (done) {
|
||||
browserSync.notify(messages.jekyllBuild);
|
||||
return cp.spawn( jekyll , ['build'], {stdio: 'inherit'})
|
||||
.on('close', done);
|
||||
});
|
||||
|
||||
/**
|
||||
* Rebuild Jekyll & do page reload
|
||||
*/
|
||||
gulp.task('jekyll-rebuild', ['jekyll-build'], function () {
|
||||
browserSync.reload();
|
||||
});
|
||||
|
||||
/**
|
||||
* Wait for jekyll-build, then launch the Server
|
||||
*/
|
||||
gulp.task('browser-sync', ['sass', 'jekyll-build'], function() {
|
||||
browserSync({
|
||||
server: {
|
||||
baseDir: '_site'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Compile files from _scss into both _site/css (for live injecting) and site (for future jekyll builds)
|
||||
*/
|
||||
gulp.task('sass', function () {
|
||||
return gulp.src('assets/scss/style.scss')
|
||||
.pipe(sass({
|
||||
includePaths: ['scss'],
|
||||
onError: browserSync.notify
|
||||
}))
|
||||
.pipe(prefix(['last 3 versions'], { cascade: true }))
|
||||
.pipe(cssnano())
|
||||
.pipe(gulp.dest('_site/assets/css'))
|
||||
.pipe(browserSync.reload({stream:true}))
|
||||
.pipe(gulp.dest('assets/css'));
|
||||
});
|
||||
|
||||
/**
|
||||
* Watch scss files for changes & recompile
|
||||
* Watch html/md files, run jekyll & reload BrowserSync
|
||||
*/
|
||||
gulp.task('watch', function () {
|
||||
gulp.watch(['assets/scss/*.scss', 'assets/scss/*/*.scss'], ['sass']);
|
||||
gulp.watch(['*.html', '_layouts/*.html', '_posts/*'], ['jekyll-rebuild']);
|
||||
});
|
||||
|
||||
/**
|
||||
* Default task, running just `gulp` will compile the sass,
|
||||
* compile the jekyll site, launch BrowserSync & watch files.
|
||||
*/
|
||||
gulp.task('default', ['browser-sync', 'watch']);
|
11
index.html
Executable file
@ -0,0 +1,11 @@
|
||||
---
|
||||
layout: half
|
||||
title: Uni - A simple, one page Jekyll theme
|
||||
---
|
||||
{% if site.title %}
|
||||
<h1 class="pageTitle">{{ site.title }}</h1>
|
||||
{% endif %}
|
||||
|
||||
{% if site.content %}
|
||||
<p class="pageContent">{{ site.content }}</p>
|
||||
{% endif %}
|
6320
package-lock.json
generated
Normal file
23
package.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "uni",
|
||||
"version": "0.0.0",
|
||||
"description": "A one page Jekyll theme.",
|
||||
"main": "gulpfile.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "Brian Maier Jr.",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"browser-sync": "^1.3.7",
|
||||
"gulp": "^3.8.8",
|
||||
"gulp-autoprefixer": "1.0.0",
|
||||
"gulp-cssnano": "^2.1.3",
|
||||
"gulp-sass": "^2.1.0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/brianmaierjr/uni.git"
|
||||
},
|
||||
"keywords": ["jekyll", "gulp", "sass", "browsersync"]
|
||||
}
|