middleman-presentation-helpers 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fbccb76fba897565058e6530e9ce6d433543bf5a
4
- data.tar.gz: 6cd4b20b6eb016bb56ae63fc3174f3a1c8e07ac0
3
+ metadata.gz: f1ba12fc116e521dd772a39ea59ecb29cc6a6d2d
4
+ data.tar.gz: 3365a4da638a894f7b956811f095d0035bc3c96d
5
5
  SHA512:
6
- metadata.gz: 7d1ac201b545fa29f04f894421f1a7e77e6d2e3224e7f79fd4d5f31be893cf0a9fe5eebb84db9bd0a2433b7c41e69153e9e0055892ba05c0571eb99688371762
7
- data.tar.gz: a2b803a78a80fdfcbf1c615fdc37b14ceba479111fb0fdc28074c37824b21f3e99221a6ce2b36bb9b3502082c594d5d9b551cfdb19506661f9e1fb277fb23c5d
6
+ metadata.gz: 35ff49c007dbf3150aa20f179eac849c489ef3c70e657900c0e0ffcc64fe3e8b1ab6ffdfcfa06505a885f79b866de316ed8984132bb43e113eb05ebdc025240e
7
+ data.tar.gz: 88032763232f7c84468e74c28f701a022b5a2701ab948031662e59718941fdc5ba3b3a2d90e2c13906562d56283f525107ec9b6443deb415f339590c699b69ac
data/Gemfile CHANGED
@@ -42,4 +42,6 @@ group :development, :test do
42
42
 
43
43
  gem 'therubyracer'
44
44
  gem 'therubyrhino'
45
+
46
+ gem 'fedux_org-stdlib'
45
47
  end
data/Gemfile.lock CHANGED
@@ -2,7 +2,6 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  middleman-presentation-helpers (0.0.1)
5
- middleman-presentation
6
5
 
7
6
  GEM
8
7
  remote: https://rubygems.org/
@@ -33,33 +32,14 @@ GEM
33
32
  byebug (2.7.0)
34
33
  columnize (~> 0.3)
35
34
  debugger-linecache (~> 1.2)
36
- celluloid (0.15.2)
37
- timers (~> 1.1.0)
38
35
  childprocess (0.5.3)
39
36
  ffi (~> 1.0, >= 1.0.11)
40
- chunky_png (1.3.1)
41
37
  coderay (1.1.0)
42
- coffee-script (2.3.0)
43
- coffee-script-source
44
- execjs
45
- coffee-script-source (1.8.0)
46
38
  columnize (0.8.9)
47
39
  command_exec (0.2.0)
48
40
  activesupport
49
41
  smart_colored
50
42
  xml-simple
51
- compass (1.0.1)
52
- chunky_png (~> 1.2)
53
- compass-core (~> 1.0.1)
54
- compass-import-once (~> 1.0.5)
55
- rb-fsevent (>= 0.9.3)
56
- rb-inotify (>= 0.9)
57
- sass (>= 3.3.13, < 3.5)
58
- compass-core (1.0.1)
59
- multi_json (~> 1.0)
60
- sass (>= 3.3.0, < 3.5)
61
- compass-import-once (1.0.5)
62
- sass (>= 3.2, < 3.5)
63
43
  concord (0.1.5)
64
44
  adamantium (~> 0.2.0)
65
45
  equalizer (~> 0.0.9)
@@ -83,9 +63,7 @@ GEM
83
63
  dotenv-deployment (0.0.2)
84
64
  equalizer (0.0.9)
85
65
  erubis (2.7.0)
86
- execjs (2.2.1)
87
- facter (2.2.0)
88
- fedux_org-stdlib (0.7.11)
66
+ fedux_org-stdlib (0.7.14)
89
67
  activesupport
90
68
  ffi (1.9.3)
91
69
  filegen (0.4.3)
@@ -100,11 +78,6 @@ GEM
100
78
  multi_json (~> 1.3)
101
79
  github-markup (1.2.1)
102
80
  posix-spawn (~> 0.3.8)
