middlemac-extras 1.0.6 → 1.0.11

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.
Files changed (41) hide show
  1. checksums.yaml +5 -5
  2. data/.gitattributes +4 -0
  3. data/.gitignore +8 -1
  4. data/.yardopts +7 -0
  5. data/CHANGELOG.md +55 -9
  6. data/Rakefile +206 -7
  7. data/documentation_project/Gemfile +3 -3
  8. data/documentation_project/config.rb +2 -6
  9. data/documentation_project/source/api_reference.html.md.erb +38 -0
  10. data/documentation_project/source/cli.html.md.erb +4 -3
  11. data/documentation_project/source/config_rb.html.md.erb +1 -2
  12. data/documentation_project/source/css_image_sizes.html.md.erb +2 -3
  13. data/documentation_project/source/image_tag.html.md.erb +1 -2
  14. data/documentation_project/source/index.html.md.erb +8 -7
  15. data/documentation_project/source/license.html.md.erb +1 -2
  16. data/documentation_project/source/md_images.html.md.erb +1 -2
  17. data/documentation_project/source/md_links.html.md.erb +1 -2
  18. data/documentation_project/source/partials/_yard_config.erb +200 -0
  19. data/documentation_project/source/partials/_yard_helpers.erb +192 -0
  20. data/documentation_project/source/partials/_yard_helpers_extended.erb +135 -0
  21. data/documentation_project/source/stylesheets/_middlemac_minimal.scss +281 -0
  22. data/features/helpers.feature +39 -0
  23. data/features/support/env.rb +20 -0
  24. data/fixtures/middlemac_extras_app/config.rb +7 -0
  25. data/fixtures/middlemac_extras_app/source/images/middlemac-extras-small.png +0 -0
  26. data/fixtures/middlemac_extras_app/source/images/middlemac-extras-small@2x.png +0 -0
  27. data/fixtures/middlemac_extras_app/source/images/middlemac-extras-smaller.png +0 -0
  28. data/fixtures/middlemac_extras_app/source/index.html.md.erb +31 -0
  29. data/lib/middlemac-extras/extension.rb +187 -61
  30. data/lib/middlemac-extras/version.rb +1 -1
  31. data/middlemac-extras.gemspec +44 -17
  32. data/yard/readme.md +6 -0
  33. data/yard/template-grouped/default/module/html/method_details_list.erb +11 -0
  34. data/yard/template-partials/default/method_details/setup.rb +4 -0
  35. data/yard/template-partials/default/module/html/attribute_details.erb +9 -0
  36. data/yard/template-partials/default/module/html/method_details_list.erb +10 -0
  37. data/yard/template-partials/default/module/setup.rb +6 -0
  38. data/yard/template-partials/default/onefile/html/layout.erb +1 -0
  39. data/yard/template-partials/default/onefile/html/setup.rb +4 -0
  40. data/yard/yard_extensions.rb +109 -0
  41. metadata +118 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 31a65dd425ee55202ee06644b77dc24aa1a902eb
4
- data.tar.gz: e3f7ac7e9f4d119285a0574bfcf698b154f8756f
2
+ SHA256:
3
+ metadata.gz: 62c558839c6210edb90fc9af6769a000b2a5192de0a047e796ee67796d759ae1
4
+ data.tar.gz: 862e1a8f7d748db8d981d55c492a1ffb309f4b4944047d88e5a55e3706cc1811
5
5
  SHA512:
6
- metadata.gz: 683a523261e3c37fc8bedcb054e77037b5e2ac69d372b73e3261acea6c4b7f1bfcc935aeb064962a99f34293ae639518567fa8bfbe21922f3b0617b521ecc41e
7
- data.tar.gz: 0c67ae4502826c5bfdc4288954cc976a9ed708f2a0bbeb6bb0b3103e9a5e9520d8e12ad63bb127f7246d9f209dbc56080a40c1c157faf1babfe455f4ccfd567b
6
+ metadata.gz: b3333535b3f47c533f8faac58372a6a142d0d1a0dfc3c6a7fa81cc85be1702bf224628283966b02ea7eca25c04b1fc7f81d89ad6fe2619d0df718a1f6e69719c
7
+ data.tar.gz: c0132e7a7791a8010673d0f28211d9f41dfa951d3f5db6127ede91792ae27b0381d18a31cf650d5a12b0ada230f03e73db17002e5cbe21857e70edc8a28f50b2
data/.gitattributes ADDED
@@ -0,0 +1,4 @@
1
+ *.html linguist-documentation
2
+ *.css linguist-documentation
3
+ *.erb linguist-documentation
4
+ *.js linguist-documentation
data/.gitignore CHANGED
@@ -14,4 +14,11 @@ Gemfile.lock
14
14
  /pkg
