1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| require 'rake' require 'yaml'
SOURCE = "." CONFIG = { 'posts' => File.join(SOURCE, "_posts"), 'drafts' => File.join(SOURCE, "_drafts"), 'post_ext' => "md", }
# Usage: rake post title="A Title" desc "Begin a new post in #{CONFIG['posts']}" task :post do abort("rake aborted: '#{CONFIG['posts']}' directory not found.") unless FileTest.directory?(CONFIG['posts']) title = ENV["title"] || "new-post" slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '') filename = File.join(CONFIG['posts'], "#{Time.now.strftime('%Y-%m-%d')}-#{slug}.#{CONFIG['post_ext']}") if File.exist?(filename) abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n' end
puts "Creating new post: #{filename}"
open(filename, 'w') do |post| post.puts "---" post.puts "layout: post" post.puts "title: \"#{title.gsub(/-/,' ')}\"" # post.puts "subtitle: \"\"" post.puts "date: #{Time.now.strftime('%Y-%m-%d')}" # post.puts "cover: " post.puts "category: " post.puts "tags: " post.puts "---" end
end # task :post
## 第二个命令 desc "Begin a new post in #{CONFIG['drafts']}" task :draft do abort("rake aborted: '#{CONFIG['drafts']}' directory not found.") unless FileTest.directory?(CONFIG['drafts']) title = ENV["title"] || "new-post" slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '') filename = File.join(CONFIG['drafts'], "#{Time.now.strftime('%Y-%m-%d')}-#{slug}.#{CONFIG['post_ext']}") if File.exist?(filename) abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n' end
puts "Creating new post: #{filename}"
open(filename, 'w') do |post| post.puts "---" post.puts "layout: post" post.puts "title: \"#{title.gsub(/-/,' ')}\"" # post.puts "subtitle: \"\"" post.puts "date: #{Time.now.strftime('%Y-%m-%d')}" # post.puts "cover: " post.puts "category: " post.puts "tags: " post.puts "---" end end
|