Octopressで最後に編集した記事だけをgenerate
Dec 7, 2014·
·
2 min read
gam0022
はじめに
以前、Octopressのpreviewを高速化するという記事を書きました。
この記事では、rake isolate と rake integrate を使って特定の記事だけを generate することによって、
rake generate を高速化していました。
しかしながら、この方法は手順が複雑で使うコマンドが多く、面倒だし使い方を忘れるという問題がありました。
通常、最後に保存したファイルを generate することが多いので、これを利用してもっと便利な Rake の task を作ります。
rake generate_only
Rakefile に generate_only という task を追加します。頻繁に使うので、goというaliasも定義しました。
使い方は、rake generate_only [filename] という形式で使います。
filenameを省略すると、最後に保存されたファイルが自動的に設定されます。
## usage rake generate_only[my-post]
## thanks to http://rcmdnk.github.io/blog/2013/12/06/blog-octopress-rake/
desc "Generate only the specified post (much faster)"
task :generate_only, :filename do |t, args|
if args.filename
filename = args.filename
else
filename = Dir.glob("#{source_dir}/#{posts_dir}/*.#{new_post_ext}").sort_by{|f| File.mtime(f)}.last
end
puts "## Test build for #{filename}"
puts "## Stashing other posts"
Rake::Task[:isolate].invoke(filename)
Rake::Task[:generate].execute
puts "## Restoring stashed posts"
Rake::Task[:integrate].execute
end
task go: :generate_only
補足
rake generate_only を実行した後に _stash にファイルが退避されたままだとしたら、
Octopress が古いために、次のパッチが入ってない可能性が高いです。
参考
以下の記事がとても参考になりました!ありがとうございます!
Qiita やってます
全く同じ内容ですが、こちらにもポストしました。
Related Posts
Octopressの見出しにアンカーリンクをつけるように改造
タイトルの通りなのですが、h1レベルの見出しにアンカーリンクをつけるようにOctopressを改造しました。
Octopressでパスを指定するときのテクニック
Octopressで画像などを使うとき、例えば、トップページで表示されるときと記事の詳細ページで表示されるときでは、
Books
ブログ執筆者の著書


