static-bartender 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/bartender/asset.rb +4 -4
- data/lib/bartender/partial.rb +35 -0
- data/lib/bartender/site.rb +16 -6
- data/lib/bartender/version.rb +1 -1
- data/lib/bartender/view_helpers.rb +15 -9
- data/lib/bartender.rb +1 -0
- metadata +9 -23
data/lib/bartender/asset.rb
CHANGED
@@ -8,10 +8,10 @@ module Bartender
|
|
8
8
|
if @sprockets_object
|
9
9
|
@found = true
|
10
10
|
split_file_name = file.split("/")
|
11
|
-
@file = split_file_name[-1]
|
12
|
-
@site_path = @sprockets_object.
|
13
|
-
@src_file = @sprockets_object.pathname
|
14
|
-
@dest_path = File.join(Bartender::DEFAULTS["output"],
|
11
|
+
@file = split_file_name[-1] # asset
|
12
|
+
@site_path = "#{@sprockets_object.logical_path}?#{@sprockets_object.digest}" # folder/asset.ext?digest
|
13
|
+
@src_file = @sprockets_object.pathname # asset-folder/asset.ext
|
14
|
+
@dest_path = File.join(Bartender::DEFAULTS["output"], @sprockets_object.logical_path) # output/folder/asset.ext
|
15
15
|
else
|
16
16
|
@found = false #asset doesn't exist, return nothing
|
17
17
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Bartender
|
2
|
+
|
3
|
+
class Partial
|
4
|
+
include ViewHelpers
|
5
|
+
|
6
|
+
def initialize(partial, sprockets_env, variables={})
|
7
|
+
@tempalte = ""
|
8
|
+
@sprockets_env = sprockets_env
|
9
|
+
variables.each {|k,v| instance_variable_set "@#{k}", v}
|
10
|
+
search_string = File.join(Bartender::DEFAULTS['pages'], '_' + partial + "*")
|
11
|
+
file = Dir.glob(search_string)[0]
|
12
|
+
if file && File.exists?(file)
|
13
|
+
@template = Tilt.new(file).render(self)
|
14
|
+
else
|
15
|
+
$stderr.puts "ERROR: Could not find partial file '#{partial}' in #{Bartender::DEFAULTS['pages']} for page #{self.page}"
|
16
|
+
exit 0
|
17
|
+
end
|
18
|
+
end #Function init
|
19
|
+
|
20
|
+
def to_s
|
21
|
+
@template.to_s
|
22
|
+
end #Function to_s
|
23
|
+
|
24
|
+
|
25
|
+
def method_missing(m, *args)
|
26
|
+
if m =~ /^(\w+)=$/
|
27
|
+
instance_variable_set "@#{$1}", args[0]
|
28
|
+
else
|
29
|
+
instance_variable_get "@#{m}"
|
30
|
+
end
|
31
|
+
end #Funciton method_missing
|
32
|
+
|
33
|
+
end #Class partial
|
34
|
+
|
35
|
+
end #Module Bartender
|
data/lib/bartender/site.rb
CHANGED
@@ -13,24 +13,34 @@ module Bartender
|
|
13
13
|
compile_assets
|
14
14
|
|
15
15
|
Dir.glob(File.join(Bartender::DEFAULTS["pages"], '/**/*')).each do |page|
|
16
|
-
|
16
|
+
compile_page(page) unless page.split('/')[-1].match /^_/ #compile the page unless it is a partial
|
17
17
|
end
|
18
18
|
end #Function initialize
|
19
19
|
|
20
|
+
#compile the page
|
21
|
+
#expects to be passed a path to a tilt template
|
22
|
+
def compile_page(page)
|
23
|
+
Page.new(page, @sprockets_env).compile
|
24
|
+
end #Function compile_page
|
20
25
|
|
21
26
|
#compile the css and js assets for use in the page
|
22
27
|
#uses sprokets set an environment, compile them, then get accessed
|
23
28
|
def compile_assets
|
29
|
+
Dir.glob(File.join(Bartender::DEFAULTS["output"], '/**/*')).each {|asset| File.delete(asset) unless File.directory?(asset)}#delete the old files
|
24
30
|
Dir.glob(File.join(Bartender::DEFAULTS["assets"], '/**/*')).each do |asset|
|
25
|
-
|
26
|
-
|
27
|
-
if asset.found #make sure sprockets can find the asset
|
28
|
-
asset.sprockets_object.write_to(asset.dest_path)
|
29
|
-
end
|
31
|
+
compile_asset(asset)
|
30
32
|
end
|
31
33
|
end #Function compile_assets
|
32
34
|
|
35
|
+
#compile each asset
|
36
|
+
#expects a file name to be passed to it
|
37
|
+
def compile_asset(asset)
|
38
|
+
asset = Bartender::Asset.new(asset.gsub(File.join(Bartender::DEFAULTS["assets"], '/'), ''), @sprockets_env)
|
33
39
|
|
40
|
+
if asset.found #make sure sprockets can find the asset
|
41
|
+
asset.sprockets_object.write_to(asset.dest_path)
|
42
|
+
end
|
43
|
+
end #Function compile_asset
|
34
44
|
|
35
45
|
def self.create(name)
|
36
46
|
name = File.join(Bartender::DEFAULTS["root"], name)
|
data/lib/bartender/version.rb
CHANGED
@@ -5,14 +5,7 @@ module Bartender
|
|
5
5
|
#render a simple partial, use Tilt to render it
|
6
6
|
#display an error if the partial isn't found
|
7
7
|
def partial(filename, variables={})
|
8
|
-
|
9
|
-
file = Dir.glob(search_string)[0]
|
10
|
-
if file && File.exists?(file)
|
11
|
-
Tilt.new(file).render(variables, variables)
|
12
|
-
else
|
13
|
-
$stderr.puts "ERROR: Could not find partial file '#{filename}' in #{Bartender::DEFAULTS['pages']} for page #{self.page}"
|
14
|
-
exit 0
|
15
|
-
end
|
8
|
+
Bartender::Partial.new(filename, self.sprockets_env, variables).to_s
|
16
9
|
end
|
17
10
|
|
18
11
|
#link the appropriate stylesheet
|
@@ -23,7 +16,7 @@ module Bartender
|
|
23
16
|
asset = Bartender::Asset.new(file_path, self.sprockets_env)
|
24
17
|
|
25
18
|
if asset
|
26
|
-
return "<link #{opts.to_a.collect{|opt_a| "#{opt_a[0]}=\"#{opt_a[1]}\""}.join(' ')}
|
19
|
+
return "<link #{opts.to_a.collect{|opt_a| "#{opt_a[0]}=\"#{opt_a[1]}\""}.join(' ')} href=\"#{asset.site_path}\"/>"
|
27
20
|
else
|
28
21
|
$stderr.puts "WARNING: Could not find stylesheet '#{filename}' in #{Bartender::DEFAULTS['assets']} for page #{self.page}"
|
29
22
|
return "<!-- WARNING: Could not link stylesheet #{filename} -->"
|
@@ -59,6 +52,19 @@ module Bartender
|
|
59
52
|
return "<!-- WARNING: Could not link img #{filename} -->"
|
60
53
|
end
|
61
54
|
end #Function link_image
|
55
|
+
|
56
|
+
#provide the path to the asset
|
57
|
+
def asset_url(filename)
|
58
|
+
|
59
|
+
asset = Bartender::Asset.new(filename, self.sprockets_env)
|
60
|
+
|
61
|
+
if asset
|
62
|
+
return asset.site_path
|
63
|
+
else
|
64
|
+
$stderr.puts "WARNING: Could not find asset '#{filename}' in #{Bartender::DEFAULTS['assets']} for page #{self.page}"
|
65
|
+
return "<!-- WARNING: Could not find asset #{filename} -->"
|
66
|
+
end
|
67
|
+
end #Function link_image
|
62
68
|
|
63
69
|
end #Module ViewHelpers
|
64
70
|
|
data/lib/bartender.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: static-bartender
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-07-17 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: deep_merge
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70102636979800 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,15 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
24
|
+
version_requirements: *70102636979800
|
30
25
|
- !ruby/object:Gem::Dependency
|
31
26
|
name: tilt
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &70102636979380 !ruby/object:Gem::Requirement
|
33
28
|
none: false
|
34
29
|
requirements:
|
35
30
|
- - ! '>='
|
@@ -37,15 +32,10 @@ dependencies:
|
|
37
32
|
version: '0'
|
38
33
|
type: :runtime
|
39
34
|
prerelease: false
|
40
|
-
version_requirements:
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
35
|
+
version_requirements: *70102636979380
|
46
36
|
- !ruby/object:Gem::Dependency
|
47
37
|
name: sprockets
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &70102636978960 !ruby/object:Gem::Requirement
|
49
39
|
none: false
|
50
40
|
requirements:
|
51
41
|
- - ! '>='
|
@@ -53,12 +43,7 @@ dependencies:
|
|
53
43
|
version: '0'
|
54
44
|
type: :runtime
|
55
45
|
prerelease: false
|
56
|
-
version_requirements:
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
46
|
+
version_requirements: *70102636978960
|
62
47
|
description: Build static websites smartly
|
63
48
|
email:
|
64
49
|
- daniel@prowestech.com
|
@@ -77,6 +62,7 @@ files:
|
|
77
62
|
- lib/bartender.rb
|
78
63
|
- lib/bartender/asset.rb
|
79
64
|
- lib/bartender/page.rb
|
65
|
+
- lib/bartender/partial.rb
|
80
66
|
- lib/bartender/site.rb
|
81
67
|
- lib/bartender/version.rb
|
82
68
|
- lib/bartender/view_helpers.rb
|
@@ -104,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
90
|
version: '0'
|
105
91
|
requirements: []
|
106
92
|
rubyforge_project:
|
107
|
-
rubygems_version: 1.8.
|
93
|
+
rubygems_version: 1.8.11
|
108
94
|
signing_key:
|
109
95
|
specification_version: 3
|
110
96
|
summary: Use layouts, link helpers, and the asset pipeline to create static websites
|