Class: Bonsai::Exporter

Inherits:
Object
  • Object
show all
Defined in:
lib/bonsai/exporter.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.pathObject

Returns the value of attribute path.



7
8
9
# File 'lib/bonsai/exporter.rb', line 7

def path
  @path
end

Class Method Details

.compress_assetsObject



38
39
40
41
42
43
44
45
# File 'lib/bonsai/exporter.rb', line 38

def compress_assets
  yui_compressor = File.expand_path("#{File.dirname(__FILE__)}/../../vendor/yui-compressor/yuicompressor-2.4.2.jar")
  
  Bonsai.log "Compressing javascript and stylesheets"
  Dir["#{path}/**/*.{js,css}"].each do |asset|
    system "java -jar #{yui_compressor} #{File.expand_path(asset)} -o #{File.expand_path(asset)}"
  end
end

.copy_publicObject



30
31
32
33
34
35
36
# File 'lib/bonsai/exporter.rb', line 30

def copy_public
  generate_css
  
  Bonsai.log "Copying public files"
  # Using system call because fileutils is inadequate
  system("cp -fR '#{Bonsai.root_dir}/public/.' '#{path}/.'")
end

.process!Object



10
11
12
13
14
15
# File 'lib/bonsai/exporter.rb', line 10

def process!
  setup
  copy_public
  copy_assets
  cleanup
end

.publish!Object



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/bonsai/exporter.rb', line 17

def publish!
  teardown
  setup
  copy_assets
  copy_public
  compress_assets
  write_index
  write_pages
  write_sitemap
  write_readme
  cleanup
end