From dd7c5870d936ee37e4a1635058cf08efb84ea2d8 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sun, 3 Feb 2013 20:29:58 +0100 Subject: [PATCH 1/8] Cleaner output when generating site. --- lib/jekyll.rb | 14 +++++++++----- lib/jekyll/commands/build.rb | 6 ++++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/lib/jekyll.rb b/lib/jekyll.rb index 2c1ab0e6..948dc72f 100644 --- a/lib/jekyll.rb +++ b/lib/jekyll.rb @@ -131,12 +131,16 @@ module Jekyll config_file = File.join(source, '_config.yml') begin config = YAML.load_file(config_file) - raise "Invalid configuration - #{config_file}" if !config.is_a?(Hash) - $stdout.puts "Configuration from #{config_file}" + raise "Invalid configuration file: #{config_file}" if !config.is_a?(Hash) + $stdout.puts "Configuration file: #{config_file}" rescue => err - $stderr.puts "WARNING: Could not read configuration. " + - "Using defaults (and options)." - $stderr.puts "\t" + err.to_s + unless File.exists?(config_file) + $stdout.puts "Configuration file: none" + else + $stderr.puts "WARNING: Could not read configuration. " + + "Using defaults (and options)." + $stderr.puts "\t" + err.to_s + end config = {} end diff --git a/lib/jekyll/commands/build.rb b/lib/jekyll/commands/build.rb index 0bb3c4f1..04942b77 100644 --- a/lib/jekyll/commands/build.rb +++ b/lib/jekyll/commands/build.rb @@ -23,7 +23,9 @@ module Jekyll def self.build(site, options) source = options['source'] destination = options['destination'] - puts "Building site: #{source} -> #{destination}" + puts " Source: #{source}" + puts " Destination: #{destination}" + print " Generating... " begin site.process rescue Jekyll::FatalException => e @@ -33,7 +35,7 @@ module Jekyll puts e.message exit(1) end - puts "Successfully generated site: #{source} -> #{destination}" + puts "done." end # Private: Watch for file changes and rebuild the site. From 90fa3f29213b2eea3f7a94734a6cbd71027ac904 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sun, 3 Feb 2013 20:36:34 +0100 Subject: [PATCH 2/8] Improved output for auto-regeneration. --- lib/jekyll/commands/build.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/jekyll/commands/build.rb b/lib/jekyll/commands/build.rb index 04942b77..f85b65e7 100644 --- a/lib/jekyll/commands/build.rb +++ b/lib/jekyll/commands/build.rb @@ -50,7 +50,9 @@ module Jekyll source = options['source'] destination = options['destination'] - puts "Auto-Regenerating enabled: #{source} -> #{destination}" + puts " Source: #{source}" + puts " Destination: #{destination}" + puts " Auto-regeneration: enabled" dw = DirectoryWatcher.new(source) dw.interval = 1 @@ -58,15 +60,16 @@ module Jekyll dw.add_observer do |*args| t = Time.now.strftime("%Y-%m-%d %H:%M:%S") - puts "[#{t}] regeneration: #{args.size} files changed" + print " Regenerating: #{args.size} files at #{t} " site.process + puts "...done." end dw.start unless options['serving'] trap("INT") do - puts "Stopping auto-regeneration..." + puts " Halting auto-regeneration." exit 0 end From f6d38def5a15eace447cdd2689a8ad29d8a3fd63 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sun, 3 Feb 2013 21:30:52 +0100 Subject: [PATCH 3/8] Reworking errors with configuration file. --- lib/jekyll.rb | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/jekyll.rb b/lib/jekyll.rb index 948dc72f..0eb59924 100644 --- a/lib/jekyll.rb +++ b/lib/jekyll.rb @@ -131,16 +131,17 @@ module Jekyll config_file = File.join(source, '_config.yml') begin config = YAML.load_file(config_file) - raise "Invalid configuration file: #{config_file}" if !config.is_a?(Hash) - $stdout.puts "Configuration file: #{config_file}" + raise "Configuration file: (INVALID) #{config_file}" if !config.is_a?(Hash) + $stdout.puts "Configuration file: #{config_file}" + rescue SystemCallError + # Errno:ENOENT = file not found + $stderr.puts "Configuration file: none" + config = {} rescue => err - unless File.exists?(config_file) - $stdout.puts "Configuration file: none" - else - $stderr.puts "WARNING: Could not read configuration. " + - "Using defaults (and options)." - $stderr.puts "\t" + err.to_s - end + $stderr.puts " " + + "WARNING: Error reading configuration. " + + "Using defaults (and options)." + $stderr.puts "#{err}" config = {} end From a3d95957dd428d0dfc729c418dd9ef276cc90fb8 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sun, 3 Feb 2013 21:31:05 +0100 Subject: [PATCH 4/8] Updating tests for new config output. --- test/test_configuration.rb | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/test/test_configuration.rb b/test/test_configuration.rb index 76e8a812..e896da1a 100644 --- a/test/test_configuration.rb +++ b/test/test_configuration.rb @@ -7,22 +7,21 @@ class TestConfiguration < Test::Unit::TestCase end should "fire warning with no _config.yml" do - mock(YAML).load_file(@path) { raise "No such file or directory - #{@path}" } - mock($stderr).puts("WARNING: Could not read configuration. Using defaults (and options).") - mock($stderr).puts("\tNo such file or directory - #{@path}") + mock(YAML).load_file(@path) { raise SystemCallError, "No such file or directory - #{@path}" } + mock($stderr).puts("Configuration file: none") assert_equal Jekyll::DEFAULTS, Jekyll.configuration({}) end should "load configuration as hash" do mock(YAML).load_file(@path) { Hash.new } - mock($stdout).puts("Configuration from #{@path}") + mock($stdout).puts("Configuration file: #{@path}") assert_equal Jekyll::DEFAULTS, Jekyll.configuration({}) end should "fire warning with bad config" do mock(YAML).load_file(@path) { Array.new } - mock($stderr).puts("WARNING: Could not read configuration. Using defaults (and options).") - mock($stderr).puts("\tInvalid configuration - #{@path}") + mock($stderr).puts(" WARNING: Error reading configuration. Using defaults (and options).") + mock($stderr).puts("Configuration file: (INVALID) #{@path}") assert_equal Jekyll::DEFAULTS, Jekyll.configuration({}) end end From bf79b0ac37bf11ba8c1de38569ce4d242d8eaf6c Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Wed, 20 Feb 2013 23:09:34 +0100 Subject: [PATCH 5/8] Fixed merge with new log output in lib/jekyll.rb --- lib/jekyll.rb | 14 +++++++++----- lib/jekyll/commands/build.rb | 6 ++++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/lib/jekyll.rb b/lib/jekyll.rb index f58f3beb..b2ef5ad1 100644 --- a/lib/jekyll.rb +++ b/lib/jekyll.rb @@ -133,12 +133,16 @@ module Jekyll config_file = File.join(source, '_config.yml') begin config = YAML.safe_load_file(config_file) - raise "Invalid configuration - #{config_file}" if !config.is_a?(Hash) - $stdout.puts "Configuration from #{config_file}" + raise "Invalid configuration file: #{config_file}" if !config.is_a?(Hash) + $stdout.puts "Configuration file: #{config_file}" rescue => err - $stderr.puts "WARNING: Could not read configuration. " + - "Using defaults (and options)." - $stderr.puts "\t" + err.to_s + unless File.exists?(config_file) + $stdout.puts "Configuration file: none" + else + $stderr.puts "WARNING: Could not read configuration. " + + "Using defaults (and options)." + $stderr.puts "\t" + err.to_s + end config = {} end diff --git a/lib/jekyll/commands/build.rb b/lib/jekyll/commands/build.rb index 0bb3c4f1..04942b77 100644 --- a/lib/jekyll/commands/build.rb +++ b/lib/jekyll/commands/build.rb @@ -23,7 +23,9 @@ module Jekyll def self.build(site, options) source = options['source'] destination = options['destination'] - puts "Building site: #{source} -> #{destination}" + puts " Source: #{source}" + puts " Destination: #{destination}" + print " Generating... " begin site.process rescue Jekyll::FatalException => e @@ -33,7 +35,7 @@ module Jekyll puts e.message exit(1) end - puts "Successfully generated site: #{source} -> #{destination}" + puts "done." end # Private: Watch for file changes and rebuild the site. From 9eb79ff135427d589f9ae22078036be971a0df71 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sun, 3 Feb 2013 20:36:34 +0100 Subject: [PATCH 6/8] Improved output for auto-regeneration. --- lib/jekyll/commands/build.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/jekyll/commands/build.rb b/lib/jekyll/commands/build.rb index 04942b77..f85b65e7 100644 --- a/lib/jekyll/commands/build.rb +++ b/lib/jekyll/commands/build.rb @@ -50,7 +50,9 @@ module Jekyll source = options['source'] destination = options['destination'] - puts "Auto-Regenerating enabled: #{source} -> #{destination}" + puts " Source: #{source}" + puts " Destination: #{destination}" + puts " Auto-regeneration: enabled" dw = DirectoryWatcher.new(source) dw.interval = 1 @@ -58,15 +60,16 @@ module Jekyll dw.add_observer do |*args| t = Time.now.strftime("%Y-%m-%d %H:%M:%S") - puts "[#{t}] regeneration: #{args.size} files changed" + print " Regenerating: #{args.size} files at #{t} " site.process + puts "...done." end dw.start unless options['serving'] trap("INT") do - puts "Stopping auto-regeneration..." + puts " Halting auto-regeneration." exit 0 end From 5d8e0128997aa6303aab5aa411479b4f26d46e9e Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Wed, 20 Feb 2013 23:10:42 +0100 Subject: [PATCH 7/8] Fixed merge with new log output in lib/jekyll.rb --- lib/jekyll.rb | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/jekyll.rb b/lib/jekyll.rb index b2ef5ad1..a669c911 100644 --- a/lib/jekyll.rb +++ b/lib/jekyll.rb @@ -133,16 +133,17 @@ module Jekyll config_file = File.join(source, '_config.yml') begin config = YAML.safe_load_file(config_file) - raise "Invalid configuration file: #{config_file}" if !config.is_a?(Hash) - $stdout.puts "Configuration file: #{config_file}" + raise "Configuration file: (INVALID) #{config_file}" if !config.is_a?(Hash) + $stdout.puts "Configuration file: #{config_file}" + rescue SystemCallError + # Errno:ENOENT = file not found + $stderr.puts "Configuration file: none" + config = {} rescue => err - unless File.exists?(config_file) - $stdout.puts "Configuration file: none" - else - $stderr.puts "WARNING: Could not read configuration. " + - "Using defaults (and options)." - $stderr.puts "\t" + err.to_s - end + $stderr.puts " " + + "WARNING: Error reading configuration. " + + "Using defaults (and options)." + $stderr.puts "#{err}" config = {} end From a19bb1815aaf10270e006b667145b860e215054c Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Wed, 20 Feb 2013 23:13:06 +0100 Subject: [PATCH 8/8] Fixed merge conflicts in test/test_configuration.rb --- test/test_configuration.rb | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/test/test_configuration.rb b/test/test_configuration.rb index 49415de8..abaf6117 100644 --- a/test/test_configuration.rb +++ b/test/test_configuration.rb @@ -7,22 +7,21 @@ class TestConfiguration < Test::Unit::TestCase end should "fire warning with no _config.yml" do - mock(YAML).safe_load_file(@path) { raise "No such file or directory - #{@path}" } - mock($stderr).puts("WARNING: Could not read configuration. Using defaults (and options).") - mock($stderr).puts("\tNo such file or directory - #{@path}") + mock(YAML).safe_load_file(@path) { raise SystemCallError, "No such file or directory - #{@path}" } + mock($stderr).puts("Configuration file: none") assert_equal Jekyll::DEFAULTS, Jekyll.configuration({}) end should "load configuration as hash" do mock(YAML).safe_load_file(@path) { Hash.new } - mock($stdout).puts("Configuration from #{@path}") + mock($stdout).puts("Configuration file: #{@path}") assert_equal Jekyll::DEFAULTS, Jekyll.configuration({}) end should "fire warning with bad config" do mock(YAML).safe_load_file(@path) { Array.new } - mock($stderr).puts("WARNING: Could not read configuration. Using defaults (and options).") - mock($stderr).puts("\tInvalid configuration - #{@path}") + mock($stderr).puts(" WARNING: Error reading configuration. Using defaults (and options).") + mock($stderr).puts("Configuration file: (INVALID) #{@path}") assert_equal Jekyll::DEFAULTS, Jekyll.configuration({}) end end