15
15
 
16
16
  # Ignore build folders
17
- build*
17
+ build/*
18
+
19
+ # Yard cruft
20
+ /doc/
21
+ /.yardoc
22
+
23
+ # Aruba
24
+ /tmp/
data/.yardopts ADDED
@@ -0,0 +1,7 @@
1
+ --no-private
2
+ --markup=markdown
3
+ --load yard/yard_extensions.rb
4
+ --exclude middlemac-extras/version.rb
5
+ --one-file
6
+ --readme yard/readme.md
7
+ --title middlemac-extras
data/CHANGELOG.md CHANGED
@@ -1,19 +1,65 @@
1
1
  middlemac-extras change log
2
2
  ===========================
3
3
 
4
+ - Version 1.0.11 / 2021-April-12
5
+
6
+ - Updated Ruby version requirements to make it clear that Ruby 3.0+ is not yet
7
+ supported.
8
+ Updated test task so that default task doesn't use the noisy version with deprecation
9
+ warnings, and to remove the advertisement at the end of output.
10
+ Removed support for automatic_image_tags, which was removed due to middleman
11
+ issue #2319.
12
+ - Added .gitattributes for proper language reporting in GitHub.
13
+ No version bump.
14
+ No new gem.
15
+
16
+ - Version 1.0.10 / 2018-April-28
17
+
18
+ - Update to 1.0.10 for use with newer middlemac.
19
+
20
+ - Version 1.0.9 / 2018-April-28
21
+
22
+ - Updated to 1.0.9. md_links no longer outputs empty quotes if no description.
23
+
24
+ - Version 1.0.8 / 2016-May-15
25
+
26
+ - Bump to 1.0.8 improvements:
27
+ - Better version management in Rakefile.
28
+ - Fixes failing Cucumber testing by forcing capybara development dependency.
29
+
30
+ - Version 1.0.7 / 2016-May-11
31
+
32
+ - Version 1.0.7 supports RAKE, Yard, etc.
33
+ - YARD support added.
34
+ - Cucumber tests added.
35
+ - Documentation project updates.
36
+ - Source code commented extensively for YARD.
37
+
4
38
  - Version 1.0.6 / 2016-April-08
5
39
 
6
- - If `middleman-targets` is also installed, support images without extensions
7
- for it, too. Make sure to active it first, though.
8
-
9
- - Added CLI topic to help file.
40
+ - Works cooperative if middleman-targets is installed to support images without extensions for target-specific images, too. Added CLI help section.
41
+
42
+ - Version 1.0.5 / 2016-April-07
43
+
44
+ - 1.0.5 Fixes id-ten-t issue.
45
+
46
+ - Version 1.0.4 / 2016-April-07
47
+
48
+ - Final gem fix.
49
+
50
+ - Version 1.0.3 / 2016-April-07
51
+
52
+ - Gem fixes.
53
+
54
+ - Version 1.0.2 / 2016-April-07
55
+
56
+ - Fix bad gem push.
10
57
 
11
- - Version 1.0.5 / 2016-April-08
58
+ - Version 1.0.1 / 2016-April-07
12
59
 
13
- - Fixed the implementation of css_image_sizes so that full path is not
14
- always used, as Middleman using `:relative_assets` doesn't use the full
15
- path.
60
+ - css_images_sizes fixed for relative_assets
16
61
 
17
62
  - Version 1.0.0 / 2016-April-05
18
63
 
19
- - Initial Release
64
+ - middlemac-extras
65
+ Initial release.
data/Rakefile CHANGED
@@ -1,10 +1,209 @@
1
- require "bundler/gem_tasks"
2
- require "rake/testtask"
1
+ require 'bundler/gem_tasks'
2
+ require 'cucumber/rake/task'
3
+ require 'yard'
4
+ require 'git'
5
+ require File.expand_path('../lib/middlemac-extras/version.rb', __FILE__)
3
6
 
4
- Rake::TestTask.new(:test) do |t|
5
- t.libs << "test"
6
- t.libs << "lib"
7
- t.test_files = FileList['test/**/*_test.rb']
7
+
8
+ ###############################################################################
9
+ # :default
10
+ # Define the default task.
11
+ ###############################################################################
12
+ task :default => :test
13
+
14
+
15
+ ###############################################################################
16
+ # :test
17
+ # Perform Cucumber testing.
18
+ ###############################################################################
19
+ Cucumber::Rake::Task.new(:test, 'Features that must pass') do |task|
20
+ task.cucumber_opts = '--publish-quiet --require features --color --tags "not @wip" --strict --format pretty 2>/dev/null'
8
21
  end
9
22
 
10
- task :default => :spec
23
+ Cucumber::Rake::Task.new(:testnoisy, 'Features that must pass') do |task|
24
+ task.cucumber_opts = '--publish-quiet --require features --color --tags "not @wip" --strict --format pretty'
25
+ end
26
+
27
+
28
+ ###############################################################################
29
+ # :yard
30
+ # Generate documentation using YARD. Note that there is a `.yardopts` file
31
+ # present that will load the `yard/yard_extensions.rb` file in order to
32
+ # control how output is generated. Output will be to the default `doc`
33
+ # directory using the template-grouped template, as a single page.
34
+ ###############################################################################
35
+ YARD::Rake::YardocTask.new(:yard) do |task|
36
+ task.stats_options = ['--list-undoc']
37
+ end
38
+
39
+
40
+ ###############################################################################
41
+ # :partials
42
+ # Generate documentation partials using YARD. These are used by the
43
+ # documentation project in order to include the API documentation.
44
+ ###############################################################################
45
+ desc 'Make separate documents for documentation_project'
46
+ task :partials do
47
+
48
+ # Define the @!group to output file relationships.
49
+ sections = [
50
+ { :file => '_yard_helpers.erb', :group => 'Helpers', },
51
+ { :file => '_yard_helpers_extended.erb', :group => 'Extended Helpers' },
52
+ { :file => '_yard_config.erb', :group => 'Extension Configuration' },
53
+ ]
54
+
55
+ # Define the output directory.
56
+ dest = File.join('documentation_project', 'source', 'partials')
57
+
58
+ # Run YARD multiple times, filtering the group that interests us.
59
+ sections.each do |s|
60
+ params = [
61
+ "--query 'o.group == \"#{s[:group]}\" || has_tag?(:author)'",
62
+ "-o #{dest}",
63
+ "-t default",
64
+ "-p #{File.join(File.dirname(__FILE__), 'yard', 'template-partials')}"
65
+ ]
66
+ command = "yardoc #{params.join(' ')}"
67
+ puts command
68
+ system(command)
69
+ File.rename( File.join(dest, 'index.html'), File.join(dest, s[:file]) )
70
+ end
71
+
72
+ end
73
+
74
+
75
+ ###############################################################################
76
+ # :version
77
+ # Displays the current version.
78
+ ###############################################################################
79
+ desc 'Displays the current version'
80
+ task :version do
81
+ puts "Current version: #{Middleman::MiddlemacExtras::VERSION}"
82
+ end
83
+
84
+
85
+ ###############################################################################
86
+ # :version_finalize
87
+ # Remove any wip suffix from the version, as we are ready to release.
88
+ ###############################################################################
89
+ desc 'Remove any wip suffix from the version'
90
+ task :version_finalize do
91
+ version_old = Middleman::MiddlemacExtras::VERSION
92
+ version_new = version_old.sub('.wip', '')
93
+ update_versions( version_new )
94
+ end
95
+
96
+
97
+ ###############################################################################
98
+ # :version_next_wip
99
+ # Increment the patch level and add a wip suffix. We are ready for work.
100
+ ###############################################################################
101
+ desc 'Increment the patch level and add a wip suffix'
102
+ task :version_next_wip do
103
+ version_old = Middleman::MiddlemacExtras::VERSION
104
+ version_new = version_old.sub('.wip', '').split('.')
105
+ version_new.last.succ!
106
+ version_new = version_new.join('.') + '.wip'
107
+ update_versions( version_new )
108
+ end
109
+
110
+
111
+ ###############################################################################
112
+ # :version_set
113
+ # Sets an arbitrary version.
114
+ ###############################################################################
115
+ desc 'Sets all of the files to the version specified. Use rake version_set[value].'
116
+ task :version_set, :new_version do |t, args|
117
+ update_versions( args[:new_version] )
118
+ end
119
+
120
+
121
+ ###############################################################################
122
+ # :log
123
+ # Generate the CHANGELOG.md file.
124
+ ###############################################################################
125
+ desc 'Generate the CHANGELOG.md file'
126
+ task :log do
127
+ report = ''
128
+ report << "middlemac-extras change log\n"
129
+ report << "===========================\n"
130
+
131
+ Git.open( File.expand_path('..', __FILE__) ).log.each_with_index do |l, i|
132
+
133
+ version = nil
134
+ if i == 0 && !l.name.start_with?('tags/')
135
+ version = "Version #{Middleman::MiddlemacExtras::VERSION}"
136
+ elsif l.name.end_with?('^0')
137
+ version = "Version #{l.name.match(/tags\/v(.*)\^0/)[1]}"
138
+ end
139
+
140
+ if version
141
+ report << "\n- #{version} / #{l.date.strftime('%Y-%B-%d')}\n"
142
+ report << "\n"
143
+ end
144
+
145
+ l.message.each_line.with_index do |line, lineno|
146
+ if lineno == 0
147
+ report << " - #{line}"
148
+ else
149
+ report << " #{line}" unless line.strip == ''
150
+ end
151
+ end
152
+ report << "\n"
153
+ end # Git.open
154
+
155
+ file = File.expand_path('../CHANGELOG.md', __FILE__)
156
+ File.write(file, report)
157
+ puts "The changelog has been written."
158
+ end
159
+
160
+
161
+ ###############################################################################
162
+ # :pre_release
163
+ # Prepares the project for release.
164
+ ###############################################################################
165
+ desc "Prepares the project for release"
166
+ task :pre_release do
167
+
168
+ if `git status -s`.length > 0
169
+ puts "Cannot continue because you have uncommitted changes."
170
+ exit 1
171
+ end
172
+
173
+ Rake::Task[:version_finalize].execute
174
+ Rake::Task[:partials].execute
175
+ Rake::Task[:log].execute
176
+ sh "git add -A"
177
+ sh "git commit --amend --no-edit"
178
+ end
179
+
180
+ private
181
+
182
+
183
+ ###############################################################################
184
+ # update_versions
185
+ # Update the version in various files that depend on the correct version.
186
+ ###############################################################################
187
+ def update_versions( version_new )
188
+ [ {
189
+ :file => File.expand_path('../lib/middlemac-extras/version.rb', __FILE__),
190
+ :regex => /(?<=VERSION = ')(.*)(?=')/
191
+ },
192
+ {
193
+ :file => File.expand_path('../documentation_project/Gemfile', __FILE__),
194
+ :regex => /(?<=gem 'middlemac-extras', '~> ).*(?=')/
195
+ },
196
+ {
197
+ :file => File.expand_path('../documentation_project/config.rb', __FILE__),
198
+ :regex => /(?<=def product_version\n ').*?(?='\n end)/m
199
+ },
200
+ ].each do | item |
201
+
202
+ content = File.read( item[:file] )
203
+ content.gsub!( item[:regex], version_new )
204
+ File.write( item[:file], content )
205
+ puts "#{File.basename( item[:file] )} changed to '#{version_new}'."
206
+ end
207
+
208
+ Middleman::MiddlemacExtras::VERSION.replace version_new
209
+ end
@@ -9,9 +9,9 @@ gem 'wdm', '~> 0.1.0', platforms: [:mswin, :mingw]
9
9
  gem 'tzinfo-data', platforms: [:mswin, :mingw, :jruby]
