Module: StaticMatic::BuildMixin
- Included in:
- Base
- Defined in:
- lib/staticmatic/mixins/build.rb
Instance Method Summary collapse
- #build ⇒ Object
-
#build_css ⇒ Object
Build CSS from the source files.
-
#build_html ⇒ Object
Build HTML from the source files.
- #copy_file(from, to) ⇒ Object
- #generate_site_file(filename, extension, content) ⇒ Object
- #save_page(filename, content) ⇒ Object
- #save_stylesheet(filename, content) ⇒ Object
Instance Method Details
#build ⇒ Object
3 4 5 6 |
# File 'lib/staticmatic/mixins/build.rb', line 3 def build build_css build_html end |
#build_css ⇒ Object
Build CSS from the source files
18 19 20 21 22 23 |
# File 'lib/staticmatic/mixins/build.rb', line 18 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 |
#build_html ⇒ Object
Build HTML from the source files
9 10 11 12 13 14 15 |
# File 'lib/staticmatic/mixins/build.rb', line 9 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 |
#copy_file(from, to) ⇒ Object
25 26 27 |
# File 'lib/staticmatic/mixins/build.rb', line 25 def copy_file(from, to) FileUtils.cp(from, to) end |
#generate_site_file(filename, extension, content) ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'lib/staticmatic/mixins/build.rb', line 37 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 |
#save_page(filename, content) ⇒ Object
29 30 31 |
# File 'lib/staticmatic/mixins/build.rb', line 29 def save_page(filename, content) generate_site_file(filename, 'html', content) end |
#save_stylesheet(filename, content) ⇒ Object
33 34 35 |
# File 'lib/staticmatic/mixins/build.rb', line 33 def save_stylesheet(filename, content) generate_site_file(File.join('stylesheets', filename), 'css', content) end |