103
- haml (4.0.5)
104
- tilt
105
- hike (1.2.3)
106
- hooks (0.4.0)
107
- uber (~> 0.0.4)
108
81
  httparty (0.13.1)
109
82
  json (~> 1.8)
110
83
  multi_xml (>= 0.5.2)
@@ -117,7 +90,6 @@ GEM
117
90
  yard (~> 0.8.7)
118
91
  inflecto (0.0.2)
119
92
  json (1.8.1)
120
- kramdown (1.4.1)
121
93
  launchy (2.4.2)
122
94
  addressable (~> 2.3)
123
95
  libv8 (3.16.14.3)
@@ -128,59 +100,10 @@ GEM
128
100
  sqlite3
129
101
  thor
130
102
  xml-simple
131
- liquid (2.6.1)
132
- listen (2.7.9)
133
- celluloid (>= 0.15.2)
134
- rb-fsevent (>= 0.9.3)
135
- rb-inotify (>= 0.9)
136
103
  memoizable (0.4.2)
137
104
  thread_safe (~> 0.3, >= 0.3.1)
138
105
  method_source (0.8.2)
139
- middleman (3.3.5)
140
- coffee-script (~> 2.2)
141
- compass (>= 0.12.4)
142
- compass-import-once (= 1.0.5)
143
- execjs (~> 2.0)
144
- haml (>= 4.0.5)
145
- kramdown (~> 1.2)
146
- middleman-core (= 3.3.5)
147
- middleman-sprockets (>= 3.1.2)
148
- sass (>= 3.2.17, < 4.0)
149
- uglifier (~> 2.5)
150
- middleman-core (3.3.5)
151
- activesupport (~> 4.1.0)
152
- bundler (~> 1.1)
153
- erubis
154
- hooks (~> 0.3)
155
- i18n (~> 0.6.9)
156
- listen (>= 2.7.9, < 3.0)
157
- padrino-helpers (~> 0.12.3)
158
- rack (>= 1.4.5, < 2.0)
159
- rack-test (~> 0.6.2)
160
- thor (>= 0.15.2, < 2.0)
161
- tilt (~> 1.4.1, < 2.0)
162
- middleman-presentation (0.15.8)
163
- addressable (~> 2.3.5)
164
- bundler
165
- erubis
166
- facter
167
- fedux_org-stdlib (>= 0.6.48)
168
- i18n
169
- kramdown
170
- launchy (~> 2.4.2)
171
- liquid
172
- middleman (~> 3.3.4)
173
- middleman-sprockets (~> 3.3.6)
174
- nokogiri
175
- rake
176
- tzinfo (>= 0.3.0)
177
- middleman-sprockets (3.3.9)
178
- middleman-core (~> 3.3)
179
- sprockets (~> 2.12.1)
180
- sprockets-helpers (~> 1.1.0)
181
- sprockets-sass (~> 1.2.0)
182
106
  mime-types (2.3)
183
- mini_portile (0.6.0)
184
107
  minitest (5.4.0)
185
108
  morpher (0.2.3)
186
109
  abstract_type (~> 0.0.7)
@@ -214,14 +137,6 @@ GEM
214
137
  mutant (~> 0.6.0)
215
138
  rspec-core (>= 2.14.1, < 3.1.0)
216
139
  netrc (0.7.7)
217
- nokogiri (1.6.3.1)
218
- mini_portile (= 0.6.0)
219
- padrino-helpers (0.12.3)
220
- i18n (~> 0.6, >= 0.6.7)
221
- padrino-support (= 0.12.3)
222
- tilt (~> 1.4.1)
223
- padrino-support (0.12.3)
224
- activesupport (>= 3.1)
225
140
  parallel (1.2.4)
226
141
  parser (2.1.9)
227
142
  ast (>= 1.1, < 3.0)
@@ -239,14 +154,8 @@ GEM
239
154
  pry-doc (0.6.0)
240
155
  pry (~> 0.9)
241
156
  yard (~> 0.8)