10
10
 
11
11
  # Middleman Gems
12
- gem 'middlemac-extras', '~> 1.0.6'
13
- gem 'middleman', '~> 4.1.6'
12
+ gem 'middlemac-extras', '~> 1.0.11'
13
+ gem 'middleman', '~> 4.3.7'
14
14
  gem 'middleman-syntax'
15
15
 
16
16
  # Other required gems
17
- gem 'fastimage', '~> 1.9'
17
+ gem 'fastimage', '~> 2.0'
@@ -13,7 +13,7 @@
13
13
  # so it's best to make sure they're activated first.
14
14
  #==========================================================================
15
15
  # activate :MiddlemanPageGroups
16
- activate :automatic_alt_tags
16
+
17
17
 
18
18
  #==========================================================================
19
19
  # Extension Setup
@@ -58,11 +58,7 @@ helpers do
58
58
  end
59
59
 
60
60
  def product_version
61
- '1.0.6'
62
- end
63
-
64
- def product_uri
65
- 'https://github.com/middlemac'
61
+ '1.0.11'
66
62
  end
67
63
 
68
64
  end
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: API Reference
3
+ blurb: Look at the API documentation for the helpers and configuration
4
+ settings directly.
5
+ layout: template-logo-medium
6
+ ---
7
+
8
+ <%= md_links %>
9
+ <% content_for :seeAlso do %>
10
+ <ul>
11
+ <li><a href="/">Welcome to <code>middlemac-extras</code></a></li>
12
+ <li><a href="css_image_sizes.html">The <code>css_image_sizes</code> helper</a></li>
13
+ <li><a href="md_images.html">The <code>md_images</code> helper</a></li>
14
+ <li><a href="md_links.html">The <code>md_links</code> helper</a></li>
15
+ <li><a href="config_rb.html">Setting up <code>config.rb</code></a></li>
16
+ <li><a href="cli.html">Command line interface</a></li>
17
+ <li><a href="license.html">The MIT License</a></li>
18
+ </ul>
19
+ <% end %>
20
+
21
+ # <%= current_page.data.title %>
22
+ <%= current_page.data.blurb %>
23
+
24
+ ## Configuration settings
25
+
26
+ <%= partial 'partials/yard_config' %>
27
+
28
+ * * *
29
+
30
+ ## Extended Helpers
31
+
32
+ <%= partial 'partials/yard_helpers_extended' %>
33
+
34
+ * * *
35
+
36
+ ## Helpers
37
+
38
+ <%= partial 'partials/yard_helpers' %>
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  title: Command Line Interface
3
+ blurb: This gem offers a simple command line interface for building its own
4
+ documentation.
3
5
  layout: template-logo-medium
