From 606c525099d98add4df1a628c484796681ce953e Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Tue, 21 Jan 2014 23:50:16 -0500 Subject: [PATCH 01/50] Relative posts should never fail to build, even if @dir or @name is nil Fixes https://github.com/jekyll/jekyll/issues/1963 --- lib/jekyll/page.rb | 5 ++++- lib/jekyll/post.rb | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/jekyll/page.rb b/lib/jekyll/page.rb index 469dbb53..5fd70eb2 100644 --- a/lib/jekyll/page.rb +++ b/lib/jekyll/page.rb @@ -126,7 +126,10 @@ module Jekyll # The path to the page source file, relative to the site source def relative_path - File.join(@dir, @name) + File.join([ + @dir.to_s, + @name.to_s + ].reject {|x| x.nil? || x.empty?}) end # Obtain destination path. diff --git a/lib/jekyll/post.rb b/lib/jekyll/post.rb index 23e131ee..6dc8e83b 100644 --- a/lib/jekyll/post.rb +++ b/lib/jekyll/post.rb @@ -133,7 +133,11 @@ module Jekyll # The path to the post source file, relative to the site source def relative_path - File.join(@dir, '_posts', @name) + File.join([ + @dir.to_s, + "_posts", + @name.to_s + ].reject {|x| x.nil? || x.empty?}) end # Compares Post objects. First compares the Post date. If the dates are From baabe7eb7e4bca8b3f2d5154f3862335a5903715 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Thu, 30 Jan 2014 22:03:10 -0500 Subject: [PATCH 02/50] DRY up code, props @tamouse --- lib/jekyll/page.rb | 5 +---- lib/jekyll/post.rb | 6 +----- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/lib/jekyll/page.rb b/lib/jekyll/page.rb index 5fd70eb2..0e857660 100644 --- a/lib/jekyll/page.rb +++ b/lib/jekyll/page.rb @@ -126,10 +126,7 @@ module Jekyll # The path to the page source file, relative to the site source def relative_path - File.join([ - @dir.to_s, - @name.to_s - ].reject {|x| x.nil? || x.empty?}) + File.join([@dir, @name].map(&:to_s).reject(&:empty?)) end # Obtain destination path. diff --git a/lib/jekyll/post.rb b/lib/jekyll/post.rb index 6dc8e83b..825bd497 100644 --- a/lib/jekyll/post.rb +++ b/lib/jekyll/post.rb @@ -133,11 +133,7 @@ module Jekyll # The path to the post source file, relative to the site source def relative_path - File.join([ - @dir.to_s, - "_posts", - @name.to_s - ].reject {|x| x.nil? || x.empty?}) + File.join([@dir, "_posts", @name].map(&:to_s).reject(&:empty?)) end # Compares Post objects. First compares the Post date. If the dates are From e36f9d7da8a2bc0db2d84f530abeb2d089fa1b89 Mon Sep 17 00:00:00 2001 From: Anatol Broder Date: Tue, 4 Feb 2014 01:26:28 +0100 Subject: [PATCH 03/50] First draft --- test/source/_sass/_grid.scss | 1 + test/source/css/main.scss | 4 ++++ test/test_sass.rb | 10 ++++++++++ 3 files changed, 15 insertions(+) create mode 100644 test/source/_sass/_grid.scss create mode 100644 test/source/css/main.scss diff --git a/test/source/_sass/_grid.scss b/test/source/_sass/_grid.scss new file mode 100644 index 00000000..606aaf29 --- /dev/null +++ b/test/source/_sass/_grid.scss @@ -0,0 +1 @@ +.half { width: 50%; } \ No newline at end of file diff --git a/test/source/css/main.scss b/test/source/css/main.scss new file mode 100644 index 00000000..abc9ecd8 --- /dev/null +++ b/test/source/css/main.scss @@ -0,0 +1,4 @@ +--- +--- + +@import "grid"; \ No newline at end of file diff --git a/test/test_sass.rb b/test/test_sass.rb index d13fbcfe..1dc04874 100644 --- a/test/test_sass.rb +++ b/test/test_sass.rb @@ -104,4 +104,14 @@ CSS assert_equal css_output, converter.convert(scss_content) end end + + context "importing partials" do + setup do + content = "" + end + + should "import SCSS" do + assert_equal ".half { width: 30%; }", content + end + end end From 8e0a826cc7edb00588df7987b32aa620bd6201cc Mon Sep 17 00:00:00 2001 From: Anatol Broder Date: Tue, 4 Feb 2014 01:31:37 +0100 Subject: [PATCH 04/50] Fix group_by_filter test by adding 2 items --- test/test_filters.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_filters.rb b/test/test_filters.rb index 4b5c8212..015b4bf0 100644 --- a/test/test_filters.rb +++ b/test/test_filters.rb @@ -131,7 +131,7 @@ class TestFilters < Test::Unit::TestCase assert_equal 2, g["items"].size when "" assert g["items"].is_a?(Array), "The list of grouped items for '' is not an Array." - assert_equal 6, g["items"].size + assert_equal 8, g["items"].size end end end From 9e4dea14e4b44d22e97d6be88978de690d899d5a Mon Sep 17 00:00:00 2001 From: Anatol Broder Date: Tue, 4 Feb 2014 02:03:14 +0100 Subject: [PATCH 05/50] Fix partial test --- test/test_sass.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/test/test_sass.rb b/test/test_sass.rb index 1dc04874..0daa4f1d 100644 --- a/test/test_sass.rb +++ b/test/test_sass.rb @@ -107,11 +107,16 @@ CSS context "importing partials" do setup do - content = "" + @site = Jekyll::Site.new(Jekyll.configuration({ + "source" => source_dir, + "destination" => dest_dir + })) + @site.process + @test_css_file = dest_dir("css/main.css") end - should "import SCSS" do - assert_equal ".half { width: 30%; }", content + should "import SCSS partial" do + assert_equal ".half {\n width: 50%; }\n", File.read(@test_css_file) end end end From ce2b4ae9635d3fff081ad03fdd6ab6ed18273752 Mon Sep 17 00:00:00 2001 From: Anatol Broder Date: Tue, 4 Feb 2014 02:06:50 +0100 Subject: [PATCH 06/50] Upgrade gemspec --- jekyll.gemspec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jekyll.gemspec b/jekyll.gemspec index 85b697e9..c5648c77 100644 --- a/jekyll.gemspec +++ b/jekyll.gemspec @@ -272,11 +272,13 @@ Gem::Specification.new do |s| test/source/_posts/2013-12-17-include-variable-filters.markdown test/source/_posts/2013-12-20-properties.text test/source/_posts/es/2008-11-21-nested.textile + test/source/_sass/_grid.scss test/source/about.html test/source/category/_posts/2008-9-23-categories.textile test/source/contacts.html test/source/contacts/bar.html test/source/contacts/index.html + test/source/css/main.scss test/source/css/screen.css test/source/deal.with.dots.html test/source/foo/_posts/bar/2008-12-12-topical-post.textile From 487e7a71372446d69cdb3f09936490e05ba88b5a Mon Sep 17 00:00:00 2001 From: Anatol Broder Date: Tue, 4 Feb 2014 09:23:00 +0100 Subject: [PATCH 07/50] Make sort test run --- test/test_site.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_site.rb b/test/test_site.rb index 5e639f50..3b29a78c 100644 --- a/test/test_site.rb +++ b/test/test_site.rb @@ -157,7 +157,7 @@ class TestSite < Test::Unit::TestCase should "sort pages alphabetically" do stub.proxy(Dir).entries { |entries| entries.reverse } @site.process - sorted_pages = %w(.htaccess about.html bar.html coffeescript.coffee contacts.html deal.with.dots.html foo.md index.html index.html properties.html sitemap.xml symlinked-file) + sorted_pages = %w(.htaccess about.html bar.html coffeescript.coffee contacts.html deal.with.dots.html foo.md index.html index.html main.scss main.scss properties.html sitemap.xml symlinked-file) assert_equal sorted_pages, @site.pages.map(&:name) end From 95a2c74f1224547837ee301a57f1f9b2c71f6e47 Mon Sep 17 00:00:00 2001 From: Jashank Jeremy Date: Wed, 5 Feb 2014 10:30:49 +1100 Subject: [PATCH 08/50] Document site cleanup behaviour. As per #2014, document the fact that the destination directory is 'cleaned up', such that "obsolete" files (files which do not have a known input Page, Post or StaticFile) are deleted, when a site is rebuilt. Resolves #2014. [ci skip] --- site/docs/usage.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/site/docs/usage.md b/site/docs/usage.md index 6db3a112..2891dc07 100644 --- a/site/docs/usage.md +++ b/site/docs/usage.md @@ -24,6 +24,18 @@ $ jekyll build --watch # watched for changes, and regenerated automatically. {% endhighlight %} +
+
Destination folders are cleaned on site builds
+