242
- rack (1.5.2)
243
- rack-test (0.6.2)
244
- rack (>= 1.0)
245
157
  rainbow (2.0.0)
246
158
  rake (10.3.2)
247
- rb-fsevent (0.9.4)
248
- rb-inotify (0.9.5)
249
- ffi (>= 0.5.0)
250
159
  redcarpet (3.1.2)
251
160
  ref (1.0.5)
252
161
  rest-client (1.7.2)
@@ -274,7 +183,6 @@ GEM
274
183
  rainbow (>= 1.99.1, < 3.0)
275
184
  ruby-progressbar (~> 1.4)
276
185
  ruby-progressbar (1.5.1)
277
- sass (3.4.1)
278
186
  sequel (4.13.0)
279
187
  simplecov (0.9.0)
280
188
  docile (~> 1.1.0)
@@ -284,16 +192,6 @@ GEM
284
192
  slop (3.6.0)
285
193
  smart_colored (1.1.1)
286
194
  sparkr (0.4.1)
287
- sprockets (2.12.1)
288
- hike (~> 1.2)
289
- multi_json (~> 1.0)
290
- rack (~> 1.0)
291
- tilt (~> 1.1, != 1.3.0)
292
- sprockets-helpers (1.1.0)
293
- sprockets (~> 2.0)
294
- sprockets-sass (1.2.0)
295
- sprockets (~> 2.0)
296
- tilt (~> 1.1)
297
195
  sqlite3 (1.3.9)
298
196
  term-ansicolor (1.3.0)
299
197
  tins (~> 1.0)
@@ -305,8 +203,6 @@ GEM
305
203
  therubyrhino_jar (1.7.4)
306
204
  thor (0.19.1)
307
205
  thread_safe (0.3.4)
308
- tilt (1.4.1)
309
- timers (1.1.0)
310
206
  tins (1.3.2)
311
207
  tmrb (1.2.7)
312
208
  thor
@@ -314,10 +210,6 @@ GEM
314
210
  json
315
211
  tzinfo (1.2.2)
316
212
  thread_safe (~> 0.1)
317
- uber (0.0.8)
318
- uglifier (2.5.3)
319
- execjs (>= 0.3.0)
320
- json (>= 1.8.0)
321
213
  unparser (0.1.14)
322
214
  abstract_type (~> 0.0.7)
323
215
  adamantium (~> 0.2.0)
@@ -343,6 +235,7 @@ DEPENDENCIES
343
235
  coveralls
344
236
  cucumber
345
237
  erubis
238
+ fedux_org-stdlib
346
239
  filegen
347
240
  foreman
348
241
  fuubar
