From fed01cb2d4aa367bde6043c718668283b4c9ac3d Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sat, 9 Aug 2014 22:37:51 +0200 Subject: [PATCH 01/17] bump grunt, comment out gsl stuff --- Gemfile | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index d7836c1b..bbacc6df 100644 --- a/Gemfile +++ b/Gemfile @@ -8,5 +8,5 @@ gem 'fileutils', '>=0.7' # for faster LSI generation # from http://tonyarnold.com/2014/03/27/speeding-up-jekylls-latent-semantic-mapping.html -gem 'narray', :git => "https://github.com/tonyarnold/narray" -gem 'gsl', :git => "https://github.com/tonyarnold/rb-gsl" \ No newline at end of file +#gem 'narray', :git => "https://github.com/tonyarnold/narray" +#gem 'gsl', :git => "https://github.com/tonyarnold/rb-gsl" \ No newline at end of file diff --git a/package.json b/package.json index 74791995..87621fee 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "devDependencies": { "stylus": ">=0.45.0", "nib": ">=1.0.3", - "grunt": ">=0.4.1", + "grunt": ">=0.4.5", "grunt-contrib-clean": ">=0.5.0", "grunt-contrib-connect": ">=0.5.0", "grunt-contrib-cssmin": ">=0.6.2", From 765b5e5c49bd96867a1d8e6c9959843c9fc6c3eb Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sat, 9 Aug 2014 23:07:07 +0200 Subject: [PATCH 02/17] add jekyll-sitemap --- _config.yml | 8 +- _src/_plugins/sitemap_generator.rb | 311 ----------------------------- 2 files changed, 7 insertions(+), 312 deletions(-) delete mode 100644 _src/_plugins/sitemap_generator.rb diff --git a/_config.yml b/_config.yml index 181abe6b..a5299f40 100644 --- a/_config.yml +++ b/_config.yml @@ -33,7 +33,6 @@ category_title_prefix: "" future: false markdown: redcarpet -pygments: true redcarpet: extensions: ['autolink', 'smart', 'hard_wrap'] @@ -48,6 +47,13 @@ exclude: ['styl', 'app.js'] keep_files: ['media', 'gen'] +# Plugins +# -------------------- + +gems: + - jekyll-sitemap + + # jekyll-picture-tag # -------------------- diff --git a/_src/_plugins/sitemap_generator.rb b/_src/_plugins/sitemap_generator.rb deleted file mode 100644 index f9e47847..00000000 --- a/_src/_plugins/sitemap_generator.rb +++ /dev/null @@ -1,311 +0,0 @@ -# Sitemap.xml Generator is a Jekyll plugin that generates a sitemap.xml file by -# traversing all of the available posts and pages. -# -# How To Use: -# 1) Copy source file into your _plugins folder within your Jekyll project. -# 2) Change modify the url variable in _config.yml to reflect your domain name. -# 3) Run Jekyll: jekyll --server to re-generate your site. -# -# Variables: -# * Change SITEMAP_FILE_NAME if you want your sitemap to be called something -# other than sitemap.xml. -# * Change the PAGES_INCLUDE_POSTS list to include any pages that are looping -# through your posts (e.g. "index.html", "archive.html", etc.). This will -# ensure that right after you make a new post, the last modified date will -# be updated to reflect the new post. -# * A sitemap.xml should be included in your _site folder. -# * If there are any files you don't want included in the sitemap, add them -# to the EXCLUDED_FILES list. The name should match the name of the source -# file. -# * If you want to include the optional changefreq and priority attributes, -# simply include custom variables in the YAML Front Matter of that file. -# The names of these custom variables are defined below in the -# CHANGE_FREQUENCY_CUSTOM_VARIABLE_NAME and PRIORITY_CUSTOM_VARIABLE_NAME -# constants. -# -# Notes: -# * The last modified date is determined by the latest from the following: -# system modified date of the page or post, system modified date of -# included layout, system modified date of included layout within that -# layout, ... -# -# Author: Michael Levin -# Site: http://www.kinnetica.com -# Distributed Under A Creative Commons License -# - http://creativecommons.org/licenses/by/3.0/ -# -# Modified for Octopress by John W. Long -# -require 'rexml/document' -require 'fileutils' - -module Jekyll - - # Change SITEMAP_FILE_NAME if you would like your sitemap file - # to be called something else - SITEMAP_FILE_NAME = "sitemap.xml" - - # Any files to exclude from being included in the sitemap.xml - EXCLUDED_FILES = ["index.xml", "robots.txt", "search.json"] - - # Any files that include posts, so that when a new post is added, the last - # modified date of these pages should take that into account - PAGES_INCLUDE_POSTS = ["index.html"] - - # Custom variable names for changefreq and priority elements - # These names are used within the YAML Front Matter of pages or posts - # for which you want to include these properties - CHANGE_FREQUENCY_CUSTOM_VARIABLE_NAME = "change_frequency" - PRIORITY_CUSTOM_VARIABLE_NAME = "priority" - - class Post - attr_accessor :name - - def full_path_to_source - File.join(@base, @name) - end - - def location_on_server - "#{site.config['url']}#{url}/" - end - end - - class Page - attr_accessor :name - - def full_path_to_source - File.join(@base, @dir, @name) - end - - def location_on_server - location = "#{site.config['url']}#{url}" - location.gsub(/index.html$/, "") - end - end - - class Layout - def full_path_to_source - File.join(@base, @name) - end - end - - # Recover from strange exception when starting server without --auto - class SitemapFile < StaticFile - def write(dest) - begin - super(dest) - rescue - end - - true - end - end - - class SitemapGenerator < Generator - - # Valid values allowed by sitemap.xml spec for change frequencies - VALID_CHANGE_FREQUENCY_VALUES = ["always", "hourly", "daily", "weekly", - "monthly", "yearly", "never"] - - # Goes through pages and posts and generates sitemap.xml file - # - # Returns nothing - def generate(site) - sitemap = REXML::Document.new << REXML::XMLDecl.new("1.0", "UTF-8") - - urlset = REXML::Element.new "urlset" - urlset.add_attribute("xmlns", - "http://www.sitemaps.org/schemas/sitemap/0.9") - - @last_modified_post_date = fill_posts(site, urlset) - fill_pages(site, urlset) - - sitemap.add_element(urlset) - - # File I/O: create sitemap.xml file and write out pretty-printed XML - unless File.exists?(site.dest) - FileUtils.mkdir_p(site.dest) - end - file = File.new(File.join(site.dest, SITEMAP_FILE_NAME), "w") - formatter = REXML::Formatters::Pretty.new(4) - formatter.compact = true - formatter.write(sitemap, file) - file.close - - # Keep the sitemap.xml file from being cleaned by Jekyll - site.static_files << Jekyll::SitemapFile.new(site, site.dest, "/", SITEMAP_FILE_NAME) - end - - # Create url elements for all the posts and find the date of the latest one - # - # Returns last_modified_date of latest post - def fill_posts(site, urlset) - last_modified_date = nil - site.posts.each do |post| - if !excluded?(post.name) - url = fill_url(site, post) - urlset.add_element(url) - end - - path = post.full_path_to_source - date = File.mtime(path) - last_modified_date = date if last_modified_date == nil or date > last_modified_date - end - - last_modified_date - end - - # Create url elements for all the normal pages and find the date of the - # index to use with the pagination pages - # - # Returns last_modified_date of index page - def fill_pages(site, urlset) - site.pages.each do |page| - if !excluded?(page.name) - path = page.full_path_to_source - if File.exists?(path) - url = fill_url(site, page) - urlset.add_element(url) - end - end - end - end - - # Fill data of each URL element: location, last modified, - # change frequency (optional), and priority. - # - # Returns url REXML::Element - def fill_url(site, page_or_post) - url = REXML::Element.new "url" - - loc = fill_location(page_or_post) - url.add_element(loc) - - lastmod = fill_last_modified(site, page_or_post) - url.add_element(lastmod) if lastmod - - if (page_or_post.data[CHANGE_FREQUENCY_CUSTOM_VARIABLE_NAME]) - change_frequency = - page_or_post.data[CHANGE_FREQUENCY_CUSTOM_VARIABLE_NAME].downcase - - if (valid_change_frequency?(change_frequency)) - changefreq = REXML::Element.new "changefreq" - changefreq.text = change_frequency - url.add_element(changefreq) - else - puts "ERROR: Invalid Change Frequency In #{page_or_post.name}" - end - end - - if (page_or_post.data[PRIORITY_CUSTOM_VARIABLE_NAME]) - priority_value = page_or_post.data[PRIORITY_CUSTOM_VARIABLE_NAME] - if valid_priority?(priority_value) - priority = REXML::Element.new "priority" - priority.text = page_or_post.data[PRIORITY_CUSTOM_VARIABLE_NAME] - url.add_element(priority) - else - puts "ERROR: Invalid Priority In #{page_or_post.name}" - end - end - - url - end - - # Get URL location of page or post - # - # Returns the location of the page or post - def fill_location(page_or_post) - loc = REXML::Element.new "loc" - loc.text = page_or_post.location_on_server - - loc - end - - # Fill lastmod XML element with the last modified date for the page or post. - # - # Returns lastmod REXML::Element or nil - def fill_last_modified(site, page_or_post) - path = page_or_post.full_path_to_source - - lastmod = REXML::Element.new "lastmod" - date = File.mtime(path) - latest_date = find_latest_date(date, site, page_or_post) - - if @last_modified_post_date == nil - # This is a post - lastmod.text = latest_date.iso8601 - else - # This is a page - if posts_included?(page_or_post.name) - # We want to take into account the last post date - final_date = greater_date(latest_date, @last_modified_post_date) - lastmod.text = final_date.iso8601 - else - lastmod.text = latest_date.iso8601 - end - end - lastmod - end - - # Go through the page/post and any implemented layouts and get the latest - # modified date - # - # Returns formatted output of latest date of page/post and any used layouts - def find_latest_date(latest_date, site, page_or_post) - layouts = site.layouts - layout = layouts[page_or_post.data["layout"]] - while layout - path = layout.full_path_to_source - date = File.mtime(path) - - latest_date = date if (date > latest_date) - - layout = layouts[layout.data["layout"]] - end - - latest_date - end - - # Which of the two dates is later - # - # Returns latest of two dates - def greater_date(date1, date2) - if (date1 >= date2) - date1 - else - date2 - end - end - - # Is the page or post listed as something we want to exclude? - # - # Returns boolean - def excluded?(name) - EXCLUDED_FILES.include? name - end - - def posts_included?(name) - PAGES_INCLUDE_POSTS.include? name - end - - # Is the change frequency value provided valid according to the spec - # - # Returns boolean - def valid_change_frequency?(change_frequency) - VALID_CHANGE_FREQUENCY_VALUES.include? change_frequency - end - - # Is the priority value provided valid according to the spec - # - # Returns boolean - def valid_priority?(priority) - begin - priority_val = Float(priority) - return true if priority_val >= 0.0 and priority_val <= 1.0 - rescue ArgumentError - end - - false - end - end -end From ae677a063ff7957f6594f56a13210bb1b4f59897 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sat, 9 Aug 2014 23:07:34 +0200 Subject: [PATCH 03/17] lazy categories without pagination --- _src/_plugins/cat_pagination.rb | 80 --------------------------------- _src/design/index.html | 4 +- _src/goodies/index.html | 4 +- _src/personal/index.html | 4 +- _src/photography/index.html | 4 +- _src/photos/index.html | 4 +- 6 files changed, 5 insertions(+), 95 deletions(-) delete mode 100644 _src/_plugins/cat_pagination.rb diff --git a/_src/_plugins/cat_pagination.rb b/_src/_plugins/cat_pagination.rb deleted file mode 100644 index af788f0f..00000000 --- a/_src/_plugins/cat_pagination.rb +++ /dev/null @@ -1,80 +0,0 @@ -# -# https://gist.github.com/runemadsen/6263974 -# -# modified -# - -module Jekyll - module Paginate - - class Pagination < Generator - def generate(site) - end - end - - class CategoryPages < Generator - - safe true - - def generate(site) - - site.pages.dup.each do |page| - paginate(site, page) if CategoryPager.pagination_enabled?(site.config, page) - end - - end - - def paginate(site, page) - - # sort categories by descending date of publish - category_posts = site.categories[page.data['category']].sort_by { |p| -p.date.to_f } - - # calculate total number of pages - pages = CategoryPager.calculate_pages(category_posts, site.config['paginate'].to_i) - - # iterate over the total number of pages and create a physical page for each - (1..pages).each do |num_page| - - # the CategoryPager handles the paging and category data - pager = CategoryPager.new(site, num_page, category_posts, page.data['category'], pages) - - if num_page > 1 - newpage = Page.new(site, site.source, page.dir, page.name) - newpage.pager = pager - newpage.dir = File.join(page.dir, "/page/#{num_page}") - site.pages << newpage - else - page.pager = pager - end - - end - end - - end - - class CategoryPager < Pager - - attr_reader :category - - def self.pagination_enabled?(config, page) - page.name == 'index.html' && page.data.key?('category') && !config['paginate'].nil? - end - - # same as the base class, but includes the category value - def initialize(site, page, all_posts, category, num_pages = nil) - @category = category - super site, page, all_posts, num_pages - end - - # use the original to_liquid method, but add in category info - alias_method :original_to_liquid, :to_liquid - def to_liquid - x = original_to_liquid - x['category'] = @category - x - end - - end - - end -end \ No newline at end of file diff --git a/_src/design/index.html b/_src/design/index.html index 33e5fe70..86481199 100644 --- a/_src/design/index.html +++ b/_src/design/index.html @@ -9,10 +9,8 @@ category: design

