diff --git a/middleman-core/lib/middleman-core/core_extensions/front_matter.rb b/middleman-core/lib/middleman-core/core_extensions/front_matter.rb index ac683db7..da5897f7 100644 --- a/middleman-core/lib/middleman-core/core_extensions/front_matter.rb +++ b/middleman-core/lib/middleman-core/core_extensions/front_matter.rb @@ -176,7 +176,14 @@ module Middleman::CoreExtensions return [data, nil] if !app.files.exists?(full_path) || ::Middleman::Util.binary?(full_path) - content = File.read(full_path) + # Avoid weird race condition when a file is renamed. + content = begin + File.read(full_path) + rescue ::EOFError + rescue ::IOError + rescue ::Errno::ENOENT + "" + end begin if content =~ /\A.*coding:/