Class: Nutils::DataSources::FilesystemCustomizable

Inherits:
Nanoc::DataSources::FilesystemUnified
  • Object
show all
Defined in:
lib/nutils/data_sources/filesystem_customizable.rb

Overview

The filesystem_customizable data source allows an array for source directories and for layout directories.

Examples:

Config.yaml excerpt

data_sources:
  -
    type: filesystem_customizable
    config:
      source_dir: ["src"]
      layout_dir: ["layouts", "other_layouts"]

See Also:

  • Nanoc::DataSources::FilesystemUnified

Author:

  • Arnau Siches

Version:

  • 1.1.1

Instance Method Summary collapse

Instance Method Details

#downObject



44
45
46
47
# File 'lib/nutils/data_sources/filesystem_customizable.rb', line 44

def down
  @dtend = Time.now
  puts "Data Loaded in #{format('%.2f', @dtend - @dtstart)}s."
end

#itemsObject



28
29
30
31
32
# File 'lib/nutils/data_sources/filesystem_customizable.rb', line 28

def items
  @sources.map do |dir|
    load_objects(dir, 'item', Nanoc::Item)
  end.flatten
end

#layoutsObject



33
34
35
36
37
# File 'lib/nutils/data_sources/filesystem_customizable.rb', line 33

def layouts
  @layouts.map do |dir|
    load_objects(dir, 'layout', Nanoc::Layout)
  end.flatten
end

#setupObject



24
25
26
27
# File 'lib/nutils/data_sources/filesystem_customizable.rb', line 24

def setup
  # Create directories
  (@sources + @layouts).each { |dir| FileUtils.mkdir_p dir }
end

#upObject



39
40
41
42
43
# File 'lib/nutils/data_sources/filesystem_customizable.rb', line 39

def up
  @sources = config[:source_dir] || ['content']
  @layouts = config[:layout_dir] || ['layouts']
  @dtstart = Time.now
end