34 lines
630 B
Ruby
34 lines
630 B
Ruby
module Jekyll
|
|
class Collection
|
|
attr_reader :site, :label
|
|
|
|
def initialize(site, label)
|
|
@site = site
|
|
@label = label
|
|
end
|
|
|
|
def docs
|
|
@docs ||= []
|
|
end
|
|
|
|
def read
|
|
Dir.glob(File.join(directory, "**", "*.*")).each do |file_path|
|
|
if allowed_document?(file_path)
|
|
doc = Jekyll::Document.new(file_path, { site: site, collection: self })
|
|
docs << doc
|
|
end
|
|
end
|
|
docs
|
|
end
|
|
|
|
def directory
|
|
Jekyll.sanitized_path(site.source, "_#{label}")
|
|
end
|
|
|
|
def allowed_document?(path)
|
|
!(site.safe && File.symlink?(path))
|
|
end
|
|
|
|
end
|
|
end
|