Class: Middleman::Extensions::DirectoryIndexes::DirectoryIndexManager

Inherits:
Object
  • Object
show all
Defined in:
middleman-core/lib/middleman-core/extensions/directory_indexes.rb

Instance Method Summary (collapse)

Constructor Details

- (DirectoryIndexManager) initialize(app)

A new instance of DirectoryIndexManager



24
25
26
# File 'middleman-core/lib/middleman-core/extensions/directory_indexes.rb', line 24

def initialize(app)
  @app = app
end

Instance Method Details

- (void) manipulate_resource_list(resources)

This method returns an undefined value.

Update the main sitemap resource list



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'middleman-core/lib/middleman-core/extensions/directory_indexes.rb', line 30

def manipulate_resource_list(resources)
  index_file = @app.index_file
  new_index_path = "/#{index_file}"
  
  resources.each do |resource|
    # Check if it would be pointless to reroute
    next if resource.path == index_file || 
            resource.path.end_with?(new_index_path) || 
            File.extname(index_file) != resource.ext
    
    # Check if frontmatter turns directory_index off
    d = resource.data
    next if d && d["directory_index"] == false
  
    # Check if file metadata (options set by "page" in config.rb) turns directory_index off
    if resource.[:options] && resource.[:options][:directory_index] == false
      next
    end
    
    resource.destination_path = resource.path.chomp(File.extname(index_file)) + new_index_path
  end
end