+ Be aware that the contents of the <destination> + folder are automatically cleaned when the site is built. Files or + folders that are not created by your site will be removed. Do not + use an important location for <destination>; + instead, use it as a staging area and copy files from there to + your web server. +

+
+ Jekyll also comes with a built-in development server that will allow you to preview what the generated site will look like in your browser locally. From 5dc7a6c7bedefa55a697cb4af988f1d2a49b6ef6 Mon Sep 17 00:00:00 2001 From: Adam Heckler Date: Tue, 4 Feb 2014 18:35:06 -0500 Subject: [PATCH 09/50] Updated instructions for NearlyFreeSpeech --- site/docs/troubleshooting.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/site/docs/troubleshooting.md b/site/docs/troubleshooting.md index c27c1665..8219ded7 100644 --- a/site/docs/troubleshooting.md +++ b/site/docs/troubleshooting.md @@ -28,10 +28,13 @@ sudo yum install ruby-devel {% endhighlight %} On [NearlyFreeSpeech](http://nearlyfreespeech.net/) you need to run the -command with the following environment variable: +following commands before installing Jekyll: {% highlight bash %} -RB_USER_INSTALL=true gem install jekyll +export GEM_HOME=/home/private/gems +export GEM_PATH=/home/private/gems:/usr/local/lib/ruby/gems/1.8/ +export PATH=$PATH:/home/private/gems/bin +export RB_USER_INSTALL='true' {% endhighlight %} On OSX, you may need to update RubyGems: From 67a54547ed64682b9b3b0ae533e2d39f26c01e39 Mon Sep 17 00:00:00 2001 From: Jashank Jeremy Date: Wed, 5 Feb 2014 10:38:16 +1100 Subject: [PATCH 10/50] Clarifying wording of the destination directory warning. At some point, it should also be clarified whether "folder" or "directory" is the correct way to refer to that concept. --- site/docs/usage.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/site/docs/usage.md b/site/docs/usage.md index 2891dc07..6f5c9a3b 100644 --- a/site/docs/usage.md +++ b/site/docs/usage.md @@ -27,12 +27,11 @@ $ jekyll build --watch
Destination folders are cleaned on site builds

- Be aware that the contents of the <destination> - folder are automatically cleaned when the site is built. Files or - folders that are not created by your site will be removed. Do not - use an important location for <destination>; - instead, use it as a staging area and copy files from there to - your web server. + The contents of <destination> are automatically + cleaned when the site is built. Files or folders that are not + created by your site will be removed. Do not use an important + location for <destination>; instead, use it as + a staging area and copy files from there to your web server.

From f581940c7103f079f13ab84ddf474e2d777a14f4 Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Tue, 5 Nov 2013 19:46:47 -0600 Subject: [PATCH 11/50] Create a LayoutReader class to read layouts --- lib/jekyll.rb | 1 + lib/jekyll/layout_reader.rb | 21 +++++++++++++++++++++ lib/jekyll/site.rb | 10 +--------- 3 files changed, 23 insertions(+), 9 deletions(-) create mode 100644 lib/jekyll/layout_reader.rb diff --git a/lib/jekyll.rb b/lib/jekyll.rb index caa45e50..803b6fa4 100644 --- a/lib/jekyll.rb +++ b/lib/jekyll.rb @@ -48,6 +48,7 @@ require 'jekyll/errors' require 'jekyll/related_posts' require 'jekyll/cleaner' require 'jekyll/entry_filter' +require 'jekyll/layout_reader' # extensions require 'jekyll/plugin' diff --git a/lib/jekyll/layout_reader.rb b/lib/jekyll/layout_reader.rb new file mode 100644 index 00000000..a44b2e06 --- /dev/null +++ b/lib/jekyll/layout_reader.rb @@ -0,0 +1,21 @@ +class LayoutReader + attr_reader :site + def initialize(site) + @site = site + @layouts = {} + end + + def read + base = File.join(site.source, site.config['layouts']) + return @layouts unless File.exists?(base) + entries = [] + Dir.chdir(base) { entries = EntryFilter.new(site).filter(Dir['**/*.*']) } + + entries.each do |f| + name = f.split(".")[0..-2].join(".") + @layouts[name] = Layout.new(site, base, f) + end + + @layouts + end +end diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index 7457ca6d..a154d134 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -137,15 +137,7 @@ module Jekyll # # Returns nothing. def read_layouts - base = File.join(self.source, self.config['layouts']) - return unless File.exists?(base) - entries = [] - Dir.chdir(base) { entries = filter_entries(Dir['**/*.*'], base) } - - entries.each do |f| - name = f.split(".")[0..-2].join(".") - self.layouts[name] = Layout.new(self, base, f) - end + self.layouts = LayoutReader.new(self).read end # Recursively traverse directories to find posts, pages and static files From c5b81d580b122593c87584dd407550eba76d7306 Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Sun, 10 Nov 2013 21:04:11 -0600 Subject: [PATCH 12/50] Refactor the LayoutReader class --- lib/jekyll/layout_reader.rb | 38 +++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/lib/jekyll/layout_reader.rb b/lib/jekyll/layout_reader.rb index a44b2e06..b09a75ca 100644 --- a/lib/jekyll/layout_reader.rb +++ b/lib/jekyll/layout_reader.rb @@ -6,16 +6,34 @@ class LayoutReader end def read - base = File.join(site.source, site.config['layouts']) - return @layouts unless File.exists?(base) - entries = [] - Dir.chdir(base) { entries = EntryFilter.new(site).filter(Dir['**/*.*']) } + layout_entries.each do |f| + @layouts[layout_name(f)] = Layout.new(site, layout_directory, f) + end - entries.each do |f| - name = f.split(".")[0..-2].join(".") - @layouts[name] = Layout.new(site, base, f) - end - - @layouts + @layouts end + + private + + def layout_directory + File.join(site.source, site.config['layouts']) + end + + def layout_entries + entries = [] + with(layout_directory) do + entries = EntryFilter.new(site).filter(Dir['**/*.*']) + end + entries + end + + def with(directory) + return unless File.exists?(directory) + Dir.chdir(directory) { yield directory } + end + + def layout_name(file) + file.split(".")[0..-2].join(".") + end + end From 70ecef0094e561326c12814968413715ad7e98d2 Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Sun, 10 Nov 2013 21:04:19 -0600 Subject: [PATCH 13/50] Sort methods from most important to least important This idea is based on the concept of a newspaper. The most important things such as the headlines and the major details of the story at the top. This translates to code in that the public API and the more important private methods are at the top of the file. The more detailed information (or methods, in the code) are further down, so that if you've gotten all you need out of the code up to a certain point, you don't need to keep reading anymore. --- lib/jekyll/layout_reader.rb | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/jekyll/layout_reader.rb b/lib/jekyll/layout_reader.rb index b09a75ca..6181e47e 100644 --- a/lib/jekyll/layout_reader.rb +++ b/lib/jekyll/layout_reader.rb @@ -15,10 +15,6 @@ class LayoutReader private - def layout_directory - File.join(site.source, site.config['layouts']) - end - def layout_entries entries = [] with(layout_directory) do @@ -27,13 +23,18 @@ class LayoutReader entries end - def with(directory) - return unless File.exists?(directory) - Dir.chdir(directory) { yield directory } - end - def layout_name(file) file.split(".")[0..-2].join(".") end + def with(directory) + return unless File.exists?(directory) + Dir.chdir(directory) { yield } + end + + def layout_directory + File.join(site.source, site.config['layouts']) + end + + end From facf115c04186bd106b0254ae7b12ef3a3b1b599 Mon Sep 17 00:00:00 2001 From: Matt Rogers & Persa Zula Date: Thu, 6 Feb 2014 22:45:51 -0600 Subject: [PATCH 14/50] Move layout tests from site to its own file --- test/test_layout_reader.rb | 17 +++++++++++++++++ test/test_site.rb | 5 ----- 2 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 test/test_layout_reader.rb diff --git a/test/test_layout_reader.rb b/test/test_layout_reader.rb new file mode 100644 index 00000000..eead655a --- /dev/null +++ b/test/test_layout_reader.rb @@ -0,0 +1,17 @@ +require 'helper' + +class TestLayoutReader < Test::Unit::TestCase + context "reading layouts" do + setup do + stub(Jekyll).configuration do + Jekyll::Configuration::DEFAULTS.merge({'source' => source_dir, 'destination' => dest_dir}) + end + @site = Site.new(Jekyll.configuration) + end + + should "read layouts" do + layouts = LayoutReader.new(@site).read + assert_equal ["default", "simple", "post/simple"].sort, layouts.keys.sort + end + end +end diff --git a/test/test_site.rb b/test/test_site.rb index 5e639f50..b1cf01d1 100644 --- a/test/test_site.rb +++ b/test/test_site.rb @@ -161,11 +161,6 @@ class TestSite < Test::Unit::TestCase assert_equal sorted_pages, @site.pages.map(&:name) end - should "read layouts" do - @site.read_layouts - assert_equal ["default", "simple", "post/simple"].sort, @site.layouts.keys.sort - end - should "read posts" do @site.read_posts('') posts = Dir[source_dir('_posts', '**', '*')] From fd92820b03a0d0186890789d99778420557374ae Mon Sep 17 00:00:00 2001 From: Matt Rogers & Persa Zula Date: Thu, 6 Feb 2014 22:46:09 -0600 Subject: [PATCH 15/50] Remove Site#read_layouts --- lib/jekyll/site.rb | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index a154d134..ed55598f 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -127,19 +127,11 @@ module Jekyll # # Returns nothing. def read - self.read_layouts + self.layouts = LayoutReader.new(self).read self.read_directories self.read_data(config['data_source']) end - # Read all the files in / and create a new Layout object - # with each one. - # - # Returns nothing. - def read_layouts - self.layouts = LayoutReader.new(self).read - end - # Recursively traverse directories to find posts, pages and static files # that will become part of the site according to the rules in # filter_entries. From 833b40095fd61b62abdfd94dde1de74ee22a0d81 Mon Sep 17 00:00:00 2001 From: Matt Rogers & Persa Zula Date: Thu, 6 Feb 2014 23:07:11 -0600 Subject: [PATCH 16/50] Rename `with` to `within` Thanks @parkr --- lib/jekyll/layout_reader.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/jekyll/layout_reader.rb b/lib/jekyll/layout_reader.rb index 6181e47e..1f5e09a2 100644 --- a/lib/jekyll/layout_reader.rb +++ b/lib/jekyll/layout_reader.rb @@ -17,7 +17,7 @@ class LayoutReader def layout_entries entries = [] - with(layout_directory) do + within(layout_directory) do entries = EntryFilter.new(site).filter(Dir['**/*.*']) end entries @@ -27,7 +27,7 @@ class LayoutReader file.split(".")[0..-2].join(".") end - def with(directory) + def within(directory) return unless File.exists?(directory) Dir.chdir(directory) { yield } end From c36a6d3e0dfd989615b1023fc88c369be8f88bf4 Mon Sep 17 00:00:00 2001 From: Matt Rogers & Persa Zula Date: Thu, 6 Feb 2014 23:07:38 -0600 Subject: [PATCH 17/50] Wrap the LayoutReader in the Jekyll module --- lib/jekyll/layout_reader.rb | 68 ++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/lib/jekyll/layout_reader.rb b/lib/jekyll/layout_reader.rb index 1f5e09a2..1b07c724 100644 --- a/lib/jekyll/layout_reader.rb +++ b/lib/jekyll/layout_reader.rb @@ -1,40 +1,40 @@ -class LayoutReader - attr_reader :site - def initialize(site) - @site = site - @layouts = {} - end - - def read - layout_entries.each do |f| - @layouts[layout_name(f)] = Layout.new(site, layout_directory, f) +module Jekyll + class LayoutReader + attr_reader :site + def initialize(site) + @site = site + @layouts = {} end - @layouts - end + def read + layout_entries.each do |f| + @layouts[layout_name(f)] = Layout.new(site, layout_directory, f) + end - private - - def layout_entries - entries = [] - within(layout_directory) do - entries = EntryFilter.new(site).filter(Dir['**/*.*']) + @layouts + end + + private + + def layout_entries + entries = [] + within(layout_directory) do + entries = EntryFilter.new(site).filter(Dir['**/*.*']) + end + entries + end + + def layout_name(file) + file.split(".")[0..-2].join(".") + end + + def within(directory) + return unless File.exists?(directory) + Dir.chdir(directory) { yield } + end + + def layout_directory + File.join(site.source, site.config['layouts']) end - entries end - - def layout_name(file) - file.split(".")[0..-2].join(".") - end - - def within(directory) - return unless File.exists?(directory) - Dir.chdir(directory) { yield } - end - - def layout_directory - File.join(site.source, site.config['layouts']) - end - - end From a63e62f6432a783d1f8aa26ed36ff8768a5b88c4 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sat, 8 Feb 2014 00:32:20 -0500 Subject: [PATCH 18/50] Update history to reflect merge of #2020 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index a6ffeeaf..18bf5368 100644 --- a/History.markdown +++ b/History.markdown @@ -66,6 +66,7 @@ * Speed up Travis CI builds by using Rebund (#1985) * Use Yarp as a Gem proxy for Travis CI (#1984) * Remove Yarp as a Gem proxy for Travis CI (#2004) + * Move the reading of layouts into its own class (#2020) ### Site Enhancements * Document Kramdown's GFM parser option (#1791) From 71b2257829afdf058dd0b84510ea8413460f91b7 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sat, 8 Feb 2014 00:33:32 -0500 Subject: [PATCH 19/50] Update history to reflect merge of #2016 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index 18bf5368..24f08122 100644 --- a/History.markdown +++ b/History.markdown @@ -101,6 +101,7 @@ * Add `sublime-jekyll` to list of Editor plugins (#2001) * Add `vim-jekyll` to the list of Editor plugins (#2005) * Fix non-semantic nesting of `p` tags in `news_item` layout (#2013) + * Document destination folder cleaning (#2016) ## 1.4.3 / 2014-01-13 From 2e2563fab90e38e676afec5d1f2f6f7ece2a4f8e Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sat, 8 Feb 2014 00:34:16 -0500 Subject: [PATCH 20/50] Update history to reflect merge of #2015 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index 24f08122..9bbfac67 100644 --- a/History.markdown +++ b/History.markdown @@ -102,6 +102,7 @@ * Add `vim-jekyll` to the list of Editor plugins (#2005) * Fix non-semantic nesting of `p` tags in `news_item` layout (#2013) * Document destination folder cleaning (#2016) + * Updated instructions for NearlyFreeSpeech.NET installation (#2015) ## 1.4.3 / 2014-01-13 From 1176fc6f5767e1321131c6f6ca6b457deda6f166 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sat, 8 Feb 2014 00:38:59 -0500 Subject: [PATCH 21/50] Give File.join the strings from the array --- lib/jekyll/page.rb | 2 +- lib/jekyll/post.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/jekyll/page.rb b/lib/jekyll/page.rb index 0e857660..79542d8b 100644 --- a/lib/jekyll/page.rb +++ b/lib/jekyll/page.rb @@ -126,7 +126,7 @@ module Jekyll # The path to the page source file, relative to the site source def relative_path - File.join([@dir, @name].map(&:to_s).reject(&:empty?)) + File.join(*[@dir, @name].map(&:to_s).reject(&:empty?)) end # Obtain destination path. diff --git a/lib/jekyll/post.rb b/lib/jekyll/post.rb index 825bd497..16f941a2 100644 --- a/lib/jekyll/post.rb +++ b/lib/jekyll/post.rb @@ -133,7 +133,7 @@ module Jekyll # The path to the post source file, relative to the site source def relative_path - File.join([@dir, "_posts", @name].map(&:to_s).reject(&:empty?)) + File.join(*[@dir, "_posts", @name].map(&:to_s).reject(&:empty?)) end # Compares Post objects. First compares the Post date. If the dates are From c17ed7ec93073dfeb8f272448df43d737d113d06 Mon Sep 17 00:00:00 2001 From: Anatol Broder Date: Sat, 8 Feb 2014 13:26:03 +0100 Subject: [PATCH 22/50] Add comment about symlinked directories --- test/test_site.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/test/test_site.rb b/test/test_site.rb index 3b29a78c..31752967 100644 --- a/test/test_site.rb +++ b/test/test_site.rb @@ -157,6 +157,7 @@ class TestSite < Test::Unit::TestCase should "sort pages alphabetically" do stub.proxy(Dir).entries { |entries| entries.reverse } @site.process + # files in symlinked directories may appear twice sorted_pages = %w(.htaccess about.html bar.html coffeescript.coffee contacts.html deal.with.dots.html foo.md index.html index.html main.scss main.scss properties.html sitemap.xml symlinked-file) assert_equal sorted_pages, @site.pages.map(&:name) end From 22f2001ff531e23f69c9e5f60f7eb92b6ee59219 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sat, 25 Jan 2014 15:34:42 -0500 Subject: [PATCH 23/50] Set default markdown converter to Kramdown - Update default markdown converter in docs for configuration - Update tests so they are in line with Kramdown output - Add deprecation message to when config is built --- features/markdown.feature | 6 +++--- lib/jekyll/configuration.rb | 8 +++++++- site/docs/configuration.md | 2 +- test/source/_includes/sig.markdown | 4 ++-- test/test_configuration.rb | 4 ++-- test/test_excerpt.rb | 2 +- test/test_filters.rb | 2 +- test/test_post.rb | 4 ++-- test/test_tags.rb | 27 ++++++++++++++------------- 9 files changed, 33 insertions(+), 26 deletions(-) diff --git a/features/markdown.feature b/features/markdown.feature index c76b0611..778fc5d2 100644 --- a/features/markdown.feature +++ b/features/markdown.feature @@ -13,8 +13,8 @@ Feature: Markdown When I run jekyll Then the _site directory should exist And I should see "Index" in "_site/index.html" - And I should see "

My Title

" in "_site/2009/03/27/hackers.html" - And I should see "

My Title

" in "_site/index.html" + And I should see "

My Title

" in "_site/2009/03/27/hackers.html" + And I should see "

My Title

" in "_site/index.html" Scenario: Markdown in pagination on index Given I have a configuration file with "paginate" set to "5" @@ -26,7 +26,7 @@ Feature: Markdown When I run jekyll Then the _site directory should exist And I should see "Index" in "_site/index.html" - And I should see "

My Title

" in "_site/index.html" + And I should see "

My Title

" in "_site/index.html" Scenario: Maruku fenced codeblocks Given I have a configuration file with "markdown" set to "maruku" diff --git a/lib/jekyll/configuration.rb b/lib/jekyll/configuration.rb index f5e10fe0..c64c77a2 100644 --- a/lib/jekyll/configuration.rb +++ b/lib/jekyll/configuration.rb @@ -28,7 +28,7 @@ module Jekyll 'relative_permalinks' => true, # backwards-compatibility with < 1.0 # will be set to false once 2.0 hits - 'markdown' => 'maruku', + 'markdown' => 'kramdown', 'highlighter' => 'pygments', 'permalink' => 'date', 'baseurl' => '/', @@ -229,6 +229,12 @@ module Jekyll config[option] = csv_to_array(config[option]) end end + + if config.fetch('markdown', 'kramdown').to_s.downcase.eql?("maruku") + Jekyll::Deprecator.deprecation_message "You're using the 'maruku' " + + "Markdown processor. Maruku support has been deprecated and will " + + "be removed in 3.0.0. We recommend you switch to Kramdown." + end config end diff --git a/site/docs/configuration.md b/site/docs/configuration.md index 8ca54f86..ca6ea87e 100644 --- a/site/docs/configuration.md +++ b/site/docs/configuration.md @@ -300,7 +300,7 @@ permalink: date paginate_path: 'page:num' paginate: nil -markdown: maruku +markdown: kramdown markdown_ext: markdown,mkd,mkdn,md textile_ext: textile diff --git a/test/source/_includes/sig.markdown b/test/source/_includes/sig.markdown index d280e8cc..fbbf563a 100644 --- a/test/source/_includes/sig.markdown +++ b/test/source/_includes/sig.markdown @@ -1,3 +1,3 @@ --- +--- Tom Preston-Werner -github.com/mojombo \ No newline at end of file +github.com/mojombo diff --git a/test/test_configuration.rb b/test/test_configuration.rb index 36e6cb1d..fd0e0d12 100644 --- a/test/test_configuration.rb +++ b/test/test_configuration.rb @@ -4,14 +4,14 @@ class TestConfiguration < Test::Unit::TestCase context "#stringify_keys" do setup do @mixed_keys = Configuration[{ - 'markdown' => 'maruku', + 'markdown' => 'kramdown', :permalink => 'date', 'baseurl' => '/', :include => ['.htaccess'], :source => './' }] @string_keys = Configuration[{ - 'markdown' => 'maruku', + 'markdown' => 'kramdown', 'permalink' => 'date', 'baseurl' => '/', 'include' => ['.htaccess'], diff --git a/test/test_excerpt.rb b/test/test_excerpt.rb index 5255551c..43fe9b43 100644 --- a/test/test_excerpt.rb +++ b/test/test_excerpt.rb @@ -108,7 +108,7 @@ class TestExcerpt < Test::Unit::TestCase end should "be the first paragraph of the page" do - assert_equal "

First paragraph with link ref.

", @extracted_excerpt.content + assert_equal "

First paragraph with link ref.

\n\n", @extracted_excerpt.content end should "link properly" do diff --git a/test/test_filters.rb b/test/test_filters.rb index 0d1da02f..57a9a3d7 100644 --- a/test/test_filters.rb +++ b/test/test_filters.rb @@ -28,7 +28,7 @@ class TestFilters < Test::Unit::TestCase end should "markdownify with simple string" do - assert_equal "

something really simple

", @filter.markdownify("something **really** simple") + assert_equal "

something really simple

\n", @filter.markdownify("something **really** simple") end should "convert array to sentence string with no args" do diff --git a/test/test_post.rb b/test/test_post.rb index c159afe8..528004cd 100644 --- a/test/test_post.rb +++ b/test/test_post.rb @@ -312,7 +312,7 @@ class TestPost < Test::Unit::TestCase end should "return rendered HTML" do - assert_equal "

First paragraph with link ref.

", + assert_equal "

First paragraph with link ref.

\n\n", @post.excerpt end @@ -532,7 +532,7 @@ class TestPost < Test::Unit::TestCase post.site.source = File.join(File.dirname(__FILE__), 'source') do_render(post) - assert_equal "<<<
\n

Tom Preston-Werner github.com/mojombo

\n\n

This is cool

>>>", post.output + assert_equal "<<<
\n

Tom Preston-Werner\ngithub.com/mojombo

\n\n

This is cool

\n >>>", post.output end should "render date specified in front matter properly" do diff --git a/test/test_tags.rb b/test/test_tags.rb index efc108bd..4874fda0 100644 --- a/test/test_tags.rb +++ b/test/test_tags.rb @@ -54,7 +54,7 @@ CONTENT end context "initialized tag" do - should "work" do + should "set the correct options" do tag = Jekyll::Tags::HighlightBlock.new('highlight', 'ruby ', ["test", "{% endhighlight %}", "\n"]) assert_equal({}, tag.instance_variable_get(:@options)) @@ -85,11 +85,11 @@ CONTENT end should "render markdown with pygments" do - assert_match %{
test\n
}, @result + assert_match %{
test\n
}, @result end should "render markdown with pygments with line numbers" do - assert_match %{
1 test\n
}, @result + assert_match %{
1 test\n
}, @result end end @@ -99,7 +99,7 @@ CONTENT end should "not embed the file" do - assert_match %{
./jekyll.gemspec\n
}, @result + assert_match %{
./jekyll.gemspec\n
}, @result end end @@ -109,7 +109,7 @@ CONTENT end should "render markdown with pygments line handling" do - assert_match %{
Æ\n
}, @result + assert_match %{
Æ\n
}, @result end end @@ -268,7 +268,7 @@ CONTENT end should "write script tag" do - assert_match "", @result + assert_match "", @result end end @@ -288,7 +288,7 @@ CONTENT end should "write script tag with specific file in gist" do - assert_match "", @result + assert_match "", @result end end @@ -324,7 +324,7 @@ CONTENT end should "write script tag with specific file in gist" do - assert_match "", @result + assert_match "", @result end end @@ -378,11 +378,11 @@ CONTENT end should "correctly output include variable" do - assert_match "value", @result.strip + assert_match "value", @result.strip end should "ignore parameters if unused" do - assert_match "
\n

