Class: Nutils::DataSources::FilesystemCustomizable

Inherits:
Nanoc3::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:

  • Nanoc3::DataSources::FilesystemUnified

Author:

  • Arnau Siches

Version:

  • 1.1.1

Instance Method Summary collapse

Instance Method Details

#downObject



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

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

#itemsObject



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

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

#layoutsObject



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

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

#setupObject



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

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

#upObject



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

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