Class: Frozen::Site::LocalSite

Inherits:
Base
  • Object
show all
Defined in:
lib/frozen/site/local_site.rb

Instance Attribute Summary

Attributes inherited from Base

#site_root_path

Instance Method Summary collapse

Methods inherited from Base

#build_path, #file_is_javascript?, #file_is_layout?, #file_is_stylesheet?, #file_is_view?, #files_in_path, #image_build_path, #image_template_path, #javascript_build_path, #javascript_template_path, #layout_template_path, #stylesheet_build_path, #stylesheet_template_path, #view_build_path, #view_template_path

Constructor Details

#initialize(site_root_path) ⇒ LocalSite

Returns a new instance of LocalSite.



8
9
10
11
# File 'lib/frozen/site/local_site.rb', line 8

def initialize(site_root_path)
  @site_root_path = File.expand_path(site_root_path)
  super()
end

Instance Method Details

#buildObject



13
14
15
16
17
# File 'lib/frozen/site/local_site.rb', line 13

def build
  build_stylesheets
  build_javascripts
  build_views
end

#build_javascript(javascript) ⇒ Object



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/frozen/site/local_site.rb', line 77

def build_javascript(javascript)
  if javascript.is_a? Frozen::Template::Javascript
    javascript.render_to_file(
      File.join(site_build_path,javascript.build_file_path)
    )
    puts "#{"[javascript]".green} #{javascript.build_file_path}"
  end
  if javascript.is_a? String
    engine = Frozen::Template::Javascript.new
    engine.template_root_path = javascript_template_path
    engine.file_path = file_path
    engine.render_to_file(
      File.join(site_build_path,engine.build_file_path)
    )
    puts "#{"[javascript]".green} #{engine.build_file_path}"
  end
end

#build_javascriptsObject



95
96
97
# File 'lib/frozen/site/local_site.rb', line 95

def build_javascripts
  javascripts.each {|i| build_javascript(i)}
end

#build_stylesheet(stylesheet) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/frozen/site/local_site.rb', line 43

def build_stylesheet(stylesheet)
  if stylesheet.is_a? Frozen::Template::Stylesheet
    stylesheet.render_to_file(
      File.join(site_build_path,stylesheet.build_file_path)
    )
    puts "#{"[stylesheet]".green} #{stylesheet.build_file_path}"
  end
  if stylesheet.is_a? String
    engine = Frozen::Template::Stylesheet.new(
      load_path: stylesheet_template_path
    )
    engine.template_root_path = stylesheet_template_path
    engine.file_path = file_path
    engine.render_to_file(
      File.join(site_build_path,stylesheet.build_file_path)
    )
    puts "#{"[view]".green} #{engine.build_file_path}"
  end
end

#build_stylesheetsObject



37
38
39
40
41
# File 'lib/frozen/site/local_site.rb', line 37

def build_stylesheets
  stylesheets.each do |stylesheet|
    build_stylesheet(stylesheet)
  end
end

#build_view(view) ⇒ Object



118
119
120
121
122
123
# File 'lib/frozen/site/local_site.rb', line 118

def build_view(view)
    view.render_to_file(
      File.join(site_build_path, view.build_file_path)
    )
    puts "#{"[view]".green} #{view.build_file_path}"
end

#build_viewsObject



114
115
116
# File 'lib/frozen/site/local_site.rb', line 114

def build_views
  views.each { |v| build_view(v) }
end

#javascript_file_pathsObject



62
63
64
65
66
# File 'lib/frozen/site/local_site.rb', line 62

def javascript_file_paths
  @javascript_file_paths ||= files_in_path(
    javascript_template_path,
    ["js", "coffee"])
end

#javascriptsObject



68
69
70
71
72
73
74
75
# File 'lib/frozen/site/local_site.rb', line 68

def javascripts
  @javascripts ||= javascript_file_paths.map{ |file_path|
    engine = Frozen::Template::Javascript.new
    engine.template_root_path = javascript_template_path
    engine.file_path = file_path
    engine
  }
end

#site_build_pathObject



125
126
127
# File 'lib/frozen/site/local_site.rb', line 125

def site_build_path
  File.join(site_root_path, "build")
end

#stylesheet_file_pathsObject



19
20
21
22
23
# File 'lib/frozen/site/local_site.rb', line 19

def stylesheet_file_paths
  @stylesheet_file_paths ||= files_in_path(
    stylesheet_template_path,
    "scss")
end

#stylesheetsObject



25
26
27
28
29
30
31
32
33
34
# File 'lib/frozen/site/local_site.rb', line 25

def stylesheets
  @stylesheets ||= stylesheet_file_paths.map {|file_path|
    engine = Frozen::Template::Stylesheet.new(
      load_path: stylesheet_template_path
    )
    engine.template_root_path = stylesheet_template_path
    engine.file_path = file_path
    engine
  }
end

#view_file_pathsObject



100
101
102
# File 'lib/frozen/site/local_site.rb', line 100

def view_file_paths
  @view_file_paths ||= files_in_path(view_template_path, "slim")
end

#viewsObject



104
105
106
107
108
109
110
111
112
# File 'lib/frozen/site/local_site.rb', line 104

def views
    @views ||= view_file_paths.map{|file_path|
      engine = Frozen::Template::View.new
      engine.file_path = file_path
      engine.template_root_path = view_template_path
      engine.layout_path = layout_template_path
      engine
    }
end