{{ page.category }}

- {% for post in paginator.posts %} - + {% for post in site.categories.design %} {% include articles.html %} - {% endfor %} diff --git a/_src/goodies/index.html b/_src/goodies/index.html index 6f440f7d..23892ede 100644 --- a/_src/goodies/index.html +++ b/_src/goodies/index.html @@ -9,10 +9,8 @@ category: goodies

{{ page.category }}

- {% for post in paginator.posts %} - + {% for post in site.categories.goodies %} {% include articles.html %} - {% endfor %} diff --git a/_src/personal/index.html b/_src/personal/index.html index e38850e3..e7518620 100644 --- a/_src/personal/index.html +++ b/_src/personal/index.html @@ -8,10 +8,8 @@ category: personal

{{ page.category }}

- {% for post in paginator.posts %} - + {% for post in site.categories.personal %} {% include articles.html %} - {% endfor %} diff --git a/_src/photography/index.html b/_src/photography/index.html index 647e19ac..8efe0184 100644 --- a/_src/photography/index.html +++ b/_src/photography/index.html @@ -8,10 +8,8 @@ category: photography

{{ page.category }}

- {% for post in paginator.posts %} - + {% for post in site.categories.photography %} {% include articles.html %} - {% endfor %} diff --git a/_src/photos/index.html b/_src/photos/index.html index 1577bee7..4a4d6b32 100644 --- a/_src/photos/index.html +++ b/_src/photos/index.html @@ -12,10 +12,8 @@ category: photos
- {% for post in paginator.posts %} - + {% for post in site.categories.photos %} {% include articles.html %} - {% endfor %}
From 4eaa007aac6a9e19f68e5064bc96d777e70ab5c5 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sat, 9 Aug 2014 23:07:50 +0200 Subject: [PATCH 04/17] jekyll-sitemap to gemfile --- Gemfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index bbacc6df..7d018ff8 100644 --- a/Gemfile +++ b/Gemfile @@ -2,9 +2,10 @@ source "https://rubygems.org" # gem "rails" -gem 'jekyll', '1.5.1' -gem 'mini_magick', '>=3.6.0' -gem 'fileutils', '>=0.7' +gem 'jekyll' +gem 'jekyll-sitemap' +gem 'mini_magick' +gem 'fileutils' # for faster LSI generation # from http://tonyarnold.com/2014/03/27/speeding-up-jekylls-latent-semantic-mapping.html From c5688d055f4f2916d42d32761e2ce5c60ef4f029 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sat, 9 Aug 2014 23:37:05 +0200 Subject: [PATCH 05/17] jekyll-timago --- Gemfile | 1 + _config.yml | 3 +- _src/_plugins/timeago.rb | 109 --------------------------------------- 3 files changed, 3 insertions(+), 110 deletions(-) delete mode 100644 _src/_plugins/timeago.rb diff --git a/Gemfile b/Gemfile index 7d018ff8..50a50761 100644 --- a/Gemfile +++ b/Gemfile @@ -4,6 +4,7 @@ source "https://rubygems.org" # gem "rails" gem 'jekyll' gem 'jekyll-sitemap' +gem 'jekyll-timeago' gem 'mini_magick' gem 'fileutils' diff --git a/_config.yml b/_config.yml index a5299f40..c400766f 100644 --- a/_config.yml +++ b/_config.yml @@ -35,7 +35,7 @@ future: false markdown: redcarpet redcarpet: - extensions: ['autolink', 'smart', 'hard_wrap'] + extensions: ['autolink', 'smart', 'hard_wrap'] # Generator @@ -52,6 +52,7 @@ keep_files: ['media', 'gen'] gems: - jekyll-sitemap + - jekyll-timeago # jekyll-picture-tag diff --git a/_src/_plugins/timeago.rb b/_src/_plugins/timeago.rb deleted file mode 100644 index 17b50dcf..00000000 --- a/_src/_plugins/timeago.rb +++ /dev/null @@ -1,109 +0,0 @@ -# -# jekyll-timeago -# -# https://github.com/markets/jekyll-timeago -# - -module Jekyll - module Timeago - - DAYS_PER = { - :days => 1, - :weeks => 7, - :months => 31, - :years => 365, - } - - # Max level of detail - # years > months > weeks > days - # 1 year and 7 months and 2 weeks and 6 days - MAX_DEPTH_LEVEL = 4 - - # Default level of detail - # 1 month and 5 days, 3 weeks and 2 days, 2 years and 6 months - DEFAULT_DEPTH_LEVEL = 2 - - def timeago(input, depth = DEFAULT_DEPTH_LEVEL) - unless depth_allowed?(depth) - raise "Invalid depth level: #{depth.inspect}" - end - - unless input.is_a?(Date) || input.is_a?(Time) - raise "Invalid input type: #{input.inspect}" - end - - days_passed = (Date.today - Date.parse(input.to_s)).to_i - time_ago_to_now(days_passed, depth) - end - - private - - # Days passed to time ago sentence - def time_ago_to_now(days_passed, depth) - return "today" if days_passed == 0 - return "yesterday" if days_passed == 1 - return "tomorrow" if days_passed == -1 - - future = days_passed < 0 - slots = build_time_ago_slots(days_passed.abs, depth) - sentence = to_sentence(slots) - - if future - "in #{sentence}" - else - "#{sentence} ago" - end - end - - # Builds time ranges: ['1 month', '5 days'] - # - days_passed: integer in absolute - # - depth: level of detail - # - current_slots: built time slots - def build_time_ago_slots(days_passed, depth, current_slots = []) - return current_slots if depth == 0 || days_passed == 0 - - time_range = days_to_time_range(days_passed) - days = DAYS_PER[time_range] - num_elems = days_passed / days - range_type = if num_elems == 1 - time_range.to_s[0...-1] # singularize - else - time_range.to_s - end - - current_slots << "#{num_elems} #{range_type}" - pending_days = days_passed - (num_elems*days) - build_time_ago_slots(pending_days, depth - 1, current_slots) - end - - # Number of days to minimum period time which can be grouped - def days_to_time_range(days_passed) - case days_passed.abs - when 0...7 - :days - when 7...31 - :weeks - when 31...365 - :months - else - :years - end - end - - # Validate if allowed level of detail - def depth_allowed?(depth) - (1..MAX_DEPTH_LEVEL).include?(depth) - end - - # Array to sentence: ['1 month', '1 week', '5 days'] => "1 month, 1 week and 5 days" - def to_sentence(slots) - if slots.length == 1 - slots[0] - else - "#{slots[0...-1].join(', ')} and #{slots[-1]}" - end - end - end -end - -Liquid::Template.register_filter(Jekyll::Timeago) \ No newline at end of file From af60ae07cc13f95f5c8cb2ab931e6da2dca5478c Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sat, 9 Aug 2014 23:37:26 +0200 Subject: [PATCH 06/17] testing fenced code blocks --- _src/_posts/2012-07-16-using-kbd-for-fun-and-profit.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_src/_posts/2012-07-16-using-kbd-for-fun-and-profit.md b/_src/_posts/2012-07-16-using-kbd-for-fun-and-profit.md index a7e862d0..5874b4e5 100644 --- a/_src/_posts/2012-07-16-using-kbd-for-fun-and-profit.md +++ b/_src/_posts/2012-07-16-using-kbd-for-fun-and-profit.md @@ -35,7 +35,9 @@ They are completely styled with CSS3 so they're sharp on all screens no matter h Just drop in the kbdftw.css in your `head`: -{% highlight html %}{% endhighlight %} +```html + +``` If you want to use the Android key style, include roboto.css before: From 748d6cd448fa512a21767254853a143cb3cf4f18 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sun, 10 Aug 2014 00:02:31 +0200 Subject: [PATCH 07/17] switch to rogue highlighter --- Gemfile | 1 + _config.yml | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 50a50761..1e299175 100644 --- a/Gemfile +++ b/Gemfile @@ -5,6 +5,7 @@ source "https://rubygems.org" gem 'jekyll' gem 'jekyll-sitemap' gem 'jekyll-timeago' +gem 'rouge' gem 'mini_magick' gem 'fileutils' diff --git a/_config.yml b/_config.yml index c400766f..4125eabc 100644 --- a/_config.yml +++ b/_config.yml @@ -33,6 +33,7 @@ category_title_prefix: "" future: false markdown: redcarpet +highlighter: rouge redcarpet: extensions: ['autolink', 'smart', 'hard_wrap'] @@ -43,7 +44,7 @@ redcarpet: source: ./_src destination: ./_site -exclude: ['styl', 'app.js'] +exclude: ['assets/styl', 'app.js'] keep_files: ['media', 'gen'] From b190438a14fc1f8d97d4e691e03aa3536dac6c88 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sun, 10 Aug 2014 00:10:48 +0200 Subject: [PATCH 08/17] add versioneye badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cd67d69b..a82e4bd1 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ kremalicious3 > [kremalicious.com](http://kremalicious.com) based on [Jekyll](http://jekyllrb.com). Neat. -[ ![Codeship Status for kremalicious/kremalicious3](https://www.codeship.io/projects/f6973090-9f04-0131-a2b7-625e8177ce9a/status?branch=master)](https://www.codeship.io/projects/18092) +[ ![Codeship Status for kremalicious/kremalicious3](https://www.codeship.io/projects/f6973090-9f04-0131-a2b7-625e8177ce9a/status?branch=master)](https://www.codeship.io/projects/18092) [![Dependency Status](https://www.versioneye.com/user/projects/53bbe331e1d158724400002e/badge.svg?style=flat)](https://www.versioneye.com/user/projects/53bbe331e1d158724400002e) Requirements ------------------ From cc1953df5484ecbbb7d188425f4fab33453f4448 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sun, 10 Aug 2014 00:26:08 +0200 Subject: [PATCH 09/17] improve search field animation --- _config.yml | 1 - _src/assets/js/app.js | 6 +++--- _src/assets/styl/animations.styl | 15 +++------------ _src/assets/styl/buttons.styl | 3 ++- 4 files changed, 8 insertions(+), 17 deletions(-) diff --git a/_config.yml b/_config.yml index 4125eabc..48f6b9b1 100644 --- a/_config.yml +++ b/_config.yml @@ -21,7 +21,6 @@ email: m@kretschmann.io # -------------------- permalink: /:title -relative_permalinks: true paginate: 15 paginate_path: "/page/:num" category_dir: "/" diff --git a/_src/assets/js/app.js b/_src/assets/js/app.js index f7acdd9d..6fd10085 100644 --- a/_src/assets/js/app.js +++ b/_src/assets/js/app.js @@ -35,7 +35,7 @@ var siteNavigation = { }); // show search - $searcharea.removeClass('ready bounceOutUp').addClass('ready bounceInDown'); + $searcharea.removeClass('ready bounceOutUp').addClass('ready slideDown'); $searchfield.focus(); if ( $searchfield.val().length ) { $searchpop.removeClass('hide'); @@ -48,7 +48,7 @@ var siteNavigation = { // bind the hide controls $(document).bind('click.hidethepop', function() { - $searcharea.removeClass('bounceInDown'); + $searcharea.removeClass('slideDown'); $searchpop.addClass('hide'); // unbind the hide controls @@ -78,7 +78,7 @@ var siteNavigation = { e.preventDefault(); // hide search area - $searcharea.removeClass('bounceInDown').addClass('bounceOutUp'); + $searcharea.removeClass('slideDown').addClass('bounceOutUp'); $searchpop.addClass('hide'); // empty search field diff --git a/_src/assets/styl/animations.styl b/_src/assets/styl/animations.styl index 9fb9bf05..d83ed889 100644 --- a/_src/assets/styl/animations.styl +++ b/_src/assets/styl/animations.styl @@ -51,7 +51,7 @@ gpuacceleration() //////////////////////////////////// // Down -@keyframes bounceInDown +@keyframes slideDown 0%, 60%, 75%, 90%, 100% // http://cubic-bezier.com/#.06,.85,.54,1.39 transition-timing-function: cubic-bezier(.06,.85,.54,1) @@ -59,20 +59,11 @@ gpuacceleration() 0% transform: translate3d(0, -100px, 0) - 60% - transform: translate3d(0, 20px, 0) - - 75% - transform: translate3d(0, -10px, 0) - - 90% - transform: translate3d(0, 5px, 0) - 100% transform: none -.bounceInDown - animation: bounceInDown .4s both +.slideDown + animation: slideDown .25s both // Up @keyframes bounceOutUp diff --git a/_src/assets/styl/buttons.styl b/_src/assets/styl/buttons.styl index 9354e1ba..5634b32a 100644 --- a/_src/assets/styl/buttons.styl +++ b/_src/assets/styl/buttons.styl @@ -160,8 +160,9 @@ button @extend .textcenter width: 16px height: 16px - line-height: 1 + line-height: 12px font-size: $font-size-small + padding: 0 border-radius: 16px display: block background: $brand-grey-light From 340b4bd20bce849015fa1bd50969e4095dea9915 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sun, 10 Aug 2014 00:52:22 +0200 Subject: [PATCH 10/17] blockquote changes --- _src/assets/styl/typography.styl | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/_src/assets/styl/typography.styl b/_src/assets/styl/typography.styl index 51a0e450..538e15bd 100644 --- a/_src/assets/styl/typography.styl +++ b/_src/assets/styl/typography.styl @@ -202,7 +202,8 @@ strong, font-weight: 700 font-style: normal -em +em, +.italic font-style: italic cite @@ -219,13 +220,23 @@ hr blockquote, blockquote > p - font-style: italic + @extend .italic color: $text-color-light blockquote padding: 0 $line-height-computed margin: 0 0 $line-height-computed - border-left: 2px solid $text-color-dimmed + position: relative + + // quotation marks + &:before + content: "“" + font-size: 400% + font-family: "Hoefler Text", "Times New Roman", serif + color: rgba($text-color-dimmed, 40%) + position: absolute + left: -($line-height-computed/2) + top: -($line-height-computed/2) p:last-child margin-bottom: 0 From 364422509901b8f62348810cd1ca236eaeb6f63c Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sun, 10 Aug 2014 01:02:42 +0200 Subject: [PATCH 11/17] footer copyright cleanup --- _src/_includes/footer.html | 9 +++++++-- _src/assets/styl/footer.styl | 29 +++++++++++++++++------------ 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/_src/_includes/footer.html b/_src/_includes/footer.html index 81b4d557..d46ed6c6 100644 --- a/_src/_includes/footer.html +++ b/_src/_includes/footer.html @@ -18,8 +18,13 @@ diff --git a/_src/assets/styl/footer.styl b/_src/assets/styl/footer.styl index 255fff4e..b17e2d21 100644 --- a/_src/assets/styl/footer.styl +++ b/_src/assets/styl/footer.styl @@ -12,24 +12,29 @@ .gravatar margin-bottom: ($line-height-computed/2) - .footer-description - @extend .h5 - a - display: block - &, .footer-description color: $text-color-light line-height: $line-height-computed - .footer-copyright - @extend .divider-top - padding-top: $line-height-computed - padding-bottom: $line-height-computed +.footer-description + @extend .h5 + a + display: block - p - margin-bottom: 0 - font-size: $font-size-mini +.footer-copyright + @extend .divider-top + padding-top: $line-height-computed + padding-bottom: $line-height-computed + + p + margin-bottom: 0 + font-size: $font-size-mini + + .icon:before + font-size: inherit + margin-right: .2em + line-height: inherit // Subscribe component .subscribe From 184feba9d7df0d714ff387c26347f4e705bae83e Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sun, 10 Aug 2014 01:17:16 +0200 Subject: [PATCH 12/17] dependency updates --- Gruntfile.js | 4 ++-- bower.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 0ece4639..04016d69 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -107,8 +107,8 @@ module.exports = function(grunt){ ], '<%= config.site %>/<%= config.assets.js %>/kremalicious3.min.js': [ 'bower_components/jquery/dist/jquery.js', - 'bower_components/infinitescroll/index.js', - 'bower_components/masonry/index.js', + 'bower_components/jquery-infinite-scroll/jquery.infinitescroll.js', + 'bower_components/masonry/dist/masonry.pkgd.js', 'bower_components/imagesloaded/imagesloaded.js', 'bower_components/simpleJekyllSearch/index.js', 'bower_components/jquery.adaptive-background/index.js', diff --git a/bower.json b/bower.json index c1aa3209..ed310a0d 100644 --- a/bower.json +++ b/bower.json @@ -12,9 +12,9 @@ "normalize-opentype.css": ">=0.1.2", "jquery": ">=2.0.3", "picturefill": ">=1.2.1", - "masonry": "http://masonry.desandro.com/masonry.pkgd.min.js", + "masonry": ">=3.1.5", "imagesloaded": ">=3.1.0", - "infinitescroll": "https://raw.github.com/paulirish/infinite-scroll/master/jquery.infinitescroll.js", + "jquery-infinite-scroll": ">=2.0.2", "simpleJekyllSearch": "https://raw.github.com/christian-fei/Simple-Jekyll-Search/master/jekyll-search.jquery.js", "jquery.adaptive-background": "https://raw.github.com/briangonzalez/jquery.adaptive-backgrounds.js/master/src/jquery.adaptive-backgrounds.js" }, From 243cdc32a293d19780ebdc46231aa861b400353b Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sun, 10 Aug 2014 14:50:44 +0200 Subject: [PATCH 13/17] add licenses --- LICENSE | 46 ++++++++++++++++++++++++++++++++++++++++++++++ README.md | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..0b147c72 --- /dev/null +++ b/LICENSE @@ -0,0 +1,46 @@ +--------------- +Posts +--------------- + +All post content under `_src/_posts` is licensed under a +Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International +License. +http://creativecommons.org/licenses/by-nc-sa/4.0/ + +--------------- +Photos & images +--------------- + +All photos & image assets under `_src/_media`, `_src/assets/img`, and +`assets sheet.psd` are plain ol' copyright. + +Copyright (c) 2008–2014 Matthias Kretschmann + +Don't care if you fork & play with it, but you're not allowed to publish +anything from it as a whole without my written permission. + +--------------- +Everything else +--------------- + +The MIT License (MIT) + +Copyright (c) 2008–2014 Matthias Kretschmann + +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. \ No newline at end of file diff --git a/README.md b/README.md index a82e4bd1..9a59d59b 100644 --- a/README.md +++ b/README.md @@ -51,3 +51,43 @@ Runs almost the same tasks as `grunt server` but puts everything into the `_buil ```bash grunt build ``` + + +Licenses +------------------ + +### Posts + +Creative Commons License
All post content under `_src/_posts` is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. + +### Photos & images + +All photos & image assets under `_src/_media`, `_src/assets/img`, and `assets sheet.psd` are plain ol' copyright. + +Copyright (c) 2008–2014 Matthias Kretschmann + +Don't care if you fork & play with it, but you're not allowed to publish anything from it as a whole without my written permission. + +### Everything else + +The MIT License (MIT) + +Copyright (c) 2008–2014 Matthias Kretschmann + +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. \ No newline at end of file From 8f0d60918ff9771486d108c48db78d902b5748fa Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sun, 10 Aug 2014 15:30:06 +0200 Subject: [PATCH 14/17] Gemnasium badge, group dev gems --- Gemfile | 3 ++- README.md | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 1e299175..e7b08487 100644 --- a/Gemfile +++ b/Gemfile @@ -1,13 +1,14 @@ # A sample Gemfile source "https://rubygems.org" -# gem "rails" +group :development do gem 'jekyll' gem 'jekyll-sitemap' gem 'jekyll-timeago' gem 'rouge' gem 'mini_magick' gem 'fileutils' +end # for faster LSI generation # from http://tonyarnold.com/2014/03/27/speeding-up-jekylls-latent-semantic-mapping.html diff --git a/README.md b/README.md index 9a59d59b..bc0715fc 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,8 @@ kremalicious3 > [kremalicious.com](http://kremalicious.com) based on [Jekyll](http://jekyllrb.com). Neat. -[ ![Codeship Status for kremalicious/kremalicious3](https://www.codeship.io/projects/f6973090-9f04-0131-a2b7-625e8177ce9a/status?branch=master)](https://www.codeship.io/projects/18092) [![Dependency Status](https://www.versioneye.com/user/projects/53bbe331e1d158724400002e/badge.svg?style=flat)](https://www.versioneye.com/user/projects/53bbe331e1d158724400002e) +[ ![Codeship Status for kremalicious/kremalicious3](https://www.codeship.io/projects/f6973090-9f04-0131-a2b7-625e8177ce9a/status?branch=master)](https://www.codeship.io/projects/18092) [![Dependency Status](https://gemnasium.com/kremalicious/kremalicious3.svg)](https://gemnasium.com/kremalicious/kremalicious3) + Requirements ------------------ From 9ff34d70aaf885b6ed4cd3533b5c9fc3ebc0c610 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sun, 10 Aug 2014 15:39:22 +0200 Subject: [PATCH 15/17] update license footer --- _src/_includes/footer.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/_src/_includes/footer.html b/_src/_includes/footer.html index d46ed6c6..c8f4becd 100644 --- a/_src/_includes/footer.html +++ b/_src/_includes/footer.html @@ -23,7 +23,11 @@

