lib/nanoc/data_sources/filesystem.rb in nanoc-3.3.6 vs lib/nanoc/data_sources/filesystem.rb in nanoc-3.3.7

- old
+ new

@@ -227,12 +227,16 @@ # file content itself. def parse(content_filename, meta_filename, kind) # Read content and metadata from separate files if meta_filename content = content_filename ? read(content_filename) : '' - meta = YAML.load(read(meta_filename)) || {} - + meta_raw = read(meta_filename) + begin + meta = YAML.load(meta_raw) || {} + rescue Exception => e + raise "Could not parse YAML for #{meta_filename}: #{e.message}" + end return [ meta, content ] end # Read data data = read(content_filename) @@ -249,10 +253,14 @@ "The file '#{content_filename}' appears to start with a metadata section (three or five dashes at the top) but it does not seem to be in the correct format." ) end # Parse - meta = YAML.load(pieces[2]) || {} + begin + meta = YAML.load(pieces[2]) || {} + rescue Exception => e + raise "Could not parse YAML for #{content_filename}: #{e.message}" + end content = pieces[4..-1].join.strip # Done [ meta, content ] end