usagerakepost[name,title]orrakepost['name','title']orrakepost[title]orrakepost(defaulttopost)desc"Begin a new post in #{source_dir}/#{posts_dir}"task:post,:name,:titledo|t,args|ifargs.namename=args.nameelsename=get_stdin("Enter a filename for your post:")endifargs.titletitle=args.titleelsetitle=get_stdin("Enter a title for your post:")endraise"### You haven't set anything up yet. First run `rake install` to set up an Octopress theme."unlessFile.directory?(source_dir)mkdir_p"#{source_dir}/#{posts_dir}"filename="#{source_dir}/#{posts_dir}/#{Time.now.strftime('%Y-%m-%d')}-#{name.to_url}.#{new_post_ext}"ifFile.exist?(filename)abort("rake aborted!")ifask("#{filename} already exists. Do you want to overwrite?",['y','n'])=='n'endputs"Creating new post: #{filename}"open(filename,'w')do|post|post.puts"---"post.puts"layout: post"post.puts"title: \"#{title.gsub(/&/,'&')}\""post.puts"date: #{Time.now.strftime('%Y-%m-%d %H:%M:%S %z')}"post.puts"comments: true"post.puts"categories: "post.puts"---"endif#{editor}system"#{editor}#{filename}"endend
# usage rake code[name] or rake code['name'] or rake code(default to code)# tack for new code filesdesc"Begin a new code file in #{source_dir}/#{code_dir}"task:code,:namedo|t,args|ifargs.namename=args.nameelsename=get_stdin("Enter a filename for your code:")endraise"### You haven't set anything up yet. First run `rake install` to set up an Octopress theme."unlessFile.directory?(source_dir)mkdir_p"#{source_dir}/#{code_dir}"basicname="#{Time.now.strftime('%Y-%m-%d')}-#{name}"filename="#{source_dir}/#{code_dir}/#{basicname}"ifFile.exist?(filename)abort("rake aborted!")ifask("#{filename} already exists. Do you want to overwrite?",['y','n'])=='n'endif#{editor}system"#{editor}#{filename}"endifFile.exist?(filename)puts"Created new post: #{filename}"puts"{% include_code [filename] lang:Language #{basicname} %}"puts" or {% include_code [filename] lang:Language #{code_dir}/#{basicname} %}"puts" can be used in blog markdown files."elseputs"File is canceled."endend