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