Method: Jekyll::Site#read_data

Defined in:
lib/jekyll/site.rb

#read_data(dir) ⇒ Object

Read and parse all yaml files under <source>/<dir>

Returns nothing



207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
# File 'lib/jekyll/site.rb', line 207

def read_data(dir)
  base = File.join(self.source, dir)
  return unless File.directory?(base) && (!self.safe || !File.symlink?(base))

  entries = Dir.chdir(base) { Dir['*.{yaml,yml}'] }
  entries.delete_if { |e| File.directory?(File.join(base, e)) }

  entries.each do |entry|
    path = File.join(self.source, dir, entry)
    next if File.symlink?(path) && self.safe

    key = sanitize_filename(File.basename(entry, '.*'))
    self.data[key] = YAML.safe_load_file(path)
  end
end