lib/generators/jekyll/blog/templates/tasks/new_post.rake.tt in bloggy-0.2.2 vs lib/generators/jekyll/blog/templates/tasks/new_post.rake.tt in bloggy-0.3

- old
+ new

@@ -7,33 +7,38 @@ OptionParser.new.parse! ARGV.shift title = ARGV.join(' ') path = "config/jekyll/_posts/#{Date.today}-#{title.downcase.gsub(/[^[:alnum:]]+/, '-')}.markdown" - + home_dir = Dir.respond_to?(:home) ? Dir.home : ENV['HOME'] + if File.exist?(path) puts "[WARN] File exists - skipping create" else File.open(path, "w") do |file| file.puts YAML.dump({'layout' => 'post', 'published' => false, 'title' => title}) file.puts "---" end begin config = {'editor' => 'mate'} - if File.exist?("#{Dir.home}/.bloggyrc") - config.merge!(YAML.load_file("#{Dir.home}/.bloggyrc")) + if File.exist?("#{home_dir}/.bloggyrc") + config.merge!(YAML.load_file("#{home_dir}/.bloggyrc")) end rescue TypeError puts "[WARN] Failed to parse editor from .bloggyrc" end - begin - `#{config['editor']} #{path}` - rescue Exception + file = `which #{config['editor']} 2> /dev/null`.chomp + if $?.to_i == 0 and File.exists?(file) + begin + `#{config['editor']} #{path}` + rescue Exception + puts "[WARN] Could not find editor #{config['editor']} - please edit #{path} manually" + end + else puts "[WARN] Could not find editor #{config['editor']} - please edit #{path} manually" end - end exit 1 end