0
我在Rakefile中有一個用於在Jekyll中創建新文章的任務。 (我從Octopress借來的)。使用rake文件在Mac應用程序中打開文檔
我試圖破解它,以便它會創建一個新的降價文件,添加默認的標題信息,然後在IA編寫器中打開它。它創建文件並添加信息,但它打開的不是文件。它看起來像文件名變量沒有被傳遞到系統命令,但我不知道我應該如何寫它。
下面的代碼:
# Usage rake new_post['Title of the Post']
desc "Beginning a new post in _posts"
task :new_post, :title do |t, args|
args.with_defaults(:title => 'new-post')
title = args.title
filename = "_posts/#{Time.now.strftime('%Y-%m-%d')}-#{title.to_url}.markdown"
open_filename = "#{Time.now.strftime('%Y-%m-%d')}-#{title.to_url}.markdown"
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 "date: #{Time.now.strftime('%Y-%m-%d %H:%M')}"
post.puts "categories: "
post.puts "---"
end
puts "Opening: #{filename}"
system('open -a IA\ Writer ~/Dropbox/Archive/jdb/#{filename}')
end
Thanks!我從來沒有抓到過。變量通過後它仍然失敗,因爲它正在尋找一個名爲「Writer」的文件。所以我必須把IA \ Writer放在單引號中。現在完美運作。 –