View source ¦ Hosted by (mt)

-

Code snippets: MIT License ¦ Goodies: CC BY NC SA

+

+ Posts & goodies: CC BY NC SA ¦ + Photos & images: © Copyright ¦ + Code: MIT License +

From b4650bf0348dbbc21a924c97d0da3ec9b7ddfcf2 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Sun, 10 Aug 2014 19:23:31 +0200 Subject: [PATCH 16/17] fix build error --- _src/feed/index.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/_src/feed/index.xml b/_src/feed/index.xml index f344773c..b77253b3 100644 --- a/_src/feed/index.xml +++ b/_src/feed/index.xml @@ -1,5 +1,4 @@ --- -layout: nil --- From 40f62faa6b59f787daaa62697c83792bb3fe800c Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 11 Aug 2014 01:20:36 +0200 Subject: [PATCH 17/17] getting gsl installed --- Gemfile | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Gemfile b/Gemfile index e7b08487..a47bef38 100644 --- a/Gemfile +++ b/Gemfile @@ -2,15 +2,18 @@ source "https://rubygems.org" group :development do -gem 'jekyll' -gem 'jekyll-sitemap' -gem 'jekyll-timeago' -gem 'rouge' -gem 'mini_magick' -gem 'fileutils' + + gem 'jekyll' + gem 'jekyll-sitemap' + gem 'jekyll-timeago' + gem 'rouge' + gem 'mini_magick' + gem 'fileutils' + # for faster LSI generation + #gem 'gsl' + # from http://tonyarnold.com/2014/03/27/speeding-up-jekylls-latent-semantic-mapping.html + gem 'narray', :git => "https://github.com/tonyarnold/narray" + gem 'gsl', :git => "https://github.com/tonyarnold/rb-gsl" + end -# for faster LSI generation -# from http://tonyarnold.com/2014/03/27/speeding-up-jekylls-latent-semantic-mapping.html -#gem 'narray', :git => "https://github.com/tonyarnold/narray" -#gem 'gsl', :git => "https://github.com/tonyarnold/rb-gsl" \ No newline at end of file