Tom Preston-Werner github.com/mojombo

\n", @result + assert_match "
\n

Tom Preston-Werner\ngithub.com/mojombo

\n", @result end end @@ -430,7 +430,7 @@ CONTENT end should "not include previously used parameters" do - assert_match "", @result + assert_match "", @result end end @@ -447,7 +447,7 @@ CONTENT end should "include file with empty parameters" do - assert_match "", @result + assert_match "", @result end end @@ -464,7 +464,7 @@ CONTENT end should "include file with empty parameters within if statement" do - assert_match "", @result + assert_match "", @result end end @@ -477,6 +477,7 @@ puts "Hello world" ``` CONTENT create_post(content, { + 'markdown' => 'maruku', 'maruku' => {'fenced_code_blocks' => true}} ) end From b6c8b3989930bcacae0a6331ed4b88dbfa395347 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sat, 8 Feb 2014 17:08:30 -0500 Subject: [PATCH 24/50] Update history to reflect merge of #1988 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index 9bbfac67..ec1a1a22 100644 --- a/History.markdown +++ b/History.markdown @@ -12,6 +12,7 @@ * Provide a 300% improvement when generating sites that use `Post#next` or `Post#previous` (#1983) * Provide support for CoffeeScript (#1991) + * Replace Maruku with Kramdown as Default Markdown Processor (#1988) ### Minor Enhancements * Move the EntryFilter class into the Jekyll module to avoid polluting the From f607aefeb86a9979abc6904ba13594c124c8255f Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sun, 9 Feb 2014 18:43:46 -0500 Subject: [PATCH 25/50] Update jekyll.gemspec with new files. Ref: #2020 --- jekyll.gemspec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/jekyll.gemspec b/jekyll.gemspec index b78a6e13..6e2035c6 100644 --- a/jekyll.gemspec +++ b/jekyll.gemspec @@ -109,6 +109,7 @@ Gem::Specification.new do |s| lib/jekyll/generator.rb lib/jekyll/generators/pagination.rb lib/jekyll/layout.rb + lib/jekyll/layout_reader.rb lib/jekyll/mime.types lib/jekyll/page.rb lib/jekyll/plugin.rb @@ -232,6 +233,7 @@ Gem::Specification.new do |s| test/source/_config.dev.toml test/source/_data/languages.yml test/source/_data/members.yaml + test/source/_data/products.yml test/source/_includes/include.html test/source/_includes/params.html test/source/_includes/sig.markdown @@ -288,6 +290,9 @@ Gem::Specification.new do |s| test/source/products.yml test/source/properties.html test/source/sitemap.xml + test/source/symlink-test/_data + test/source/symlink-test/symlinked-dir + test/source/symlink-test/symlinked-file test/source/unpublished.html test/source/win/_posts/2009-05-24-yaml-linebreak.markdown test/source/z_category/_posts/2008-9-23-categories.textile @@ -302,6 +307,7 @@ Gem::Specification.new do |s| test/test_filters.rb test/test_generated_site.rb test/test_kramdown.rb + test/test_layout_reader.rb test/test_new_command.rb test/test_page.rb test/test_pager.rb From 56a633ae95f4c914caa5c8059c3d4d3a7a3c0d45 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sun, 9 Feb 2014 18:44:30 -0500 Subject: [PATCH 26/50] Update Jekyll version to latest released. Latest release can be found on the v1-stable branch. --- lib/jekyll.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/jekyll.rb b/lib/jekyll.rb index 803b6fa4..50bc31b1 100644 --- a/lib/jekyll.rb +++ b/lib/jekyll.rb @@ -68,7 +68,7 @@ require 'jekyll-coffeescript' SafeYAML::OPTIONS[:suppress_warnings] = true module Jekyll - VERSION = '1.4.0' + VERSION = '1.4.3' # Public: Generate a Jekyll configuration Hash by merging the default # options with anything in _config.yml, and adding the given options on top. From 18279558da9bc7f80b0a431b1305ff0a6103e895 Mon Sep 17 00:00:00 2001 From: Anthony Smith Date: Tue, 11 Feb 2014 12:48:34 +0000 Subject: [PATCH 27/50] Update #relative_path for _drafts and add tests. Resolves #2019. Add new tests for drafts. Also check path variable in test for posts. --- features/drafts.feature | 10 ++++ lib/jekyll/draft.rb | 5 ++ test/source/_drafts/draft-properties.text | 11 +++++ test/test_draft.rb | 56 +++++++++++++++++++++++ test/test_post.rb | 2 +- 5 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 test/source/_drafts/draft-properties.text create mode 100644 test/test_draft.rb diff --git a/features/drafts.feature b/features/drafts.feature index 5271120b..efff9823 100644 --- a/features/drafts.feature +++ b/features/drafts.feature @@ -23,3 +23,13 @@ Feature: Draft Posts When I run jekyll Then the _site directory should exist And the "_site/recipe.html" file should not exist + + Scenario: Use page.path variable + Given I have a configuration file with "permalink" set to "none" + And I have a _drafts directory + And I have the following draft: + | title | date | layout | content | + | Recipe | 2009-03-27 | simple | Post path: {{ page.path }} | + When I run jekyll with drafts + Then the _site directory should exist + And I should see "Post path: _drafts/recipe.textile" in "_site/recipe.html" diff --git a/lib/jekyll/draft.rb b/lib/jekyll/draft.rb index 321a6e58..7b1d9aca 100644 --- a/lib/jekyll/draft.rb +++ b/lib/jekyll/draft.rb @@ -18,6 +18,11 @@ module Jekyll File.join(source, dir, '_drafts') end + # The path to the draft source file, relative to the site source + def relative_path + File.join(@dir, '_drafts', @name) + end + # Extract information from the post filename. # # name - The String filename of the post file. diff --git a/test/source/_drafts/draft-properties.text b/test/source/_drafts/draft-properties.text new file mode 100644 index 00000000..da33d072 --- /dev/null +++ b/test/source/_drafts/draft-properties.text @@ -0,0 +1,11 @@ +--- +categories: foo bar baz +foo: bar +layout: default +tags: ay bee cee +title: Properties Draft +--- + +All the properties. + +Plus an excerpt. diff --git a/test/test_draft.rb b/test/test_draft.rb new file mode 100644 index 00000000..b1b3d08d --- /dev/null +++ b/test/test_draft.rb @@ -0,0 +1,56 @@ +require 'helper' + +class TestDraft < Test::Unit::TestCase + def setup_draft(file) + Draft.new(@site, source_dir, '', file) + end + + context "A Draft" do + setup do + clear_dest + stub(Jekyll).configuration { Jekyll::Configuration::DEFAULTS } + @site = Site.new(Jekyll.configuration) + end + + should "ensure valid drafts are valid" do + assert Draft.valid?("2008-09-09-foo-bar.textile") + assert Draft.valid?("foo/bar/2008-09-09-foo-bar.textile") + assert Draft.valid?("lol2008-09-09-foo-bar.textile") + + assert !Draft.valid?("blah") + end + + should "make properties accessible through #[]" do + draft = setup_draft('draft-properties.text') + # ! need to touch the file! Or get its timestamp + date = File.mtime(File.join(source_dir, '_drafts', 'draft-properties.text')) + ymd = date.strftime("%Y/%m/%d") + + attrs = { + categories: %w(foo bar baz), + content: "All the properties.\n\nPlus an excerpt.\n", + date: date, + dir: "/foo/bar/baz/#{ymd}", + excerpt: "All the properties.\n\n", + foo: 'bar', + id: "/foo/bar/baz/#{ymd}/draft-properties", + layout: 'default', + name: nil, + path: "_drafts/draft-properties.text", + permalink: nil, + published: nil, + tags: %w(ay bee cee), + title: 'Properties Draft', + url: "/foo/bar/baz/#{ymd}/draft-properties.html" + } + + attrs.each do |attr, val| + attr_str = attr.to_s + result = draft[attr_str] + assert_equal val, result, "For :" + end + end + + end + +end diff --git a/test/test_post.rb b/test/test_post.rb index 528004cd..ee2eff6b 100644 --- a/test/test_post.rb +++ b/test/test_post.rb @@ -38,7 +38,7 @@ class TestPost < Test::Unit::TestCase id: "/foo/bar/baz/2013/12/20/properties", layout: 'default', name: nil, - # path: "properties.html", + path: "_posts/2013-12-20-properties.text", permalink: nil, published: nil, tags: %w(ay bee cee), From c58c5b87827716b9b8c2a9765bed245cc687a812 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Tue, 11 Feb 2014 17:48:52 -0500 Subject: [PATCH 28/50] Default to using the UTF-8 encoding when reading files. Fixes #2029. --- lib/jekyll/configuration.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/jekyll/configuration.rb b/lib/jekyll/configuration.rb index 9566a295..0ec0c5da 100644 --- a/lib/jekyll/configuration.rb +++ b/lib/jekyll/configuration.rb @@ -16,7 +16,7 @@ module Jekyll 'timezone' => nil, # use the local timezone - 'encoding' => nil, # use the system encoding + 'encoding' => 'utf-8', # always use utf-8 encoding. NEVER FORGET 'safe' => false, 'detach' => false, # default to not detaching the server From 933590b6bafba3fbdbfa586be8f550bab0d85471 Mon Sep 17 00:00:00 2001 From: Josh Brown Date: Thu, 13 Feb 2014 13:27:34 +0000 Subject: [PATCH 29/50] Added a breakpoint for .site to make it responsive --- lib/site_template/css/main.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/site_template/css/main.css b/lib/site_template/css/main.css index b11b5b8d..96a1eb26 100755 --- a/lib/site_template/css/main.css +++ b/lib/site_template/css/main.css @@ -39,6 +39,7 @@ a:visited { color: #a0a; } margin-bottom: 2em; } + .posts li { line-height: 1.75em; } @@ -64,6 +65,12 @@ a:visited { color: #a0a; } line-height: 1.5em; } +@media screen and (max-width: 44em) { + .site { + width: 90%; + } +} + .header a { font-weight: bold; text-decoration: none; From 69dc96dc9f5e370866f2bf7e0e0f59bdcd93a242 Mon Sep 17 00:00:00 2001 From: Josh Brown Date: Thu, 13 Feb 2014 13:28:11 +0000 Subject: [PATCH 30/50] Removed accidental linebreak --- lib/site_template/css/main.css | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/site_template/css/main.css b/lib/site_template/css/main.css index 96a1eb26..2ce8e749 100755 --- a/lib/site_template/css/main.css +++ b/lib/site_template/css/main.css @@ -39,7 +39,6 @@ a:visited { color: #a0a; } margin-bottom: 2em; } - .posts li { line-height: 1.75em; } From 8929d1bd638ef8a06e925d27a80ec1722abf1acd Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Thu, 13 Feb 2014 12:52:54 -0500 Subject: [PATCH 31/50] Update history to reflect merge of #2038 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index ec1a1a22..d9cc7a6a 100644 --- a/History.markdown +++ b/History.markdown @@ -35,6 +35,7 @@ * Excludes are now relative to the site source (#1916) * Bring MIME Types file for `jekyll serve` to complete parity with GH Pages servers (#1993) + * Adding Breakpoint to make new site template more responsive (#2038) ### Bug Fixes * Don't allow nil entries when loading posts (#1796) From 54e5e660dbccf627414e414572eb1bd96703dae4 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Thu, 13 Feb 2014 12:54:21 -0500 Subject: [PATCH 32/50] Update history to reflect merge of #2031 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index d9cc7a6a..28908732 100644 --- a/History.markdown +++ b/History.markdown @@ -36,6 +36,7 @@ * Bring MIME Types file for `jekyll serve` to complete parity with GH Pages servers (#1993) * Adding Breakpoint to make new site template more responsive (#2038) + * Default to using the UTF-8 encoding when reading files. (#2031) ### Bug Fixes * Don't allow nil entries when loading posts (#1796) From ec93743659e3e154e215778cc0835ebbdc06b9a3 Mon Sep 17 00:00:00 2001 From: Matt Rogers & Persa Zula Date: Thu, 13 Feb 2014 12:39:00 -0600 Subject: [PATCH 33/50] Update history to reflect merge of #1976 --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index 28908732..947e1ddb 100644 --- a/History.markdown +++ b/History.markdown @@ -51,6 +51,7 @@ * Fixes full path leak to source directory when using include tag (#1951) * Don't generate pages that aren't being published (#1931) * Use `SafeYAML.load` to avoid conflicts with other projects (#1982) + * Relative posts should never fail to build (#1976) ### Development Fixes * Add a link to the site in the README.md file (#1795) From 729b6db7c20001043f1e93332b7ce25f56ea9203 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Thu, 13 Feb 2014 17:56:57 -0500 Subject: [PATCH 34/50] Update history to reflect merge of #2009 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index 947e1ddb..9da0b556 100644 --- a/History.markdown +++ b/History.markdown @@ -71,6 +71,7 @@ * Use Yarp as a Gem proxy for Travis CI (#1984) * Remove Yarp as a Gem proxy for Travis CI (#2004) * Move the reading of layouts into its own class (#2020) + * Test Sass import (#2009) ### Site Enhancements * Document Kramdown's GFM parser option (#1791) From 88e35f085222b2f6a6df501d3abbb31479e75e8c Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Thu, 13 Feb 2014 18:02:49 -0500 Subject: [PATCH 35/50] Release 2.0.0.alpha.1 --- jekyll.gemspec | 4 ++-- lib/jekyll.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jekyll.gemspec b/jekyll.gemspec index 97f9b9d6..bdf2fb23 100644 --- a/jekyll.gemspec +++ b/jekyll.gemspec @@ -5,9 +5,9 @@ Gem::Specification.new do |s| s.required_ruby_version = '>= 1.9.2' s.name = 'jekyll' - s.version = '1.4.3' + s.version = '2.0.0.alpha.1' s.license = 'MIT' - s.date = '2014-01-13' + s.date = '2014-02-13' s.rubyforge_project = 'jekyll' s.summary = "A simple, blog aware, static site generator." diff --git a/lib/jekyll.rb b/lib/jekyll.rb index 50bc31b1..c4cbc8a0 100644 --- a/lib/jekyll.rb +++ b/lib/jekyll.rb @@ -68,7 +68,7 @@ require 'jekyll-coffeescript' SafeYAML::OPTIONS[:suppress_warnings] = true module Jekyll - VERSION = '1.4.3' + VERSION = '2.0.0.alpha.1' # Public: Generate a Jekyll configuration Hash by merging the default # options with anything in _config.yml, and adding the given options on top. From ad9250d1060d1fc07002e9b0442246ba4df26796 Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Fri, 14 Feb 2014 12:17:29 -0600 Subject: [PATCH 37/50] Bump Redcarpet to 3.1.0 - Footnotes - GitHub style header anchors - quotation marks as tags - A few other bug fixes --- jekyll.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jekyll.gemspec b/jekyll.gemspec index bdf2fb23..ac20e0b5 100644 --- a/jekyll.gemspec +++ b/jekyll.gemspec @@ -32,7 +32,7 @@ Gem::Specification.new do |s| s.add_runtime_dependency('mercenary', "~> 0.2.0") s.add_runtime_dependency('safe_yaml', "~> 1.0") s.add_runtime_dependency('colorator', "~> 0.1") - s.add_runtime_dependency('redcarpet', "~> 3.0") + s.add_runtime_dependency('redcarpet', "~> 3.1") s.add_runtime_dependency('toml', '~> 0.1.0') s.add_runtime_dependency('sass', '~> 3.2') s.add_runtime_dependency('jekyll-coffeescript', '~> 1.0') From 36b296334386ecee1e2e796f42e3698746f21bbd Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Fri, 14 Feb 2014 13:30:14 -0500 Subject: [PATCH 38/50] Kill 1.9.2 support. --- .travis.yml | 1 - jekyll.gemspec | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index e193e371..af078557 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,6 @@ rvm: - 2.1.0 - 2.0.0 - 1.9.3 -- 1.9.2 script: script/cibuild after_script: - script/rebund upload diff --git a/jekyll.gemspec b/jekyll.gemspec index bdf2fb23..7cf79e2a 100644 --- a/jekyll.gemspec +++ b/jekyll.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |s| s.specification_version = 2 if s.respond_to? :specification_version= s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.rubygems_version = '1.3.5' - s.required_ruby_version = '>= 1.9.2' + s.required_ruby_version = '>= 1.9.3' s.name = 'jekyll' s.version = '2.0.0.alpha.1' From 1482c8aeccb6498d90762d5f4057dbb16eacdb3f Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Fri, 14 Feb 2014 13:36:32 -0500 Subject: [PATCH 39/50] Update history to reflect merge of #2044 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index 9da0b556..5117d57a 100644 --- a/History.markdown +++ b/History.markdown @@ -37,6 +37,7 @@ servers (#1993) * Adding Breakpoint to make new site template more responsive (#2038) * Default to using the UTF-8 encoding when reading files. (#2031) + * Update Redcarpet dependency to ~> 3.1 (#2044) ### Bug Fixes * Don't allow nil entries when loading posts (#1796) From 49606cb50953252b24a05113b3eba5977df323ac Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Fri, 14 Feb 2014 13:44:31 -0500 Subject: [PATCH 40/50] Update rebund credentials to speed up TravisCI builds. Requests to jekyll's keyfile instance seem to be 401ing. --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index e193e371..48df808a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,5 +24,5 @@ notifications: on_failure: never env: global: - - secure: YFgVNymO2MvA7ieB3hJKQ9cF8zhi5uc3NnBx+ngs6+XF7lV7zYZGMYJ9ufEuPRkXFEI1sSNQJjOQwjmqC71xABrWw6B69XDdYgoTX+53GryVfsrDIPksQo89WAAMKqoPznWtj5fA3OTxUWjHVye2JsduPNuihpniI5j79IzDFQY= - - secure: YrDB4baCV00FPyRafR9UTAUsSgK/07Re+7T+blgX2gK/j54DJdof+EYbQPjc3HeWdfQgIzal2+KkwBItEu2lA8/j6qPwUngd9oRWJPLm19xFizECRY9SD1BxU53T3qmnoYqG0jFvKgYfnn9ggHRDEL31YDOA1monhFhq/8S3SdA= + - secure: bt5nglPTdsc0N5fB1dOJz2WbM81dGpDuVD8PnhEsxgUfoo6xavhU4+pNrUADlSUqQ1aJrdU+MKW4x+JZ2ZnJS8vOpNzRymuMZSbFaljK4pgFGiKFgBdMKxVikvoYcxKCjLAl7NJZ11W6hUw+JtJScClDZwrJJAQB6I7Isp/LsdM= + - secure: Ym8nx7nbfGYGo47my92M+deJykaiMkdZdb615EO51liv/xy/0aQ919Jpfieugc9d3zVnm+zFGPbpv4YzRpsik6OlVBNa4lP+BnQ27ptf5YcLWD8Hksi7845WFLecXMoaTCoYer/TvYZsIWJb2nSDMH9qbfZhnd1YZKuvUpK0rEU= From c77ef87b056adb200baecfc6513e6efee3f4c017 Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Fri, 14 Feb 2014 12:46:07 -0600 Subject: [PATCH 41/50] Update history to reflect merge of #2045 --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index 5117d57a..792cdb7c 100644 --- a/History.markdown +++ b/History.markdown @@ -38,6 +38,7 @@ * Adding Breakpoint to make new site template more responsive (#2038) * Default to using the UTF-8 encoding when reading files. (#2031) * Update Redcarpet dependency to ~> 3.1 (#2044) + * Remove support for Ruby 1.9.2 (#2045) ### Bug Fixes * Don't allow nil entries when loading posts (#1796) From da446c0f196417386980e54b15f76c3149a19663 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Fri, 14 Feb 2014 15:41:07 -0500 Subject: [PATCH 42/50] Update history to reflect merge of #2047 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index 792cdb7c..cecad020 100644 --- a/History.markdown +++ b/History.markdown @@ -110,6 +110,7 @@ * Fix non-semantic nesting of `p` tags in `news_item` layout (#2013) * Document destination folder cleaning (#2016) * Updated instructions for NearlyFreeSpeech.NET installation (#2015) + * Update link to rack-jekyll on "Deployment Methods" page (#2047) ## 1.4.3 / 2014-01-13 From 7b1321d0023eb78042b2f985a7089b31008c9218 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Fri, 14 Feb 2014 15:53:50 -0500 Subject: [PATCH 43/50] Update link to rack-jekyll Ports change from #2047 to master. --- site/docs/deployment-methods.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/deployment-methods.md b/site/docs/deployment-methods.md index f07edb84..d10aabc7 100644 --- a/site/docs/deployment-methods.md +++ b/site/docs/deployment-methods.md @@ -86,7 +86,7 @@ this script from within Textmate. ## Rack-Jekyll -[Rack-Jekyll](http://github.com/bry4n/rack-jekyll/) is an easy way to deploy your site on any Rack server such as Amazon EC2, Slicehost, Heroku, and so forth. It also can run with [shotgun](http://github.com/rtomakyo/shotgun/), [rackup](http://github.com/rack/rack), [mongrel](http://github.com/mongrel/mongrel), [unicorn](http://github.com/defunkt/unicorn/), and [others](https://github.com/adaoraul/rack-jekyll#readme). +[Rack-Jekyll](http://github.com/adaoraul/rack-jekyll/) is an easy way to deploy your site on any Rack server such as Amazon EC2, Slicehost, Heroku, and so forth. It also can run with [shotgun](http://github.com/rtomakyo/shotgun/), [rackup](http://github.com/rack/rack), [mongrel](http://github.com/mongrel/mongrel), [unicorn](http://github.com/defunkt/unicorn/), and [others](https://github.com/adaoraul/rack-jekyll#readme). Read [this post](http://blog.crowdint.com/2010/08/02/instant-blog-using-jekyll-and-heroku.html) on how to deploy to Heroku using Rack-Jekyll. From 699066ef85be89d8ee018c87466a9be9ebc4b0c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zlatan=20Vasovi=C4=87?= Date: Sat, 15 Feb 2014 22:01:37 +0100 Subject: [PATCH 44/50] Add `.mkdown` as valid Markdown extension GitHub Linguist recognizes `.mkdown` as Markdown, so Jekyll should support it as Jekyll is used on GitHub pages. --- lib/jekyll/configuration.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/jekyll/configuration.rb b/lib/jekyll/configuration.rb index 0ec0c5da..ad84f0b4 100644 --- a/lib/jekyll/configuration.rb +++ b/lib/jekyll/configuration.rb @@ -36,7 +36,7 @@ module Jekyll 'exclude' => [], 'paginate_path' => '/page:num', - 'markdown_ext' => 'markdown,mkd,mkdn,md', + 'markdown_ext' => 'markdown,mkdown,mkdn,mkd,md', 'textile_ext' => 'textile', 'port' => '4000', From 7115bfbf3d5532416a75858f5f5a983474b2fe18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zlatan=20Vasovi=C4=87?= Date: Sat, 15 Feb 2014 23:12:31 +0100 Subject: [PATCH 45/50] Reorder Maruku and Kramdown Kramdown is default now, yay! --- README.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.markdown b/README.markdown index 228881db..f920db28 100644 --- a/README.markdown +++ b/README.markdown @@ -38,16 +38,16 @@ Jekyll does what you tell it to do — no more, no less. It doesn't try to outs * Colorator: Colorizes command line output (Ruby) * Classifier: Generating related posts (Ruby) * Directory Watcher: Auto-regeneration of sites (Ruby) +* Kramdown: Default Markdown engine (Ruby) * Liquid: Templating system (Ruby) -* Maruku: Default markdown engine (Ruby) * Pygments.rb: Syntax highlighting (Ruby/Python) * RedCarpet: Markdown engine (Ruby) * Safe YAML: YAML Parser built for security (Ruby) ## Developer Dependencies -* Kramdown: Markdown-superset converter (Ruby) * Launchy: Cross-platform file launcher (Ruby) +* Maruku: Markdown-superset interpreter (Ruby) * RDiscount: Discount Markdown Processor (Ruby) * RedCloth: Textile support (Ruby) * RedGreen: Nicer test output (Ruby) From 8d39bf3850a6d855dffe18f207a80c6fb07e019c Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sat, 15 Feb 2014 17:26:34 -0500 Subject: [PATCH 46/50] Update history to reflect merge of #2049 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index cecad020..8d9da479 100644 --- a/History.markdown +++ b/History.markdown @@ -74,6 +74,7 @@ * Remove Yarp as a Gem proxy for Travis CI (#2004) * Move the reading of layouts into its own class (#2020) * Test Sass import (#2009) + * Switch Maruku and Kramdown in lists of Runtime vs. Development dependencies (#2049) ### Site Enhancements * Document Kramdown's GFM parser option (#1791) From c6b4c41aabb04efe6a77cfc8642ee360d284b6a1 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sat, 15 Feb 2014 17:28:06 -0500 Subject: [PATCH 47/50] Update history to reflect merge of #2048 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index 8d9da479..318b96e6 100644 --- a/History.markdown +++ b/History.markdown @@ -39,6 +39,7 @@ * Default to using the UTF-8 encoding when reading files. (#2031) * Update Redcarpet dependency to ~> 3.1 (#2044) * Remove support for Ruby 1.9.2 (#2045) + * Add `.mkdown` as valid Markdown extension (#2048) ### Bug Fixes * Don't allow nil entries when loading posts (#1796) From c47751148cd6100eb2f1a247b0706c2be050e697 Mon Sep 17 00:00:00 2001 From: Markus Roth Date: Mon, 17 Feb 2014 01:41:12 +0100 Subject: [PATCH 48/50] Remove executable bits of non executable files. --- lib/site_template/css/main.css | 0 site/js/modernizr-2.5.3.min.js | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 lib/site_template/css/main.css mode change 100755 => 100644 site/js/modernizr-2.5.3.min.js diff --git a/lib/site_template/css/main.css b/lib/site_template/css/main.css old mode 100755 new mode 100644 diff --git a/site/js/modernizr-2.5.3.min.js b/site/js/modernizr-2.5.3.min.js old mode 100755 new mode 100644 From c4f5415ece04cf592626d18f04a47132ae6e7a40 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sun, 16 Feb 2014 21:12:03 -0500 Subject: [PATCH 49/50] Update history to reflect merge of #2056 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index 318b96e6..7650902c 100644 --- a/History.markdown +++ b/History.markdown @@ -55,6 +55,7 @@ * Don't generate pages that aren't being published (#1931) * Use `SafeYAML.load` to avoid conflicts with other projects (#1982) * Relative posts should never fail to build (#1976) + * Remove executable bits of non executable files (#2056) ### Development Fixes * Add a link to the site in the README.md file (#1795) From 594e2a94c7cdbf6de358271a42f6e27026985fef Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sun, 16 Feb 2014 21:36:40 -0500 Subject: [PATCH 50/50] Update history to reflect merge of #2042 [ci skip] --- History.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/History.markdown b/History.markdown index 7650902c..0d5145bf 100644 --- a/History.markdown +++ b/History.markdown @@ -56,6 +56,7 @@ * Use `SafeYAML.load` to avoid conflicts with other projects (#1982) * Relative posts should never fail to build (#1976) * Remove executable bits of non executable files (#2056) + * `#path` for a draft is now `_drafts` instead of `_posts` (#2042) ### Development Fixes * Add a link to the site in the README.md file (#1795)