middleman 2.0.9.pre.2-x86-mingw32 → 2.0.9.pre.3-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +9 -0
- data/features/builder.feature +6 -0
- data/features/data.feature +16 -1
- data/features/fonts.feature +11 -0
- data/features/relative_assets.feature +8 -2
- data/features/step_definitions/middleman_steps.rb +9 -2
- data/fixtures/data-app/config.rb +3 -0
- data/fixtures/data-app/data/pages.yml +6 -0
- data/fixtures/data-app/source/index.html.haml +1 -0
- data/fixtures/data-app/source/layout.haml +3 -0
- data/fixtures/fonts-app/config.rb +0 -0
- data/fixtures/fonts-app/source/fonts/StMarie-Thin.otf +0 -0
- data/fixtures/fonts-app/source/stylesheets/fonts.css.sass +3 -0
- data/fixtures/glob-app/config.rb +1 -0
- data/fixtures/glob-app/source/index.html.haml +6 -0
- data/fixtures/glob-app/source/stylesheets/site.css.sass +1 -0
- data/fixtures/test-app/config.rb +1 -0
- data/fixtures/test-app/data/test2.json +4 -0
- data/fixtures/test-app/source/data3.html.erb +1 -0
- data/lib/middleman/base.rb +8 -3
- data/lib/middleman/builder.rb +61 -22
- data/lib/middleman/cli.rb +2 -1
- data/lib/middleman/core_extensions/assets.rb +1 -1
- data/lib/middleman/core_extensions/compass.rb +6 -2
- data/lib/middleman/core_extensions/data.rb +20 -3
- data/lib/middleman/templates/html5.rb +1 -0
- data/lib/middleman/templates/mobile.rb +17 -0
- data/lib/middleman/templates/mobile/source/404.html +38 -0
- data/lib/middleman/templates/mobile/source/README.markdown +64 -0
- data/lib/middleman/templates/mobile/source/crossdomain.xml +25 -0
- data/lib/middleman/templates/mobile/source/css/style.css +236 -0
- data/lib/middleman/templates/mobile/source/default.appcache +17 -0
- data/lib/middleman/templates/mobile/source/humans.txt +43 -0
- data/lib/middleman/templates/mobile/source/img/h/apple-touch-icon.png +0 -0
- data/lib/middleman/templates/mobile/source/img/h/splash.png +0 -0
- data/lib/middleman/templates/mobile/source/img/l/apple-touch-icon-precomposed.png +0 -0
- data/lib/middleman/templates/mobile/source/img/l/apple-touch-icon.png +0 -0
- data/lib/middleman/templates/mobile/source/img/l/splash.png +0 -0
- data/lib/middleman/templates/mobile/source/img/m/apple-touch-icon.png +0 -0
- data/lib/middleman/templates/mobile/source/index.html +95 -0
- data/lib/middleman/templates/mobile/source/js/libs/jquery-1.5.1.js +8316 -0
- data/lib/middleman/templates/mobile/source/js/libs/jquery-1.5.1.min.js +16 -0
- data/lib/middleman/templates/mobile/source/js/libs/modernizr-custom.js +14 -0
- data/lib/middleman/templates/mobile/source/js/libs/respond.min.js +7 -0
- data/lib/middleman/templates/mobile/source/js/mylibs/helper.js +147 -0
- data/lib/middleman/templates/mobile/source/js/script.js +0 -0
- data/lib/middleman/templates/mobile/source/robots.txt +5 -0
- data/lib/middleman/templates/mobile/source/sitemap.xml +10 -0
- data/lib/middleman/templates/mobile/source/test/index.html +31 -0
- data/lib/middleman/templates/mobile/source/test/qunit/qunit.css +148 -0
- data/lib/middleman/templates/mobile/source/test/qunit/qunit.js +1265 -0
- data/lib/middleman/templates/mobile/source/test/tests.js +26 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/Readme.PDF +0 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx1.snippet +31 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx2.snippet +2 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/aspx/ga.aspx +195 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/aspx/sample.aspx +44 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/jsp/ga.jsp +225 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp1.snippet +35 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp2.snippet +2 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/jsp/sample.jsp +51 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/php/ga.php +176 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/php/php1.snippet +30 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/php/php2.snippet +4 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/php/sample.php +44 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/pl/ga.pl +195 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/pl/perl1.snippet +27 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/pl/perl2.snippet +1 -0
- data/lib/middleman/templates/mobile/source/tools/googleanalyticsformobile/pl/sample.pl +38 -0
- data/lib/middleman/templates/mobile/source/tools/mobile-bookmark-bubble/COPYING +202 -0
- data/lib/middleman/templates/mobile/source/tools/mobile-bookmark-bubble/bookmark_bubble.js +559 -0
- data/lib/middleman/templates/mobile/source/tools/mobile-bookmark-bubble/example/example.html +43 -0
- data/lib/middleman/templates/mobile/source/tools/mobile-bookmark-bubble/example/example.js +57 -0
- data/lib/middleman/templates/mobile/source/tools/mobile-bookmark-bubble/images/arrow.png +0 -0
- data/lib/middleman/templates/mobile/source/tools/mobile-bookmark-bubble/images/close.png +0 -0
- data/lib/middleman/templates/mobile/source/tools/mobile-bookmark-bubble/images/generate_base64_images +33 -0
- data/lib/middleman/templates/mobile/source/tools/mobile-bookmark-bubble/images/icon_calendar.png +0 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/README +27 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/databasefactory.js +45 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/dbworker.js +324 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/dbworker_test.html +393 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/dbworkerstarter.js +32 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/dbwrapper_gears.js +595 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/dbwrapper_gears_test.html +404 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/dbwrapper_html5.js +203 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/dbwrapper_html5_test.html +468 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/dbwrapperapi.js +202 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/dbwrapperapi_test.html +51 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/gears_resultset.js +71 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/gears_resultset_test.html +86 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/gears_transaction.js +196 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/gears_transaction_test.html +221 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/gearsutils.js +94 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/gearsutils_test.html +84 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/global_functions.js +72 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/simplenotes/index.html +347 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/simplenotes/simplenotes.js +503 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/simplenotes/styles.css +66 -0
- data/lib/middleman/templates/mobile/source/tools/wspl/simplenotes/template.js +75 -0
- data/lib/middleman/version.rb +1 -1
- data/middleman-x86-mingw32.gemspec +0 -1
- data/middleman.gemspec +3 -2
- metadata +103 -6
- data/lib/middleman/config.ru +0 -2
- data/lib/middleman/features/tiny_src.rb +0 -11
data/CHANGELOG
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
2.0.9
|
2
|
+
=====
|
3
|
+
- Added --glob option to build which only builds matching files
|
4
|
+
- Allow data/ files to be in JSON format as well
|
5
|
+
- Enabled Liquid {% include %} tag
|
6
|
+
- RubyInstaller-specific gem
|
7
|
+
- Allow access to data/ in config.rb
|
8
|
+
- Add mobile html5boilerplate template
|
9
|
+
|
1
10
|
2.0.8
|
2
11
|
=====
|
3
12
|
- Support accessing variables and data objects in ERb Sprockets files (library.js.coffee.erb)
|
data/features/builder.feature
CHANGED
@@ -17,6 +17,12 @@ Feature: Builder
|
|
17
17
|
Then "images/Child folder/regular_file(example).txt" should exist at "test-app"
|
18
18
|
And cleanup built app at "test-app"
|
19
19
|
|
20
|
+
Scenario: Build glob
|
21
|
+
Given a built app at "glob-app" with flags "--glob '**/*.sass'"
|
22
|
+
Then "stylesheets/site.css" should exist at "glob-app" and include "html"
|
23
|
+
Then "index.html" should not exist at "glob-app"
|
24
|
+
And cleanup built app at "glob-app"
|
25
|
+
|
20
26
|
# Scenario: Force relative assets
|
21
27
|
# Given a built app at "relative-app" with flags "--relative"
|
22
28
|
# Then "stylesheets/relative_assets.css" should exist at "relative-app" and include "../"
|
data/features/data.feature
CHANGED
@@ -6,7 +6,22 @@ Feature: Local Data API
|
|
6
6
|
When I go to "/data.html"
|
7
7
|
Then I should see "One:Two"
|
8
8
|
|
9
|
+
Scenario: Rendering json
|
10
|
+
Given the Server is running at "test-app"
|
11
|
+
When I go to "/data3.html"
|
12
|
+
Then I should see "One:Two"
|
13
|
+
|
9
14
|
Scenario: Rendering liquid
|
10
15
|
Given the Server is running at "test-app"
|
11
16
|
When I go to "/data2.html"
|
12
|
-
Then I should see "OneTwo"
|
17
|
+
Then I should see "OneTwo"
|
18
|
+
|
19
|
+
Scenario: Using data in config.rb
|
20
|
+
Given the Server is running at "data-app"
|
21
|
+
When I go to "/test1.html"
|
22
|
+
Then I should see "Welcome"
|
23
|
+
|
24
|
+
Scenario: Using data2 in config.rb
|
25
|
+
Given the Server is running at "data-app"
|
26
|
+
When I go to "/test2.html"
|
27
|
+
Then I should see "Welcome"
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Feature: Web Fonts
|
2
|
+
|
3
|
+
Scenario: Checking built folder for content
|
4
|
+
Given a built app at "fonts-app"
|
5
|
+
Then "stylesheets/fonts.css" should exist at "fonts-app" and include "/fonts/StMarie-Thin.otf"
|
6
|
+
And cleanup built app at "fonts-app"
|
7
|
+
|
8
|
+
Scenario: Rendering scss
|
9
|
+
Given the Server is running at "fonts-app"
|
10
|
+
When I go to "/stylesheets/fonts.css"
|
11
|
+
Then I should see "/fonts/StMarie-Thin.otf"
|
@@ -20,7 +20,7 @@ Feature: Relative Assets
|
|
20
20
|
When I go to "/stylesheets/relative_assets.css"
|
21
21
|
Then I should see "url('../images/blank.gif"
|
22
22
|
|
23
|
-
Scenario: Rendering html with the feature
|
23
|
+
Scenario: Rendering html with the feature enabled
|
24
24
|
Given "relative_assets" feature is "enabled"
|
25
25
|
And the Server is running at "test-app"
|
26
26
|
When I go to "/relative_image.html"
|
@@ -41,4 +41,10 @@ Feature: Relative Assets
|
|
41
41
|
When I go to "/relative_image.html"
|
42
42
|
Then I should not see "/images/blank.gif"
|
43
43
|
Then I should not see "/img/blank.gif"
|
44
|
-
And I should see "img/blank.gif"
|
44
|
+
And I should see "img/blank.gif"
|
45
|
+
|
46
|
+
Scenario: Rendering scss with the feature enabled
|
47
|
+
Given "relative_assets" feature is "enabled"
|
48
|
+
And the Server is running at "fonts-app"
|
49
|
+
When I go to "/stylesheets/fonts.css"
|
50
|
+
Then I should see "url('../fonts/StMarie"
|
@@ -1,9 +1,16 @@
|
|
1
|
+
Given /^a clean server$/ do
|
2
|
+
@server = Middleman.server
|
3
|
+
@server.set :show_exceptions, false
|
4
|
+
end
|
5
|
+
|
1
6
|
Given /^"([^\"]*)" feature is "([^\"]*)"$/ do |feature, state|
|
2
|
-
@server
|
7
|
+
@server = Middleman.server
|
3
8
|
@server.set :show_exceptions, false
|
9
|
+
|
4
10
|
if state == "enabled"
|
5
11
|
@server.activate(feature.to_sym)
|
6
|
-
end
|
12
|
+
end
|
13
|
+
|
7
14
|
@server.set :environment, @current_env || :development
|
8
15
|
end
|
9
16
|
|
@@ -0,0 +1 @@
|
|
1
|
+
%h1 Welcome
|
File without changes
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
page "/index.html", :layout => false
|
@@ -0,0 +1 @@
|
|
1
|
+
@import "compass/reset"
|
data/fixtures/test-app/config.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
<%= data.test2.map { |r| r.title }.join(":") %>
|
data/lib/middleman/base.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# require 'sinatra/synchrony'
|
2
|
+
|
1
3
|
require "i18n"
|
2
4
|
|
3
5
|
require "active_support"
|
@@ -6,7 +8,9 @@ require "active_support/core_ext/class/attribute_accessors"
|
|
6
8
|
|
7
9
|
module Middleman::Base
|
8
10
|
class << self
|
9
|
-
def registered(app)
|
11
|
+
def registered(app)
|
12
|
+
# app.register ::Sinatra::Synchrony
|
13
|
+
|
10
14
|
app.extend ClassMethods
|
11
15
|
app.send :include, InstanceMethods
|
12
16
|
|
@@ -25,7 +29,6 @@ module Middleman::Base
|
|
25
29
|
app.set :js_dir, "javascripts" # Where to look for javascript files
|
26
30
|
app.set :css_dir, "stylesheets" # Where to look for CSS files
|
27
31
|
app.set :images_dir, "images" # Where to look for images
|
28
|
-
app.set :fonts_dir, "fonts" # Where to look for fonts
|
29
32
|
|
30
33
|
app.set :build_dir, "build" # Which folder are builds output to
|
31
34
|
app.set :http_prefix, nil # During build, add a prefix for absolute paths
|
@@ -96,7 +99,9 @@ module Middleman::Base
|
|
96
99
|
|
97
100
|
# Return static files
|
98
101
|
if !::Tilt.mappings.has_key?(template_engine.to_s)
|
99
|
-
|
102
|
+
matched_mime = mime_type(File.extname(request_path))
|
103
|
+
matched_mime = "application/octet-stream" if matched_mime.nil?
|
104
|
+
content_type matched_mime, :charset => 'utf-8'
|
100
105
|
status 200
|
101
106
|
send_file File.join(settings.views, request_path)
|
102
107
|
false
|
data/lib/middleman/builder.rb
CHANGED
@@ -5,14 +5,14 @@ require 'rack/test'
|
|
5
5
|
SHARED_SERVER = Middleman.server
|
6
6
|
SHARED_SERVER.set :environment, :build
|
7
7
|
|
8
|
-
module Middleman
|
8
|
+
module Middleman
|
9
9
|
module ThorActions
|
10
10
|
def tilt_template(source, *args, &block)
|
11
11
|
config = args.last.is_a?(Hash) ? args.pop : {}
|
12
12
|
destination = args.first || source
|
13
13
|
|
14
14
|
# source = File.expand_path(find_in_source_paths(source.to_s))
|
15
|
-
context = instance_eval('binding')
|
15
|
+
# context = instance_eval('binding')
|
16
16
|
|
17
17
|
request_path = destination.sub(/^#{SHARED_SERVER.build_dir}/, "")
|
18
18
|
|
@@ -35,15 +35,16 @@ module Middleman
|
|
35
35
|
include Middleman::ThorActions
|
36
36
|
|
37
37
|
def self.shared_rack
|
38
|
-
@shared_rack ||= begin
|
38
|
+
@shared_rack ||= begin
|
39
39
|
mock = ::Rack::MockSession.new(SHARED_SERVER)
|
40
40
|
sess = ::Rack::Test::Session.new(mock)
|
41
|
-
sess.get("
|
41
|
+
response = sess.get("__middleman__")
|
42
42
|
sess
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
46
|
class_option :relative, :type => :boolean, :aliases => "-r", :default => false, :desc => 'Override the config.rb file and force relative urls'
|
47
|
+
class_option :glob, :type => :string, :aliases => "-g", :default => nil, :desc => 'Build a subset of the project'
|
47
48
|
|
48
49
|
def initialize(*args)
|
49
50
|
super
|
@@ -62,10 +63,14 @@ module Middleman
|
|
62
63
|
def build_all_files
|
63
64
|
self.class.shared_rack
|
64
65
|
|
65
|
-
|
66
|
+
if options.has_key?("glob")
|
67
|
+
action GlobAction.new(self, SHARED_SERVER.views, SHARED_SERVER.build_dir, { :force => true, :glob => options["glob"] })
|
68
|
+
else
|
69
|
+
action DirectoryAction.new(self, SHARED_SERVER.views, SHARED_SERVER.build_dir, { :force => true })
|
66
70
|
|
67
|
-
|
68
|
-
|
71
|
+
SHARED_SERVER.proxied_paths.each do |url, proxy|
|
72
|
+
tilt_template(url.gsub(/^\//, "#{SHARED_SERVER.build_dir}/"), { :force => true })
|
73
|
+
end
|
69
74
|
end
|
70
75
|
end
|
71
76
|
|
@@ -75,6 +80,8 @@ module Middleman
|
|
75
80
|
end
|
76
81
|
|
77
82
|
def run_hooks
|
83
|
+
return if options.has_key?("glob")
|
84
|
+
|
78
85
|
@@hooks.each do |name, proc|
|
79
86
|
instance_eval(&proc)
|
80
87
|
end
|
@@ -85,7 +92,7 @@ module Middleman
|
|
85
92
|
end
|
86
93
|
end
|
87
94
|
|
88
|
-
class
|
95
|
+
class BaseAction < ::Thor::Actions::EmptyDirectory
|
89
96
|
attr_reader :source
|
90
97
|
|
91
98
|
def initialize(base, source, destination=nil, config={}, &block)
|
@@ -95,14 +102,58 @@ module Middleman
|
|
95
102
|
end
|
96
103
|
|
97
104
|
def invoke!
|
98
|
-
base.empty_directory given_destination, config
|
99
105
|
execute!
|
100
106
|
end
|
101
107
|
|
102
108
|
def revoke!
|
103
109
|
execute!
|
104
110
|
end
|
111
|
+
|
112
|
+
protected
|
113
|
+
def handle_path(file_source)
|
114
|
+
# Skip partials prefixed with an underscore
|
115
|
+
return unless file_source.gsub(SHARED_SERVER.root, '').split('/').select { |p| p[0,1] == '_' }.empty?
|
116
|
+
|
117
|
+
file_extension = File.extname(file_source)
|
118
|
+
file_destination = File.join(given_destination, file_source.gsub(source, '.'))
|
119
|
+
file_destination.gsub!('/./', '/')
|
120
|
+
|
121
|
+
handled_by_tilt = ::Tilt.mappings.has_key?(file_extension.gsub(/^\./, ""))
|
122
|
+
if handled_by_tilt
|
123
|
+
file_destination.gsub!(file_extension, "")
|
124
|
+
end
|
125
|
+
|
126
|
+
destination = base.tilt_template(file_source, file_destination, config, &@block)
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
class GlobAction < BaseAction
|
105
131
|
|
132
|
+
protected
|
133
|
+
def execute!
|
134
|
+
Dir[File.join(source, @config[:glob])].each do |path|
|
135
|
+
file_name = path.gsub(SHARED_SERVER.views + "/", "")
|
136
|
+
if file_name == "layouts"
|
137
|
+
false
|
138
|
+
elsif file_name.include?("layout.") && file_name.split(".").length == 2
|
139
|
+
false
|
140
|
+
else
|
141
|
+
next if File.directory?(path)
|
142
|
+
|
143
|
+
handle_path(path)
|
144
|
+
|
145
|
+
true
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
class DirectoryAction < BaseAction
|
152
|
+
def invoke!
|
153
|
+
base.empty_directory given_destination, config
|
154
|
+
super
|
155
|
+
end
|
156
|
+
|
106
157
|
protected
|
107
158
|
def handle_directory(lookup, &block)
|
108
159
|
lookup = File.join(lookup, '*')
|
@@ -131,19 +182,7 @@ module Middleman
|
|
131
182
|
next
|
132
183
|
end
|
133
184
|
|
134
|
-
|
135
|
-
next unless file_source.gsub(SHARED_SERVER.root, '').split('/').select { |p| p[0,1] == '_' }.empty?
|
136
|
-
|
137
|
-
file_extension = File.extname(file_source)
|
138
|
-
file_destination = File.join(given_destination, file_source.gsub(source, '.'))
|
139
|
-
file_destination.gsub!('/./', '/')
|
140
|
-
|
141
|
-
handled_by_tilt = ::Tilt.mappings.has_key?(file_extension.gsub(/^\./, ""))
|
142
|
-
if handled_by_tilt
|
143
|
-
file_destination.gsub!(file_extension, "")
|
144
|
-
end
|
145
|
-
|
146
|
-
destination = base.tilt_template(file_source, file_destination, config, &@block)
|
185
|
+
handle_path(file_source)
|
147
186
|
end
|
148
187
|
end
|
149
188
|
|
data/lib/middleman/cli.rb
CHANGED
@@ -49,7 +49,8 @@ module Middleman
|
|
49
49
|
end
|
50
50
|
|
51
51
|
desc "build", "Builds the static site for deployment"
|
52
|
-
method_option
|
52
|
+
method_option :relative, :type => :boolean, :aliases => "-r", :default => false, :desc => 'Override the config.rb file and force relative urls'
|
53
|
+
method_option :glob, :type => :string, :aliases => "-g", :default => nil, :desc => 'Build a subset of the project'
|
53
54
|
def build
|
54
55
|
v1_check
|
55
56
|
thor_group = Middleman::Builder.new([], options).invoke_all
|
@@ -1,6 +1,9 @@
|
|
1
1
|
module Middleman::CoreExtensions::Compass
|
2
2
|
class << self
|
3
3
|
def registered(app)
|
4
|
+
# Where to look for fonts
|
5
|
+
app.set :fonts_dir, "fonts"
|
6
|
+
|
4
7
|
app.extend ClassMethods
|
5
8
|
|
6
9
|
require "compass"
|
@@ -56,8 +59,8 @@ module Middleman::CoreExtensions::Compass
|
|
56
59
|
File.join(app.http_prefix || "/", app.js_dir)
|
57
60
|
end
|
58
61
|
|
59
|
-
config.
|
60
|
-
app.
|
62
|
+
config.http_fonts_path = if app.respond_to? :http_fonts_path
|
63
|
+
app.http_fonts_path
|
61
64
|
else
|
62
65
|
File.join(app.http_prefix || "/", app.fonts_dir)
|
63
66
|
end
|
@@ -76,6 +79,7 @@ module Middleman::CoreExtensions::Compass
|
|
76
79
|
build_root = File.basename(self.build_dir)
|
77
80
|
config.css_dir = File.join(build_root, self.css_dir)
|
78
81
|
config.images_dir = File.join(build_root, self.images_dir)
|
82
|
+
config.fonts_dir = File.join(build_root, self.fonts_dir)
|
79
83
|
end
|
80
84
|
end
|
81
85
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require "yaml"
|
2
|
+
require "active_support/json"
|
2
3
|
require "thor"
|
3
4
|
|
4
5
|
module Middleman::CoreExtensions::Data
|
@@ -35,9 +36,19 @@ module Middleman::CoreExtensions::Data
|
|
35
36
|
else
|
36
37
|
file_path = File.join(@app.root, @app.data_dir, "#{path}.yml")
|
37
38
|
if File.exists? file_path
|
38
|
-
response = YAML.load_file(file_path)
|
39
|
+
response = YAML.load_file(file_path)
|
40
|
+
else
|
41
|
+
file_path = File.join(@app.root, @app.data_dir, "#{path}.yaml")
|
42
|
+
if File.exists? file_path
|
43
|
+
response = YAML.load_file(file_path)
|
44
|
+
else
|
45
|
+
file_path = File.join(@app.root, @app.data_dir, "#{path}.json")
|
46
|
+
response = ActiveSupport::JSON.decode(File.read(file_path)) if File.exists? file_path
|
47
|
+
end
|
39
48
|
end
|
40
49
|
end
|
50
|
+
|
51
|
+
response
|
41
52
|
end
|
42
53
|
|
43
54
|
def method_missing(path)
|
@@ -64,9 +75,15 @@ module Middleman::CoreExtensions::Data
|
|
64
75
|
data[k] = data_for_path(k)
|
65
76
|
end
|
66
77
|
|
67
|
-
yaml_path = File.join(@app.root, @app.data_dir, "*.yml")
|
78
|
+
yaml_path = File.join(@app.root, @app.data_dir, "*.{yaml,yml}")
|
68
79
|
Dir[yaml_path].each do |f|
|
69
|
-
p = f.split("/").last.gsub(".yml", "")
|
80
|
+
p = f.split("/").last.gsub(".yml", "").gsub(".yaml", "")
|
81
|
+
data[p] = data_for_path(p)
|
82
|
+
end
|
83
|
+
|
84
|
+
json_path = File.join(@app.root, @app.data_dir, "*.json")
|
85
|
+
Dir[json_path].each do |f|
|
86
|
+
p = f.split("/").last.gsub(".json", "")
|
70
87
|
data[p] = data_for_path(p)
|
71
88
|
end
|
72
89
|
|