@@ -0,0 +1,56 @@
1
+ Feature: Image Gallery
2
+
3
+ As a creator of a presentation
4
+ I want to create image galleries easily
5
+ In order to spent as less time as possible on it
6
+
7
+ Background:
8
+ Given I create a new presentation with title "My Presentation"
9
+ And an image "image01.png" at "images/image01.png"
10
+ And an image "image02.png" at "images/image02.png"
11
+
12
+ Scenario: Images only
13
+ Given a slide named "01.html.erb" with:
14
+ """
15
+ <section>
16
+ <h1>Image Gallery</h1>
17
+ <%= image_gallery %W{images/image01.png images/image02.png}, image_gallery_id: 'test-gallery' %>
18
+ </section>
19
+ """
20
+ And the Server is running
21
+ And I go to "/"
22
+ Then I should see:
23
+ """
24
+ <section>
25
+ <h1>Image Gallery</h1>
26
+ <a href="images/image01.png" data-lightbox="test-gallery">
27
+ <img src="images/image01.png" class="mp-preview-image">
28
+ </a>
29
+ <a href="images/image02.png" data-lightbox="test-gallery">
30
+ <img src="images/image02.png" class="mp-preview-image">
31
+ </a>
32
+ </section>
33
+ """
34
+
35
+ Scenario: Images with titles
36
+ Given a slide named "01.html.erb" with:
37
+ """
38
+ <section>
39
+ <h1>Image Gallery</h1>
40
+ <%= image_gallery({'images/image01.png' => 'Title 1', 'images/image02.png' => 'Title 2'}, image_gallery_id: 'test-gallery') %>
41
+ </section>
42
+ """
43
+ And the Server is running
44
+ And I go to "/"
45
+ Then I should see:
46
+ """
47
+ <section>
48
+ <h1>Image Gallery</h1>
49
+ <a href="images/image01.png" data-lightbox="test-gallery">
50
+ <img src="images/image01.png" alt="Title 1" class="mp-preview-image">
51
+ </a>
52
+ <a href="images/image02.png" data-lightbox="test-gallery">
53
+ <img src="images/image02.png" alt="Title 2" class="mp-preview-image">
54
+ </a>
55
+ </section>
56
+ """
@@ -0,0 +1 @@
1
+ # encoding: utf-8
@@ -0,0 +1,18 @@
1
+ # encoding: utf-8
2
+ require 'aruba/cucumber'
3
+
4
+ module Middleman
5
+ module Presentation
6
+ # Spec Helpers
7
+ module FeatureHelper
8
+ # Helpers for aruba
9
+ module Aruba
10
+ def dirs
11
+ @dirs ||= ['tmp', 'cucumber']
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+
18
+ World(Middleman::Presentation::FeatureHelper::Aruba)
@@ -0,0 +1,3 @@
1
+ # Test helpers
2
+ require 'middleman-presentation/helpers/tests'
3
+ World(Middleman::Presentation::Helpers::Tests)
@@ -0,0 +1,20 @@
1
+ # encoding: utf-8
2
+ require 'aruba/cucumber'
3
+
4
+ require 'simplecov'
5
+ SimpleCov.command_name 'cucumber'
6
+ SimpleCov.start
7
+
8
+ # middleman
9
+ require 'middleman-core'
10
+ require 'middleman-core/step_definitions'
11
+ require 'middleman-presentation/features/step_definitions'
12
+
13
+ # Pull in all of the gems including those in the `test` group
14
+ require 'bundler'
15
+ Bundler.require :default, :test, :development
16
+
17
+ ENV['TEST'] = 'true'
18
+ ENV['AUTOLOAD_SPROCKETS'] = 'false'
19
+
20
+ PROJECT_ROOT_PATH = File.expand_path('../../../', __FILE__)
@@ -0,0 +1,19 @@
1
+ # encoding: utf-8
2
+ module Middleman
3
+ module Presentation
4
+ module FeatureHelper
5
+ # Helper for fixtures
6
+ module Fixtures
7
+ def fixtures_manager
8
+ @fixtures_manager ||= FixturesManager.new
9
+
10
+ @fixtures_manager.load_fixtures(File.join(Middleman::Presentation.root_path, 'fixtures'))
11
+
12
+ @fixtures_manager
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+
19
+ World(Middleman::Presentation::FeatureHelper::Fixtures)
@@ -0,0 +1,2 @@
1
+ # encoding: utf-8
2
+ require 'active_support/core_ext/kernel/reporting'
@@ -0,0 +1,41 @@
1
+ # encoding: utf-8
2
+ module Middleman
3
+ module Presentation
4
+ # Helper module
5
+ module Helpers
6
+ # Images helpers
7
+ module Images
8
+ # Create image gallery
9
+ def image_gallery(images, image_gallery_id:)
10
+ template = <<-EOS.strip_heredoc.chomp
11
+ <a href="<%= image_path %>" data-lightbox="<%= image_gallery_id %>">
12
+ <img src="<%= image_path %>"<% if title %> alt="<%= title %>"<% end %> class="mp-preview-image">
13
+ </a>
14
+ EOS
15
+
16
+ images.each_with_object([]) do |(image, title), memo|
17
+ engine = Erubis::Eruby.new(template)
18
+ memo << engine.result(image_path: image, image_gallery_id: image_gallery_id, title: title)
19
+ end.join("\n")
20
+ end
21
+
22
+ # Create entry for single image
23
+ def image(image)
24
+ image_gallery Array(image), image_gallery_id: SecureRandom.hex
25
+ end
26
+
27
+ # Find asset for substring
28
+ def find_asset(substring)
29
+ # sprockets.each_logical_path.find { |f| f.to_s.include? substring }
30
+ result = sprockets.each_file.find { |f| f.to_s.include? substring }
31
+
32
+ if result.blank?
33
+ Middleman::Presentation.t('errors.asset_not_found', asset: substring)
34
+ else
35
+ result.relative_path_from(Pathname.new(source_dir)).to_s
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,7 +1,11 @@
1
+ # encoding: utf-8
2
+ # Middleman
1
3
  module Middleman
