Class: Jekyll::Site
- Inherits:
-
Object
- Object
- Jekyll::Site
- Defined in:
- lib/jekyll-theme-isotc211-helpers/resource_listing.rb
Instance Method Summary collapse
- #read_resource_contents(dir, id, listing_id) ⇒ Object
- #read_resources ⇒ Object
- #write_resource_listing_page(listing_id, resources) ⇒ Object
- #write_resource_page(listing_id, resource_id, contents) ⇒ Object
Instance Method Details
#read_resource_contents(dir, id, listing_id) ⇒ Object
71 72 73 74 |
# File 'lib/jekyll-theme-isotc211-helpers/resource_listing.rb', line 71 def read_resource_contents(dir, id, listing_id) cfg = self.config['resource_listings'][listing_id] return directory_hash(dir, "#{cfg['resource_label'].capitalize} #{id}") end |
#read_resources ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/jekyll-theme-isotc211-helpers/resource_listing.rb', line 76 def read_resources if self.config.key?('resource_listings') self.config['resource_listings'].each do |listing_id, cfg| resources = {} Pathname(cfg['resource_root']).children.each do |resource_dir| basename = File.basename(resource_dir) if basename[0] == '.' # Ignore dot-directories next end id = basename resources[id] = {} contents = self.read_resource_contents(resource_dir.to_s, id, listing_id) self.write_resource_page(listing_id, id, contents) end self.write_resource_listing_page(listing_id, resources) end end end |
#write_resource_listing_page(listing_id, resources) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/jekyll-theme-isotc211-helpers/resource_listing.rb', line 44 def write_resource_listing_page(listing_id, resources) cfg = self.config['resource_listings'][listing_id] self.pages << ResourceListingPage.new( self, self.source, cfg['index_url'], cfg['index_layout'], cfg['index_title'], resources) end |
#write_resource_page(listing_id, resource_id, contents) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/jekyll-theme-isotc211-helpers/resource_listing.rb', line 56 def write_resource_page(listing_id, resource_id, contents) cfg = self.config['resource_listings'][listing_id] self.pages << ResourcePage.new( self, self.source, cfg['index_url'], cfg['index_title'], cfg['resource_layout'], resource_id, cfg['resource_label'], {}, contents) end |