middleman 2.0.9.pre.2-x86-mingw32 → 2.0.9.pre.3-x86-mingw32
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/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
|
|