4
+ # Presentation
2
5
  module Presentation
6
+ # Helpers
3
7
  module Helpers
4
- VERSION = "0.0.1"
8
+ VERSION = '0.0.2'
5
9
  end
6
10
  end
7
11
  end
@@ -1,9 +1,11 @@
1
- require "middleman/presentation/helpers/version"
1
+ require 'middleman/presentation/helpers/version'
2
+ require 'middleman/presentation/helpers/images'
2
3
 
3
4
  module Middleman
4
5
  module Presentation
5
6
  module Helpers
6
- # Your code goes here...
7
7
  end
8
8
  end
9
9
  end
10
+
11
+ Middleman::Presentation.helpers_manager.add Middleman::Presentation::Helpers::Images
@@ -4,18 +4,16 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'middleman/presentation/helpers/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "middleman-presentation-helpers"
7
+ spec.name = 'middleman-presentation-helpers'
8
8
  spec.version = Middleman::Presentation::Helpers::VERSION
9
- spec.authors = ["Max Meyer"]
10
- spec.email = ["dev@fedux.org"]
9
+ spec.authors = ['Max Meyer']
10
+ spec.email = ['dev@fedux.org']
11
11
  spec.summary = %q{Helpers for middleman-presentation}
12
- spec.homepage = "https://github.com/maxmeyer/middleman-presentation-helpers"
13
- spec.license = "MIT"
12
+ spec.homepage = 'https://github.com/maxmeyer/middleman-presentation-helpers'
13
+ spec.license = 'MIT'
14
14
 
15
15
  spec.files = `git ls-files -z`.split("\x0")
16
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
- spec.require_paths = ["lib"]
19
-
20
- spec.add_dependency 'middleman-presentation'
16
+ spec.executables = spec.files.grep(/^bin\//) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(/^(test|spec|features)\//)
18
+ spec.require_paths = ['lib']
21
19
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-presentation-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Meyer
@@ -9,21 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2014-08-28 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: middleman-presentation
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
12
+ dependencies: []
27
13
  description:
28
14
  email:
29
15
  - dev@fedux.org
@@ -47,7 +33,15 @@ files:
47
33
  - config/rubocop/exclude.yml
48
34
  - config/rubocop/include.yml
49
35
  - cucumber.yml
36
+ - features/image_gallery.feature
37
+ - features/step_definitions.rb
38
+ - features/support/aruba.rb
39
+ - features/support/ci.rb
40
+ - features/support/env.rb
41
+ - features/support/fixtures.rb
42
+ - features/support/reporting.rb
50
43
  - lib/middleman/presentation/helpers.rb
44
+ - lib/middleman/presentation/helpers/images.rb
51
45
  - lib/middleman/presentation/helpers/version.rb
52
46
  - middleman-presentation-helpers.gemspec
53
47
  homepage: https://github.com/maxmeyer/middleman-presentation-helpers
@@ -74,5 +68,12 @@ rubygems_version: 2.4.1
74
68
  signing_key:
75
69
  specification_version: 4
76
70
  summary: Helpers for middleman-presentation
77
- test_files: []
71
+ test_files:
72
+ - features/image_gallery.feature
73
+ - features/step_definitions.rb
74
+ - features/support/aruba.rb
75
+ - features/support/ci.rb
76
+ - features/support/env.rb
77
+ - features/support/fixtures.rb
78
+ - features/support/reporting.rb
78
79
  has_rdoc: