middleman 0.2.1 → 0.2.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.
Files changed (69) hide show
  1. data/Rakefile +1 -0
  2. data/VERSION +1 -1
  3. data/middleman.gemspec +65 -6
  4. data/pkg/middleman-0.2.1.gem +0 -0
  5. data/rdoc/classes/Middleman.html +164 -0
  6. data/rdoc/created.rid +1 -0
  7. data/rdoc/files/README_rdoc.html +114 -0
  8. data/rdoc/files/lib/middleman_rb.html +111 -0
  9. data/rdoc/fr_class_index.html +27 -0
  10. data/rdoc/fr_file_index.html +28 -0
  11. data/rdoc/fr_method_index.html +27 -0
  12. data/rdoc/index.html +24 -0
  13. data/rdoc/rdoc-style.css +208 -0
  14. data/vendor/rack-test/History.txt +64 -0
  15. data/vendor/rack-test/MIT-LICENSE.txt +19 -0
  16. data/vendor/rack-test/README.rdoc +57 -0
  17. data/vendor/rack-test/Rakefile +62 -0
  18. data/vendor/rack-test/lib/rack/mock_session.rb +57 -0
  19. data/vendor/rack-test/lib/rack/test.rb +246 -0
  20. data/vendor/rack-test/lib/rack/test/cookie_jar.rb +169 -0
  21. data/vendor/rack-test/lib/rack/test/methods.rb +73 -0
  22. data/vendor/rack-test/lib/rack/test/mock_digest_request.rb +27 -0
  23. data/vendor/rack-test/lib/rack/test/uploaded_file.rb +36 -0
  24. data/vendor/rack-test/lib/rack/test/utils.rb +75 -0
  25. data/vendor/rack-test/spec/fixtures/config.ru +3 -0
  26. data/vendor/rack-test/spec/fixtures/fake_app.rb +109 -0
  27. data/vendor/rack-test/spec/fixtures/foo.txt +1 -0
  28. data/vendor/rack-test/spec/rack/test/cookie_spec.rb +176 -0
  29. data/vendor/rack-test/spec/rack/test/digest_auth_spec.rb +48 -0
  30. data/vendor/rack-test/spec/rack/test/multipart_spec.rb +85 -0
  31. data/vendor/rack-test/spec/rack/test/utils_spec.rb +44 -0
  32. data/vendor/rack-test/spec/rack/test_spec.rb +363 -0
  33. data/vendor/rack-test/spec/rcov.opts +1 -0
  34. data/vendor/rack-test/spec/spec.opts +1 -0
  35. data/vendor/rack-test/spec/spec_helper.rb +48 -0
  36. data/vendor/sinatra-markaby/CHANGES +7 -0
  37. data/vendor/sinatra-markaby/LICENSE +20 -0
  38. data/vendor/sinatra-markaby/README.rdoc +33 -0
  39. data/vendor/sinatra-markaby/Rakefile +45 -0
  40. data/vendor/sinatra-markaby/TODO +3 -0
  41. data/vendor/sinatra-markaby/VERSION.yml +4 -0
  42. data/vendor/sinatra-markaby/lib/sinatra/markaby.rb +31 -0
  43. data/vendor/sinatra-markaby/sinatra-markaby.gemspec +49 -0
  44. data/vendor/sinatra-markaby/test/sinatra_markaby_test.rb +72 -0
  45. data/vendor/sinatra-markaby/test/test_helper.rb +19 -0
  46. data/vendor/sinatra-markaby/test/views/hello.mab +1 -0
  47. data/vendor/sinatra-markaby/test/views/html.mab +4 -0
  48. data/vendor/sinatra-maruku/LICENSE +22 -0
  49. data/vendor/sinatra-maruku/README.markdown +85 -0
  50. data/vendor/sinatra-maruku/Rakefile +34 -0
  51. data/vendor/sinatra-maruku/VERSION.yml +4 -0
  52. data/vendor/sinatra-maruku/examples/app.rb +8 -0
  53. data/vendor/sinatra-maruku/examples/config.ru +4 -0
  54. data/vendor/sinatra-maruku/examples/mapp.rb +15 -0
  55. data/vendor/sinatra-maruku/examples/public/javascripts/application.js +0 -0
  56. data/vendor/sinatra-maruku/examples/public/stylesheets/application.css +23 -0
  57. data/vendor/sinatra-maruku/examples/public/stylesheets/print.css +0 -0
  58. data/vendor/sinatra-maruku/examples/views/index.maruku +32 -0
  59. data/vendor/sinatra-maruku/examples/views/layout.maruku +9 -0
  60. data/vendor/sinatra-maruku/lib/sinatra/maruku.rb +25 -0
  61. data/vendor/sinatra-maruku/sinatra-maruku.gemspec +70 -0
  62. data/vendor/sinatra-maruku/test/sinatra_maruku_test.rb +91 -0
  63. data/vendor/sinatra-maruku/test/test_helper.rb +21 -0
  64. data/vendor/sinatra-maruku/test/views/hello.maruku +1 -0
  65. data/vendor/sinatra-maruku/test/views/layout2.maruku +2 -0
  66. metadata +63 -4
  67. data/.document +0 -5
  68. data/.gitignore +0 -6
  69. data/.gitmodules +0 -9
@@ -0,0 +1,34 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require "rake/clean"
4
+
5
+ begin
6
+ require 'jeweler'
7
+ Jeweler::Tasks.new do |gem|
8
+ gem.name = "sinatra-maruku"
9
+ gem.summary = "An extension providing Maruku templates for Sinatra applications."
10
+ gem.email = "matwb@univ.gda.pl"
11
+ gem.homepage = "http://github.com/wbzyl/sinatra-maruku"
12
+ gem.description = gem.description
13
+ gem.authors = ["Wlodek Bzyl"]
14
+
15
+ gem.add_runtime_dependency 'sinatra', '>=0.10.1'
16
+ gem.add_runtime_dependency 'maruku', '>=0.6.0'
17
+
18
+ gem.add_development_dependency 'rack', '>=1.0.0'
19
+ gem.add_development_dependency 'rack-test', '>=0.3.0'
20
+
21
+ # gem is a Gem::Specification
22
+ # refer to http://www.rubygems.org/read/chapter/20 for additional settings
23
+ end
24
+ rescue LoadError
25
+ puts "Jeweler not available."
26
+ puts "Install it with:"
27
+ puts " sudo gem install technicalpickles-jeweler -s http://gems.github.com"
28
+ end
29
+
30
+ Rake::TestTask.new(:test) do |t|
31
+ t.libs << 'lib' << 'test'
32
+ t.pattern = 'test/**/*_test.rb'
33
+ t.verbose = false
34
+ end
@@ -0,0 +1,4 @@
1
+ ---
2
+ :major: 0
3
+ :minor: 10
4
+ :patch: 1
@@ -0,0 +1,8 @@
1
+ require 'rubygems'
2
+ require 'sinatra'
3
+ require 'sinatra/maruku'
4
+
5
+ get "/" do
6
+ #maruku :hello, :layout => false
7
+ maruku :index
8
+ end
@@ -0,0 +1,4 @@
1
+ # run it: rackup config.ru -p 4567
2
+
3
+ require 'app'
4
+ run Sinatra::Application
@@ -0,0 +1,15 @@
1
+ require 'rubygems'
2
+ require 'sinatra/base'
3
+ require 'sinatra/maruku'
4
+
5
+ require 'rack'
6
+
7
+ class MApp < Sinatra::Base
8
+ helpers Sinatra::Maruku
9
+
10
+ get '/' do
11
+ maruku "## hello form modular app"
12
+ end
13
+ end
14
+
15
+ Rack::Handler::Thin.run MApp.new, :Port => 4567
@@ -0,0 +1,23 @@
1
+ html {
2
+ margin: 0;
3
+ padding: 0;
4
+ background-color: #B5052E;
5
+ line-height: 1.6;
6
+ }
7
+
8
+ body {
9
+ margin: 1em auto 1em auto;
10
+ padding: 1em 2em 2em 1em;
11
+ width: 760px;
12
+ border: 1px solid black;
13
+ background-color: #E8DDCB;
14
+ }
15
+
16
+ pre {
17
+ padding: 0.5em 0 0.5em 2em;
18
+ background-color: #D7D3C1;
19
+ }
20
+
21
+ h1, h2, h3 {
22
+ color: #B5052E;
23
+ }
@@ -0,0 +1,32 @@
1
+ Maruku features
2
+ ===============
3
+
4
+ Maruku allows you to write in an easy-to-read-and-write syntax, like this:
5
+
6
+ > [This document in Markdown][this_md]
7
+
8
+ Then it can be translated to HTML:
9
+
10
+ > [This document in HTML][this_html]
11
+
12
+ or LaTeX, which is then converted to PDF:
13
+
14
+ > [This document in PDF][this_pdf]
15
+
16
+ Maruku implements:
17
+
18
+ * the original [Markdown syntax][markdown_html]
19
+ ([HTML][markdown_html] or [PDF][markdown_pdf]), translated by Maruku).
20
+
21
+ * all the improvements in PHP Markdown Extra.
22
+
23
+ * a new [meta-data syntax][meta_data_proposal]
24
+
25
+ [markdown_html]: http://maruku.rubyforge.org/markdown_syntax.html
26
+ [markdown_pdf]: http://maruku.rubyforge.org/markdown_syntax.pdf
27
+ [this_md]: http://maruku.rubyforge.org/maruku.md
28
+ [this_html]: http://maruku.rubyforge.org/maruku.html
29
+ [this_pdf]: http://maruku.rubyforge.org/maruku.pdf
30
+ [Andrea Censi]: http://www.dis.uniroma1.it/~acensi/
31
+
32
+ [meta_data_proposal]: http://maruku.rubyforge.org/proposal.html
@@ -0,0 +1,9 @@
1
+ CSS: /stylesheets/application.css /stylesheets/print.css
2
+ Javascript: /javascriprs/application.js
3
+ Lang: pl
4
+ Title: Hello Maruku
5
+ LaTeX preamble: preamble.tex
6
+
7
+ # Hello Maruku {.header}
8
+
9
+ <%= yield %>
@@ -0,0 +1,25 @@
1
+ require 'maruku'
2
+ require 'sinatra/base'
3
+
4
+ module Sinatra
5
+ module Maruku
6
+ def maruku(template, options={}, locals={})
7
+ render :maruku, template, options, locals
8
+ end
9
+
10
+ private
11
+ def render_maruku(template, data, options, locals, &block)
12
+ maruku_src = render_erb(template, data, options, locals, &block)
13
+ instance = ::Maruku.new(maruku_src, options)
14
+ if block_given?
15
+ # render layout
16
+ instance.to_html_document
17
+ else
18
+ # render template
19
+ instance.to_html
20
+ end
21
+ end
22
+ end
23
+
24
+ helpers Maruku
25
+ end
@@ -0,0 +1,70 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{sinatra-maruku}
5
+ s.version = "0.10.1"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Wlodek Bzyl"]
9
+ s.date = %q{2009-07-26}
10
+ s.description = %q{}
11
+ s.email = %q{matwb@univ.gda.pl}
12
+ s.extra_rdoc_files = [
13
+ "LICENSE",
14
+ "README.markdown"
15
+ ]
16
+ s.files = [
17
+ ".gitignore",
18
+ "LICENSE",
19
+ "README.markdown",
20
+ "Rakefile",
21
+ "VERSION.yml",
22
+ "examples/app.rb",
23
+ "examples/config.ru",
24
+ "examples/mapp.rb",
25
+ "examples/public/javascripts/application.js",
26
+ "examples/public/stylesheets/application.css",
27
+ "examples/public/stylesheets/print.css",
28
+ "examples/views/index.maruku",
29
+ "examples/views/layout.maruku",
30
+ "lib/sinatra/maruku.rb",
31
+ "sinatra-maruku.gemspec",
32
+ "test/sinatra_maruku_test.rb",
33
+ "test/test_helper.rb",
34
+ "test/views/hello.maruku",
35
+ "test/views/layout2.maruku"
36
+ ]
37
+ s.homepage = %q{http://github.com/wbzyl/sinatra-maruku}
38
+ s.rdoc_options = ["--charset=UTF-8"]
39
+ s.require_paths = ["lib"]
40
+ s.rubygems_version = %q{1.3.5}
41
+ s.summary = %q{An extension providing Maruku templates for Sinatra applications.}
42
+ s.test_files = [
43
+ "test/test_helper.rb",
44
+ "test/sinatra_maruku_test.rb",
45
+ "examples/mapp.rb",
46
+ "examples/app.rb"
47
+ ]
48
+
49
+ if s.respond_to? :specification_version then
50
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
51
+ s.specification_version = 3
52
+
53
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
54
+ s.add_runtime_dependency(%q<sinatra>, [">= 0.10.1"])
55
+ s.add_runtime_dependency(%q<maruku>, [">= 0.6.0"])
56
+ s.add_development_dependency(%q<rack>, [">= 1.0.0"])
57
+ s.add_development_dependency(%q<rack-test>, [">= 0.3.0"])
58
+ else
59
+ s.add_dependency(%q<sinatra>, [">= 0.10.1"])
60
+ s.add_dependency(%q<maruku>, [">= 0.6.0"])
61
+ s.add_dependency(%q<rack>, [">= 1.0.0"])
62
+ s.add_dependency(%q<rack-test>, [">= 0.3.0"])
63
+ end
64
+ else
65
+ s.add_dependency(%q<sinatra>, [">= 0.10.1"])
66
+ s.add_dependency(%q<maruku>, [">= 0.6.0"])
67
+ s.add_dependency(%q<rack>, [">= 1.0.0"])
68
+ s.add_dependency(%q<rack-test>, [">= 0.3.0"])
69
+ end
70
+ end
@@ -0,0 +1,91 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class SinatraMarukuTest < Test::Unit::TestCase
4
+ include Rack::Test::Methods
5
+
6
+ def maruku_app(&block)
7
+ mock_app {
8
+ set :views, File.dirname(__FILE__) + '/views'
9
+ helpers Sinatra::Maruku
10
+ set :show_exceptions, false
11
+ get '/', &block
12
+ }
13
+ get '/'
14
+ end
15
+
16
+ def test_renders_inline_strings
17
+ maruku_app { maruku 'hello world' }
18
+ assert last_response.ok?
19
+ assert_equal "<p>hello world</p>", last_response.body
20
+ end
21
+
22
+ def test_renders_inline_erb_string
23
+ maruku_app { maruku '<%= 1 + 1 %>' }
24
+ assert last_response.ok?
25
+ assert_equal "<p>2</p>", last_response.body
26
+ end
27
+
28
+ def test_renders_files_in_views_path
29
+ maruku_app { maruku :hello }
30
+ assert last_response.ok?
31
+ assert_equal "<h1 id='hello_world'>hello world</h1>", last_response.body
32
+ end
33
+
34
+ def test_takes_locals_option
35
+ maruku_app {
36
+ locals = {:foo => 'Bar'}
37
+ maruku "<%= foo %>", :locals => locals
38
+ }
39
+ assert last_response.ok?
40
+ assert_equal "<p>Bar</p>", last_response.body
41
+ end
42
+
43
+ def test_renders_with_inline_layouts
44
+ maruku_app {
45
+ maruku 'Sparta', :layout => 'THIS. IS. <%= yield.upcase %>'
46
+ }
47
+ assert last_response.ok?
48
+ assert_equal "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE html PUBLIC\n \"-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN\"\n \"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd\">\n<html xmlns:svg='http://www.w3.org/2000/svg' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>\n<head><meta content='application/xhtml+xml;charset=utf-8' http-equiv='Content-type' /><title></title></head>\n<body>\n<p>THIS. IS. <P>SPARTA</P></p>\n</body></html>", last_response.body
49
+ end
50
+
51
+ def test_renders_with_file_layouts
52
+ maruku_app {
53
+ maruku 'hello world', :layout => :layout2
54
+ }
55
+ assert last_response.ok?
56
+ assert_equal "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE html PUBLIC\n \"-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN\"\n \"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd\">\n<html xmlns:svg='http://www.w3.org/2000/svg' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>\n<head><meta content='application/xhtml+xml;charset=utf-8' http-equiv='Content-type' /><title></title></head>\n<body>\n<p>erb layout <p>hello world</p></p>\n</body></html>", last_response.body
57
+ end
58
+
59
+ def test_renders_erb_with_blocks
60
+ mock_app {
61
+ set :views, File.dirname(__FILE__) + '/views'
62
+ helpers Sinatra::Maruku
63
+
64
+ def container
65
+ yield
66
+ end
67
+ def is
68
+ "THIS. IS. SPARTA!"
69
+ end
70
+
71
+ get '/' do
72
+ maruku '<% container do %> <%= is %> <% end %>'
73
+ end
74
+ }
75
+
76
+ get '/'
77
+ assert last_response.ok?
78
+ assert_equal "<p>THIS. IS. SPARTA!</p>", last_response.body
79
+ end
80
+
81
+ def test_raises_error_if_template_not_found
82
+ mock_app {
83
+ set :views, File.dirname(__FILE__) + '/views'
84
+ helpers Sinatra::Maruku
85
+ set :show_exceptions, false
86
+
87
+ get('/') { maruku :no_such_template }
88
+ }
89
+ assert_raise(Errno::ENOENT) { get('/') }
90
+ end
91
+ end
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'rack/test'
4
+
5
+ path = File.expand_path("../lib" + File.dirname(__FILE__))
6
+ $:.unshift(path) unless $:.include?(path)
7
+
8
+ require 'sinatra/maruku'
9
+
10
+ class Test::Unit::TestCase
11
+ include Rack::Test::Methods
12
+
13
+ attr_reader :app
14
+
15
+ # Sets up a Sinatra::Base subclass defined with the block
16
+ # given. Used in setup or individual spec methods to establish
17
+ # the application.
18
+ def mock_app(base=Sinatra::Base, &block)
19
+ @app = Sinatra.new(base, &block)
20
+ end
21
+ end
@@ -0,0 +1 @@
1
+ # hello world
@@ -0,0 +1,2 @@
1
+ erb layout
2
+ <%= yield %>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Reynolds
@@ -84,9 +84,6 @@ extra_rdoc_files:
84
84
  - LICENSE
85
85
  - README.rdoc
86
86
  files:
87
- - .document
88
- - .gitignore
89
- - .gitmodules
90
87
  - LICENSE
91
88
  - README.rdoc
92
89
  - Rakefile
@@ -99,6 +96,16 @@ files:
99
96
  - lib/middleman/template/views/layout.haml
100
97
  - lib/middleman/template/views/stylesheets/site.sass
101
98
  - middleman.gemspec
99
+ - pkg/middleman-0.2.1.gem
100
+ - rdoc/classes/Middleman.html
101
+ - rdoc/created.rid
102
+ - rdoc/files/README_rdoc.html
103
+ - rdoc/files/lib/middleman_rb.html
104
+ - rdoc/fr_class_index.html
105
+ - rdoc/fr_file_index.html
106
+ - rdoc/fr_method_index.html
107
+ - rdoc/index.html
108
+ - rdoc/rdoc-style.css
102
109
  - spec/builder_spec.rb
103
110
  - spec/fixtures/sample/public/static.html
104
111
  - spec/fixtures/sample/public/stylesheets/static.css
@@ -111,6 +118,58 @@ files:
111
118
  - spec/fixtures/sample/views/stylesheets/site.sass
112
119
  - spec/generator_spec.rb
113
120
  - spec/spec_helper.rb
121
+ - vendor/rack-test/History.txt
122
+ - vendor/rack-test/MIT-LICENSE.txt
123
+ - vendor/rack-test/README.rdoc
124
+ - vendor/rack-test/Rakefile
125
+ - vendor/rack-test/lib/rack/mock_session.rb
126
+ - vendor/rack-test/lib/rack/test.rb
127
+ - vendor/rack-test/lib/rack/test/cookie_jar.rb
128
+ - vendor/rack-test/lib/rack/test/methods.rb
129
+ - vendor/rack-test/lib/rack/test/mock_digest_request.rb
130
+ - vendor/rack-test/lib/rack/test/uploaded_file.rb
131
+ - vendor/rack-test/lib/rack/test/utils.rb
132
+ - vendor/rack-test/spec/fixtures/config.ru
133
+ - vendor/rack-test/spec/fixtures/fake_app.rb
134
+ - vendor/rack-test/spec/fixtures/foo.txt
135
+ - vendor/rack-test/spec/rack/test/cookie_spec.rb
136
+ - vendor/rack-test/spec/rack/test/digest_auth_spec.rb
137
+ - vendor/rack-test/spec/rack/test/multipart_spec.rb
138
+ - vendor/rack-test/spec/rack/test/utils_spec.rb
139
+ - vendor/rack-test/spec/rack/test_spec.rb
140
+ - vendor/rack-test/spec/rcov.opts
141
+ - vendor/rack-test/spec/spec.opts
142
+ - vendor/rack-test/spec/spec_helper.rb
143
+ - vendor/sinatra-markaby/CHANGES
144
+ - vendor/sinatra-markaby/LICENSE
145
+ - vendor/sinatra-markaby/README.rdoc
146
+ - vendor/sinatra-markaby/Rakefile
147
+ - vendor/sinatra-markaby/TODO
148
+ - vendor/sinatra-markaby/VERSION.yml
149
+ - vendor/sinatra-markaby/lib/sinatra/markaby.rb
150
+ - vendor/sinatra-markaby/sinatra-markaby.gemspec
151
+ - vendor/sinatra-markaby/test/sinatra_markaby_test.rb
152
+ - vendor/sinatra-markaby/test/test_helper.rb
153
+ - vendor/sinatra-markaby/test/views/hello.mab
154
+ - vendor/sinatra-markaby/test/views/html.mab
155
+ - vendor/sinatra-maruku/LICENSE
156
+ - vendor/sinatra-maruku/README.markdown
157
+ - vendor/sinatra-maruku/Rakefile
158
+ - vendor/sinatra-maruku/VERSION.yml
159
+ - vendor/sinatra-maruku/examples/app.rb
160
+ - vendor/sinatra-maruku/examples/config.ru
161
+ - vendor/sinatra-maruku/examples/mapp.rb
162
+ - vendor/sinatra-maruku/examples/public/javascripts/application.js
163
+ - vendor/sinatra-maruku/examples/public/stylesheets/application.css
164
+ - vendor/sinatra-maruku/examples/public/stylesheets/print.css
165
+ - vendor/sinatra-maruku/examples/views/index.maruku
166
+ - vendor/sinatra-maruku/examples/views/layout.maruku
167
+ - vendor/sinatra-maruku/lib/sinatra/maruku.rb
168
+ - vendor/sinatra-maruku/sinatra-maruku.gemspec
169
+ - vendor/sinatra-maruku/test/sinatra_maruku_test.rb
170
+ - vendor/sinatra-maruku/test/test_helper.rb
171
+ - vendor/sinatra-maruku/test/views/hello.maruku
172
+ - vendor/sinatra-maruku/test/views/layout2.maruku
114
173
  has_rdoc: true
115
174
  homepage: http://github.com/tdreyno/middleman
116
175
  licenses: []