diff --git a/Gemfile b/Gemfile index f4ce936..177f76e 100644 --- a/Gemfile +++ b/Gemfile @@ -2,22 +2,16 @@ # the following line to use "http://" instead source 'https://rubygems.org' -gem "middleman", "~>3.4.0" +gem 'middleman', '~>3.4.0' # Live-reloading plugin -gem "middleman-livereload", "~> 3.1.0" - -# For faster file watcher updates on Windows: -gem "wdm", "~> 0.1.0", :platforms => [:mswin, :mingw] - -# Windows does not come with time zone data -gem "tzinfo-data", platforms: [:mswin, :mingw, :jruby] +gem 'middleman-livereload' gem 'bootstrap-sass', require: false gem 'jquery-middleman' gem 'sass' gem 'bourbon' -gem 'haml' +gem 'slim' gem 'coffee-script' gem 'middleman-deploy' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 8d23f13..4277dfa 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,32 +1,32 @@ GEM remote: https://rubygems.org/ specs: - activesupport (4.2.4) + activesupport (4.2.5) i18n (~> 0.7) json (~> 1.7, >= 1.7.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - autoprefixer-rails (6.0.3) + autoprefixer-rails (6.3.1) execjs json - bootstrap-sass (3.3.5.1) - autoprefixer-rails (>= 5.0.0.1) - sass (>= 3.3.0) - bourbon (3.2.3) - sass (~> 3.2) - thor + bootstrap-sass (3.3.6) + autoprefixer-rails (>= 5.2.1) + sass (>= 3.3.4) + bourbon (4.2.6) + sass (~> 3.4) + thor (~> 0.19) capybara (2.4.4) mime-types (>= 1.16) nokogiri (>= 1.3.3) rack (>= 1.0.0) rack-test (>= 0.5.4) xpath (~> 2.0) - chunky_png (1.3.4) + chunky_png (1.3.5) coffee-script (2.4.1) coffee-script-source execjs - coffee-script-source (1.9.1.1) + coffee-script-source (1.10.0) compass (1.0.3) chunky_png (~> 1.2) compass-core (~> 1.0.2) @@ -43,7 +43,7 @@ GEM eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) erubis (2.7.0) - eventmachine (1.0.8) + eventmachine (1.0.9.1) execjs (2.6.0) ffi (1.9.10) haml (4.0.7) @@ -57,21 +57,21 @@ GEM thor (>= 0.14, < 2.0) json (1.8.3) kramdown (1.9.0) - listen (3.0.3) + listen (3.0.5) rb-fsevent (>= 0.9.3) rb-inotify (>= 0.9) - middleman (3.4.0) + middleman (3.4.1) coffee-script (~> 2.2) compass (>= 1.0.0, < 2.0.0) compass-import-once (= 1.0.5) execjs (~> 2.0) haml (>= 4.0.5) kramdown (~> 1.2) - middleman-core (= 3.4.0) + middleman-core (= 3.4.1) middleman-sprockets (>= 3.1.2) sass (>= 3.4.0, < 4.0) uglifier (~> 2.5) - middleman-core (3.4.0) + middleman-core (3.4.1) activesupport (~> 4.1) bundler (~> 1.1) capybara (~> 2.4.4) @@ -87,25 +87,26 @@ GEM middleman-core (>= 3.2) net-sftp ptools - middleman-livereload (3.1.1) - em-websocket (>= 0.2.0) - middleman-core (>= 3.0.2) - multi_json (~> 1.0) - rack-livereload + middleman-livereload (3.4.6) + em-websocket (~> 0.5.1) + middleman-core (>= 3.3) + rack-livereload (~> 0.3.15) middleman-sprockets (3.4.2) middleman-core (>= 3.3) sprockets (~> 2.12.1) sprockets-helpers (~> 1.1.0) sprockets-sass (~> 1.3.0) - mime-types (2.6.2) - mini_portile (0.6.2) - minitest (5.8.1) + mime-types (3.0) + mime-types-data (~> 3.2015) + mime-types-data (3.2015.1120) + mini_portile2 (2.0.0) + minitest (5.8.3) multi_json (1.11.2) net-sftp (2.1.2) net-ssh (>= 2.6.5) - net-ssh (3.0.1) - nokogiri (1.6.6.2) - mini_portile (~> 0.6.0) + net-ssh (3.0.2) + nokogiri (1.6.7.1) + mini_portile2 (~> 2.0.0.rc2) padrino-helpers (0.12.5) i18n (~> 0.6, >= 0.6.7) padrino-support (= 0.12.5) @@ -118,10 +119,13 @@ GEM rack rack-test (0.6.3) rack (>= 1.0) - rb-fsevent (0.9.6) + rb-fsevent (0.9.7) rb-inotify (0.9.5) ffi (>= 0.5.0) - sass (3.4.19) + sass (3.4.21) + slim (3.0.6) + temple (~> 0.7.3) + tilt (>= 1.3.3, < 2.1) sprockets (2.12.4) hike (~> 1.2) multi_json (~> 1.0) @@ -132,6 +136,7 @@ GEM sprockets-sass (1.3.1) sprockets (~> 2.0) tilt (~> 1.1) + temple (0.7.6) thor (0.19.1) thread_safe (0.3.5) tilt (1.4.1) @@ -151,14 +156,12 @@ DEPENDENCIES bootstrap-sass bourbon coffee-script - haml jquery-middleman middleman (~> 3.4.0) middleman-deploy - middleman-livereload (~> 3.1.0) + middleman-livereload sass - tzinfo-data - wdm (~> 0.1.0) + slim BUNDLED WITH - 1.10.6 + 1.11.2 diff --git a/config.rb b/config.rb index a578785..c158bba 100644 --- a/config.rb +++ b/config.rb @@ -33,11 +33,12 @@ ### # Automatic image dimensions on image_tag helper -activate :automatic_image_sizes +# activate :automatic_image_sizes # Reload the browser automatically whenever files change configure :development do activate :livereload + config[:file_watcher_ignore] += [/.idea\//] end # Methods defined in the helpers block are available in templates @@ -81,5 +82,5 @@ activate :deploy do |deploy| end # Variables -@socials = { github: 'https://github.com/vladfaust', vkontakte: 'https://vk.com/vladfaust', telegram: 'https://telegram.me/vladfaust', instagram: 'https://instagram.com/vladfaust', google_play: 'https://play.google.com/store/apps/developer?id=VLADISLAV+FAUST', twitter: 'https://twitter.com/vladfaust', email: 'hello@vladfaust.com' } +@socials = { github: 'https://github.com/vladfaust', vkontakte: 'https://vk.com/vladfaust', telegram: 'https://telegram.me/vladfaust', instagram: 'https://instagram.com/vladfaust', google_play: 'https://play.google.com/store/apps/developer?id=VLADISLAV+FAUST', twitter: 'https://twitter.com/vladfaust', email: 'mailto:hello@vladfaust.com' } set :socials, @socials diff --git a/source/_gtm.haml b/source/_gtm.haml deleted file mode 100644 index 113baa8..0000000 --- a/source/_gtm.haml +++ /dev/null @@ -1,10 +0,0 @@ -/ Google Tag Manager -%noscript - %iframe{:height => "0", :src => "//www.googletagmanager.com/ns.html?id=GTM-MRZ5F7", :style => "display:none;visibility:hidden", :width => "0"} -:javascript - (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': - new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], - j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= - '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); - })(window,document,'script','dataLayer','GTM-MRZ5F7'); -/ End Google Tag Manager \ No newline at end of file diff --git a/source/_gtm.html.slim b/source/_gtm.html.slim new file mode 100644 index 0000000..383c81b --- /dev/null +++ b/source/_gtm.html.slim @@ -0,0 +1,6 @@ +/! Google Tag Manager +noscript + iframe height="0" src="//www.googletagmanager.com/ns.html?id=GTM-MRZ5F7" style="display:none;visibility:hidden" width="0" +javascript: + (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-MRZ5F7'); +/! End Google Tag Manager diff --git a/source/_project.html.slim b/source/_project.html.slim new file mode 100644 index 0000000..b9e4844 --- /dev/null +++ b/source/_project.html.slim @@ -0,0 +1,8 @@ +.project.well + table + tr + td + = image_tag(image, class: 'img-responsive img-rounded') + td.text-left.project-description + .lead= link_to name, link, target: :blank + = description \ No newline at end of file diff --git a/source/images/projects/dicesbot.jpg b/source/images/projects/dicesbot.jpg new file mode 100644 index 0000000..05481e2 Binary files /dev/null and b/source/images/projects/dicesbot.jpg differ diff --git a/source/images/projects/jumpinsweeties.jpg b/source/images/projects/jumpinsweeties.jpg new file mode 100644 index 0000000..0102f7d Binary files /dev/null and b/source/images/projects/jumpinsweeties.jpg differ diff --git a/source/images/projects/parrotfarm.jpg b/source/images/projects/parrotfarm.jpg new file mode 100644 index 0000000..f9bda8f Binary files /dev/null and b/source/images/projects/parrotfarm.jpg differ diff --git a/source/images/socials/mail.svg b/source/images/socials/mail.svg new file mode 100644 index 0000000..e20d9ba --- /dev/null +++ b/source/images/socials/mail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/source/index.haml b/source/index.haml deleted file mode 100644 index cb6cd7f..0000000 --- a/source/index.haml +++ /dev/null @@ -1,19 +0,0 @@ -;;; - "title": "Vlad Faust | Vladislav Faust | Vlad Faust.com" -;;; - -.container - #hi.center-block - %h1= "Hi, my name is #{ link_to "Vlad Faust", '#' }," - %h2= "and I'm the #{content_tag :em, 'next big startup'} founder." - %hr - #socials.center-block - = link_to (image_tag image_path('socials/github.svg'), class: 'social-icon', id: 'github'), socials[:github], target: :blank, class: 'social-link', alt: socials[:github] - = link_to (image_tag image_path('socials/twitter.svg'), class: 'social-icon', id: 'twitter'), socials[:twitter], target: :blank, class: 'social-link', alt: socials[:twitter] - = link_to (image_tag image_path('socials/telegram.svg'), class: 'social-icon', id: 'telegram'), socials[:telegram], target: :blank, class: 'social-link', alt: socials[:telegram] - = link_to (image_tag image_path('socials/vkontakte.svg'), class: 'social-icon', id: 'vkontakte'), socials[:vkontakte], target: :blank, class: 'social-link', alt: socials[:vkontakte] - = link_to (image_tag image_path('socials/google_play.svg'), class: 'social-icon', id: 'google-play'), socials[:google_play], target: :blank, class: 'social-link', alt: socials[:google_play] - = link_to (image_tag image_path('socials/instagram.svg'), class: 'social-icon', id: 'instagram'), socials[:instagram], target: :blank, class: 'social-link', alt: socials[:instagram] - %hr - #contact.center-block - %h4= "Or email me at #{ mail_to socials[:email], socials[:email], id: 'mailto' }" \ No newline at end of file diff --git a/source/index.html.slim b/source/index.html.slim new file mode 100644 index 0000000..c91ddab --- /dev/null +++ b/source/index.html.slim @@ -0,0 +1,36 @@ +- @title = 'Vlad Faust | Vladislav Faust | VladFaust.com' + +.container-fluid + .row + .col-md-2 + .col-md-8 + .row + .col-xs-1 + .col-xs-10 + #hi + h1= "Hi, my name is #{ link_to "Vlad Faust", '#' }," + h2= "and I'm the #{ content_tag :em, 'next big startup' } founder." + hr + #projects + = partial(:project, locals: {name: 'Parrotfarm', image: 'projects/parrotfarm.jpg', description: 'A showcase opensource Rails + AngularJS app', link: 'https://github.com/vladfaust/parrotfarm'}) + = partial(:project, locals: {name: 'Jumpin Sweeties', image: 'projects/jumpinsweeties.jpg', description: 'Handcrafted Android game written with libGDX', link: 'https://play.google.com/store/apps/details?id=com.vladislavfaust.jumpinsweeties.android'}) + = partial(:project, locals: {name: 'dicesBot', image: 'projects/dicesbot.jpg', description: 'Telegram lottery bot w/ Bitcoin included, written in Ruby', link: 'https://telegram.me/dicesBot'}) + hr + #socials + h2 + | Say hello to me:  + = link_to 'hello@vladfaust.com', 'mailto:hello@vladfaust.com' + h3 + | Also seen on  + = link_to 'GitHub', 'https://github.com/vladfaust' + |  and  + = link_to 'Twitter', 'https://twitter.com/vladfaust' + /= link_to (image_tag image_path('socials/github.svg'), class: 'social-icon', id: 'github'), socials[:github], target: :blank, class: 'social-link', alt: socials[:github] + /= link_to (image_tag image_path('socials/twitter.svg'), class: 'social-icon', id: 'twitter'), socials[:twitter], target: :blank, class: 'social-link', alt: socials[:twitter] + /= link_to (image_tag image_path('socials/telegram.svg'), class: 'social-icon', id: 'telegram'), socials[:telegram], target: :blank, class: 'social-link', alt: socials[:telegram] + /= link_to (image_tag image_path('socials/vkontakte.svg'), class: 'social-icon', id: 'vkontakte'), socials[:vkontakte], target: :blank, class: 'social-link', alt: socials[:vkontakte] + /= link_to (image_tag image_path('socials/google_play.svg'), class: 'social-icon', id: 'google-play'), socials[:google_play], target: :blank, class: 'social-link', alt: socials[:google_play] + /= link_to (image_tag image_path('socials/instagram.svg'), class: 'social-icon', id: 'instagram'), socials[:instagram], target: :blank, class: 'social-link', alt: socials[:instagram] + /= link_to (image_tag image_path('socials/mail.svg'), class: 'social-icon', id: 'mail'), socials[:email], target: :blank, class: 'social-link', alt: socials[:email] + .col-xs-1 + .col-md-2 \ No newline at end of file diff --git a/source/layouts/layout.haml b/source/layouts/layout.haml deleted file mode 100644 index 1a6da23..0000000 --- a/source/layouts/layout.haml +++ /dev/null @@ -1,11 +0,0 @@ -!!! -%html - %head - %meta{:charset => "utf-8"}/ - %meta{:content => "IE=edge,chrome=1", "http-equiv" => "X-UA-Compatible"}/ - %title= current_page.data.title || "The Middleman" - = stylesheet_link_tag "all" - = javascript_include_tag "all" - = partial 'gtm' - %body.full-screen-height.vertical-center - = yield \ No newline at end of file diff --git a/source/layouts/layout.html.slim b/source/layouts/layout.html.slim new file mode 100644 index 0000000..97a0bfa --- /dev/null +++ b/source/layouts/layout.html.slim @@ -0,0 +1,11 @@ +doctype html +html + head + meta charset="utf-8" / + meta content='IE=edge,chrome=1' http-equiv="X-UA-Compatible" / + title= @title || 'The Middleman' + = stylesheet_link_tag 'all' + = javascript_include_tag 'all' + = partial 'gtm' unless development? || build? + body + = yield diff --git a/source/stylesheets/all.sass b/source/stylesheets/all.sass index 4f0fd24..b423aa9 100644 --- a/source/stylesheets/all.sass +++ b/source/stylesheets/all.sass @@ -1,33 +1,74 @@ @charset "utf-8" +@import url("https://fonts.googleapis.com/css?family=Bitter") + +$font-size-base: 16px @import "normalize.css" @import "bootstrap" @import "bourbon" -#hi, #contact, #socials - text-align: center - max-width: 90% +body + background: url("http://api.thumbr.it/whitenoise-361x370.png?background=ffffffff&noise=626262&density=18&opacity=11") + font-family: 'Bitter', sans-serif #hi h2 margin-top: -0.2em +#hi + margin-top: 15em + margin-top: 20vh + #socials + margin-bottom: 15em + margin-bottom: 20vh + .social-link &:not(:first-child) - margin-left: 0.2em + margin-left: 0.5vh .social-icon - @include calc(width, '(100% - 0.2em * 16) / 6') - max-width: 48px + width: 10vw + max-width: 7vh -#contact - margin-bottom: 50px +.project + img + max-width: 5em -.vertical-center - display: flex - align-items: center - justify-content: center +.project-block + display: inline-block + vertical-align: middle -.full-screen-height - min-height: 100% - min-height: 100vh \ No newline at end of file +.project-description + padding-left: 1em + + .lead + margin-bottom: 0em + +@media (max-width: $screen-md-min) + h1 + font-size: 7vw + + h2 + font-size: 5vw + max-font-size: 5vh + + p, td + font-size: 4vw + max-font-size: 4vh + + .lead + font-size: 5vw + max-font-size: 5vh + + hr + margin-top: 3vw + margin-bottom: 3vw + + .well:not(:first-child) + margin-top: 3vw + + #hi + margin-top: 5vh + + #socials + margin-bottom: 5vh \ No newline at end of file