Sha256: c188f587096f89fd22d560ee12915b3942088a2b7990a1b95afa4fc2b83ecc3d

Contents?: true

Size: 1.27 KB

Versions: 6

Compression:

Stored size: 1.27 KB

Contents

module StaticMatic::BuildMixin
    
  def build
    build_css
    build_html
  end
    
  # Build HTML from the source files
  def build_html
    Dir["#{@src_dir}/pages/**/*.haml"].each do |path|
      next if File.basename(path) =~ /^\_/  # skip partials
      file_dir, template = source_template_from_path(path.sub(/^#{@src_dir}\/pages/, ''))
      save_page(File.join(file_dir, template), generate_html_with_layout(template, file_dir))
    end
  end

  # Build CSS from the source files
  def build_css
    Dir["#{@src_dir}/stylesheets/**/*.sass"].each do |path|
      file_dir, template = source_template_from_path(path.sub(/^#{@src_dir}\/stylesheets/, ''))
      save_stylesheet(File.join(file_dir, template), generate_css(template, file_dir))
    end
  end
  
  def copy_file(from, to)
    FileUtils.cp(from, to)
  end

  def save_page(filename, content)
    generate_site_file(filename, 'html', content)
  end

  def save_stylesheet(filename, content)
    generate_site_file(File.join('stylesheets', filename), 'css', content)
  end

  def generate_site_file(filename, extension, content)
    path = File.join(@site_dir,"#{filename}.#{extension}")
    FileUtils.mkdir_p(File.dirname(path))
    File.open(path, 'w+') do |f|
      f << content
    end
    
    puts "created #{path}"
  end
end

Version data entries

6 entries across 6 versions & 3 rubygems

Version Path
bdimcheff-staticmatic-0.10.1 lib/staticmatic/mixins/build.rb
mattt-staticmatic-0.10.1 lib/staticmatic/mixins/build.rb
staticmatic-0.10.3 lib/staticmatic/mixins/build.rb
staticmatic-0.10.2 lib/staticmatic/mixins/build.rb
staticmatic-0.10.1 lib/staticmatic/mixins/build.rb
staticmatic-0.10.0 lib/staticmatic/mixins/build.rb