Files
HacktivityLabSheets/_plugins/include_subdirectories.rb
Z. Cliffe Schreuders 72fdaed37f lab updates
2025-09-15 23:43:27 +01:00

23 lines
755 B
Ruby

# Plugin to include markdown files from subdirectories in the labs collection
Jekyll::Hooks.register :site, :after_init do |site|
# Find all markdown files in _labs and subdirectories
labs_dir = File.join(site.source, '_labs')
if Dir.exist?(labs_dir)
Dir.glob(File.join(labs_dir, '**', '*.md')).each do |file|
relative_path = file.sub(site.source + '/', '')
# Skip if already in collection
next if site.collections['labs'].docs.any? { |doc| doc.path == file }
# Create a new document for this file
doc = Jekyll::Document.new(file, {
site: site,
collection: site.collections['labs']
})
# Add to collection
site.collections['labs'].docs << doc
end
end
end