0

Rakefile に、Jekyll で新しい投稿を作成するためのタスクがあります。(オクトプレスからお借りしました)。

新しいマークダウン ファイルを作成し、デフォルトのヘッダー情報を追加して、IA Writer で開くようにハッキングしようとしました。ファイルを作成して情報を追加しますが、開くのはファイルではありません。ファイル名変数がシステムコマンドに渡されていないようですが、どのように記述すればよいかわかりません。

コードは次のとおりです。

# 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
4

1 に答える 1

0

行内でにsystem...変更'"ます。'Ruby では変数を使用しません。例:

001 > filename = "test"
=> "test"
002 > puts '#{filename}'
=> #{filename}
003 > puts "#{filename}"
=> test
于 2011-12-06T04:30:49.253 に答える