4
6
  ---
5
7
 
6
8
  # <%= current_page.data.title %>
7
-
8
- `middlemac-extras` has a small command line interface that might be useful
9
- for generating sample documentation.
9
+ <%= current_page.data.blurb %>
10
10
 
11
11
  The CLI takes the format:
12
12
 
@@ -44,6 +44,7 @@ bundle exec middleman server
44
44
  <li><a href="image_tag.html">The <code>image_tag</code> helper</a></li>
45
45
  <li><a href="md_images.html">The <code>md_images</code> helper</a></li>
46
46
  <li><a href="md_links.html">The <code>md_links</code> helper</a></li>
47
+ <li><a href="api_reference.html">API Reference</a></li>
47
48
  <li><a href="license.html">The MIT License</a></li>
48
49
  </ul>
49
50
  <% end %>
@@ -2,8 +2,6 @@
2
2
  title: Setting up config.rb
3
3
  blurb: Review the key configuration values for making this extension work.
4
4
  layout: template-logo-medium
5
- order: 40
6
- navigate: false
7
5
  ---
8
6
 
9
7
  <%= md_links %>
@@ -14,6 +12,7 @@ navigate: false
14
12
  <li><a href="image_tag.html">The <code>image_tag</code> helper</a></li>
15
13
  <li><a href="md_images.html">The <code>md_images</code> helper</a></li>
16
14
  <li><a href="md_links.html">The <code>md_links</code> helper</a></li>
15
+ <li><a href="api_reference.html">API Reference</a></li>
17
16
  <li><a href="cli.html">Command line interface</a></li>
18
17
  <li><a href="license.html">The MIT License</a></li>
19
18
  </ul>