massimo 0.3.9
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +25 -0
- data/LICENSE +20 -0
- data/README.md +108 -0
- data/Rakefile +62 -0
- data/VERSION +1 -0
- data/bin/massimo +6 -0
- data/lib/massimo/command.rb +242 -0
- data/lib/massimo/helpers.rb +26 -0
- data/lib/massimo/javascript.rb +38 -0
- data/lib/massimo/page.rb +113 -0
- data/lib/massimo/resource.rb +52 -0
- data/lib/massimo/site.rb +186 -0
- data/lib/massimo/stylesheet.rb +46 -0
- data/lib/massimo/templates.rb +20 -0
- data/lib/massimo/view.rb +30 -0
- data/lib/massimo.rb +38 -0
- data/massimo.gemspec +130 -0
- data/test/assertions.rb +8 -0
- data/test/helper.rb +54 -0
- data/test/source/config.yml +4 -0
- data/test/source/helpers/test_helper.rb +5 -0
- data/test/source/javascripts/_plugin.js +1 -0
- data/test/source/javascripts/application.js +3 -0
- data/test/source/javascripts/lib.js +1 -0
- data/test/source/lib/site.rb +5 -0
- data/test/source/pages/_skipped_page.haml +0 -0
- data/test/source/pages/about_us.erb +5 -0
- data/test/source/pages/erb.erb +5 -0
- data/test/source/pages/erb_with_layout.erb +4 -0
- data/test/source/pages/feed.haml +6 -0
- data/test/source/pages/haml.haml +5 -0
- data/test/source/pages/html.html +4 -0
- data/test/source/pages/index.erb +4 -0
- data/test/source/pages/markdown.markdown +5 -0
- data/test/source/pages/posts/first-post.haml +1 -0
- data/test/source/pages/with_extension.haml +4 -0
- data/test/source/pages/with_meta_data.haml +7 -0
- data/test/source/pages/with_title.haml +4 -0
- data/test/source/pages/with_url.haml +4 -0
- data/test/source/pages/without_extension.haml +0 -0
- data/test/source/pages/without_meta_data.haml +1 -0
- data/test/source/pages/without_title.haml +1 -0
- data/test/source/pages/without_url.haml +1 -0
- data/test/source/stylesheets/_base.sass +2 -0
- data/test/source/stylesheets/application.sass +4 -0
- data/test/source/stylesheets/basic.css +3 -0
- data/test/source/stylesheets/less_file.less +5 -0
- data/test/source/views/layouts/application.haml +2 -0
- data/test/source/views/with_helper.haml +1 -0
- data/test/source/views/with_locals.haml +1 -0
- data/test/source/views/without_locals.haml +1 -0
- data/test/test_javascript.rb +30 -0
- data/test/test_page.rb +136 -0
- data/test/test_resource.rb +27 -0
- data/test/test_site.rb +126 -0
- data/test/test_stylesheet.rb +40 -0
- data/test/test_view.rb +46 -0
- metadata +191 -0
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
%h1 A Page without meta_data
|
@@ -0,0 +1 @@
|
|
1
|
+
%h1 A Page without a title
|
@@ -0,0 +1 @@
|
|
1
|
+
%h1 A Page without a URL
|
@@ -0,0 +1 @@
|
|
1
|
+
%p= test_method
|
@@ -0,0 +1 @@
|
|
1
|
+
%h1= title
|
@@ -0,0 +1 @@
|
|
1
|
+
%h1 A Partial
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "helper")
|
2
|
+
|
3
|
+
class TestJavascript < Test::Unit::TestCase
|
4
|
+
context "A Site" do
|
5
|
+
setup { site() }
|
6
|
+
|
7
|
+
should "concat js using Sprockets" do
|
8
|
+
javascript = Massimo::Javascript.new(source_dir("javascripts", "application.js"))
|
9
|
+
assert_equal %{var plugin = "plugin";\n\nvar application = "application";\n}, javascript.render
|
10
|
+
end
|
11
|
+
|
12
|
+
context "processing Javascripts" do
|
13
|
+
should "output the js file to the javascripts dir" do
|
14
|
+
Massimo::Javascript.new(source_dir("javascripts", "application.js")).process!
|
15
|
+
assert_equal %{var plugin = "plugin";\n\nvar application = "application";\n}, File.read(output_dir("javascripts", "application.js"))
|
16
|
+
end
|
17
|
+
|
18
|
+
teardown { clear_output }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context "A Production Site" do
|
23
|
+
setup { site(:production => true) }
|
24
|
+
|
25
|
+
should "minify js" do
|
26
|
+
javascript = Massimo::Javascript.new(source_dir("javascripts", "application.js"))
|
27
|
+
assert_equal %{\nvar plugin="plugin";var application="application";}, javascript.render
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/test/test_page.rb
ADDED
@@ -0,0 +1,136 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "helper")
|
2
|
+
|
3
|
+
class TestPage < Test::Unit::TestCase
|
4
|
+
context "A Site" do
|
5
|
+
setup { site() }
|
6
|
+
|
7
|
+
|
8
|
+
context "Page without meta_data" do
|
9
|
+
setup { page("without_meta_data.haml") }
|
10
|
+
|
11
|
+
should "return a non-empty hash when calling meta_data" do
|
12
|
+
assert_instance_of Hash, @page.meta_data
|
13
|
+
assert !@page.meta_data.empty?
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
context "Page with meta_data" do
|
18
|
+
setup { page("with_meta_data.haml") }
|
19
|
+
|
20
|
+
should "return a non-empty hash when calling meta_data" do
|
21
|
+
assert_instance_of Hash, @page.meta_data
|
22
|
+
assert !@page.meta_data.empty?
|
23
|
+
end
|
24
|
+
|
25
|
+
should "be able to access meta_data directly through methods on the Page" do
|
26
|
+
assert_instance_of Array, @page.tags
|
27
|
+
end
|
28
|
+
|
29
|
+
should "be able to write new meta_data dynamically" do
|
30
|
+
@page.new_tag = "test"
|
31
|
+
assert_equal "test", @page.new_tag
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context "Page with title" do
|
36
|
+
setup { page("with_title.haml") }
|
37
|
+
|
38
|
+
should "fetch the title from the meta_data" do
|
39
|
+
assert_equal "A Title", @page.title
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
context "Page without title" do
|
44
|
+
setup { page("without_title.haml") }
|
45
|
+
|
46
|
+
should "create the title from the file name" do
|
47
|
+
assert_equal "Without Title", @page.title
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
context "Page with extension" do
|
52
|
+
setup { page("with_extension.haml") }
|
53
|
+
|
54
|
+
should "fetch the extension from the meta_data" do
|
55
|
+
assert_equal ".rss", @page.extension
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
context "Page without extension" do
|
60
|
+
setup { page("without_extension.haml") }
|
61
|
+
|
62
|
+
should "default to .html" do
|
63
|
+
assert_equal ".html", @page.extension
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
context "Page with URL" do
|
68
|
+
setup { page("with_url.haml") }
|
69
|
+
|
70
|
+
should "fetch the extension from the meta_data" do
|
71
|
+
assert_equal "/page-with-url", @page.url
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
context "Page without URL" do
|
76
|
+
setup { page("without_url.haml") }
|
77
|
+
|
78
|
+
should "default to .html" do
|
79
|
+
assert_equal "/without-url", @page.url
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
should "fetch the body from the page file" do
|
84
|
+
assert_equal %{<h1>An <%= "HTML" %> Page</h1>}, page("about_us.erb").body
|
85
|
+
end
|
86
|
+
|
87
|
+
context "rendering Pages" do
|
88
|
+
context "without layouts" do
|
89
|
+
|
90
|
+
should "render erb content from the page file correctly" do
|
91
|
+
assert_equal "<h1>ERB</h1>", page("erb.erb").render
|
92
|
+
end
|
93
|
+
|
94
|
+
should "render haml content from the page file correctly" do
|
95
|
+
assert_equal "<h1>Haml</h1>\n", page("haml.haml").render
|
96
|
+
end
|
97
|
+
|
98
|
+
should "render markdown content from the page file correctly" do
|
99
|
+
assert_equal "<h1>Markdown</h1>\n", page("markdown.markdown").render
|
100
|
+
end
|
101
|
+
|
102
|
+
should "render html content from the page file correctly" do
|
103
|
+
assert_equal "<h1>HTML</h1>", page("html.html").render
|
104
|
+
end
|
105
|
+
|
106
|
+
end
|
107
|
+
context "with layouts" do
|
108
|
+
|
109
|
+
should "filter the content from the page file correctly" do
|
110
|
+
assert_equal "<title>ERB With Layout</title>\n<body><h1>ERB With Layout</h1></body>\n", page("erb_with_layout.erb").render
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
context "processing Pages" do
|
116
|
+
|
117
|
+
should "write the filtered body to a new file in the output dir" do
|
118
|
+
page("index.erb").process!
|
119
|
+
assert_equal File.read(output_dir("index.html")), page.render
|
120
|
+
end
|
121
|
+
|
122
|
+
should "write the filtered body to a new file using the extension in the meta_data" do
|
123
|
+
page("feed.haml").process!
|
124
|
+
assert_equal File.read(output_dir("feed.rss")), page.render(false)
|
125
|
+
end
|
126
|
+
|
127
|
+
should "write the filtered body to a new file with a pretty URL scheme in the output dir" do
|
128
|
+
page("about_us.erb").process!
|
129
|
+
assert_equal File.read(output_dir("about-us", "index.html")), page.render(false)
|
130
|
+
end
|
131
|
+
|
132
|
+
teardown { clear_output }
|
133
|
+
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "helper")
|
2
|
+
|
3
|
+
class TestResource < Test::Unit::TestCase
|
4
|
+
context "A site" do
|
5
|
+
setup { site() }
|
6
|
+
|
7
|
+
should "raise an error when reading a non-existent resource" do
|
8
|
+
assert_raise Massimo::MissingResource do
|
9
|
+
Massimo::Resource.new("some/non-existent/file")
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
should "raise an error when reading an invalid resource" do
|
14
|
+
assert_raise Massimo::InvalidResource do
|
15
|
+
Massimo::Resource.new(source_dir("views", "layouts"))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
should "have a method to get the resource's type (extension)" do
|
20
|
+
assert_equal Massimo::Resource.new(source_dir("pages", "about_us.erb")).resource_type, "erb"
|
21
|
+
end
|
22
|
+
|
23
|
+
should "render the resource files data" do
|
24
|
+
assert_equal Massimo::Resource.new(source_dir("pages", "without_meta_data.haml")).render, "%h1 A Page without meta_data"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/test/test_site.rb
ADDED
@@ -0,0 +1,126 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "helper")
|
2
|
+
|
3
|
+
class TestSite < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def source_page_paths
|
6
|
+
@source_page_paths ||= Pathname.glob(source_dir("pages", "**", "*")).
|
7
|
+
reject { |p| p.basename.to_s =~ /^_/ || File.directory?(p) }.
|
8
|
+
collect { |p| p.basename }
|
9
|
+
end
|
10
|
+
|
11
|
+
should "store configuration options" do
|
12
|
+
@site = Massimo::Site(
|
13
|
+
:source => "./source",
|
14
|
+
:output => "./output"
|
15
|
+
)
|
16
|
+
assert_equal "./source", @site.options[:source]
|
17
|
+
assert_equal "./output", @site.options[:output]
|
18
|
+
end
|
19
|
+
|
20
|
+
should "use default options unless specified" do
|
21
|
+
@site = Massimo::Site(:output => "./output")
|
22
|
+
assert_equal Massimo::Site::DEFAULT_OPTIONS[:source], @site.options[:source]
|
23
|
+
assert_equal "./output", @site.options[:output]
|
24
|
+
end
|
25
|
+
|
26
|
+
should "have refresh the configuration if new options are set" do
|
27
|
+
Massimo::Site(:souce => "/some/strange/dir", :output => "/the/wrong/dir")
|
28
|
+
@site = Massimo::Site(:output => "/the/wrong/dir")
|
29
|
+
assert_equal Massimo::Site::DEFAULT_OPTIONS[:source], @site.options[:source]
|
30
|
+
end
|
31
|
+
|
32
|
+
should "have methods for determining the environment" do
|
33
|
+
@site = Massimo::Site()
|
34
|
+
assert @site.development?
|
35
|
+
@site = Massimo::Site(:environment => :development)
|
36
|
+
assert @site.development?
|
37
|
+
@site = Massimo::Site(:environment => :production)
|
38
|
+
assert @site.production?
|
39
|
+
end
|
40
|
+
|
41
|
+
context "A Normal Site" do
|
42
|
+
setup { site() }
|
43
|
+
|
44
|
+
should "have a source_dir method" do
|
45
|
+
assert_equal source_dir("some", "path"), @site.source_dir("some", "path")
|
46
|
+
end
|
47
|
+
|
48
|
+
should "have a directory shortcut methods" do
|
49
|
+
assert_equal source_dir("pages", "some", "file.txt"), @site.pages_dir("some", "file.txt")
|
50
|
+
assert_equal source_dir("views", "some", "file.txt"), @site.views_dir("some", "file.txt")
|
51
|
+
assert_equal source_dir("stylesheets", "some", "file.txt"), @site.stylesheets_dir("some", "file.txt")
|
52
|
+
assert_equal source_dir("javascripts", "some", "file.txt"), @site.javascripts_dir("some", "file.txt")
|
53
|
+
end
|
54
|
+
|
55
|
+
should "have a output_dir method" do
|
56
|
+
assert_equal output_dir("some", "path"), @site.output_dir("some", "path")
|
57
|
+
end
|
58
|
+
|
59
|
+
should "render a view by name" do
|
60
|
+
assert_equal "<h1>Title</h1>\n", @site.render_view("with_locals", :title => "Title")
|
61
|
+
end
|
62
|
+
|
63
|
+
should "find all the pages in the pages dir" do
|
64
|
+
page_paths = @site.pages.collect { |page| page.source_path.basename }
|
65
|
+
assert_equal_arrays source_page_paths, page_paths
|
66
|
+
end
|
67
|
+
|
68
|
+
should "add helpers from the helpers directory" do
|
69
|
+
assert_equal "<p>working</p>\n", @site.render_view("with_helper")
|
70
|
+
end
|
71
|
+
|
72
|
+
should "require the lib directory for further customization" do
|
73
|
+
assert_equal "working", @site.new_method
|
74
|
+
end
|
75
|
+
|
76
|
+
context "processing Sites" do
|
77
|
+
setup { @site.process! }
|
78
|
+
|
79
|
+
should "process each page in the pages dir" do
|
80
|
+
output_page_paths = Dir.glob(output_dir("**", "*.{html,rss}"))
|
81
|
+
assert_equal source_page_paths.length, output_page_paths.length
|
82
|
+
end
|
83
|
+
|
84
|
+
should "process each stylesheet file in the stylesheets dir" do
|
85
|
+
assert File.exist?(output_dir("stylesheets", "application.css"))
|
86
|
+
assert File.exist?(output_dir("stylesheets", "less_file.css"))
|
87
|
+
assert File.exist?(output_dir("stylesheets", "basic.css"))
|
88
|
+
end
|
89
|
+
|
90
|
+
should "process each javascript file in the javascripts dir" do
|
91
|
+
assert File.exist?(output_dir("javascripts", "application.js"))
|
92
|
+
assert File.exist?(output_dir("javascripts", "lib.js"))
|
93
|
+
end
|
94
|
+
|
95
|
+
teardown { clear_output }
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
should "find only the pages set in the :pages option" do
|
100
|
+
only_pages = %w{about_us.erb feed.haml index.erb}
|
101
|
+
page_paths = Massimo::Site(:source => source_dir, :pages => only_pages).pages(true).collect { |page| page.source_path.basename }
|
102
|
+
assert_equal_arrays only_pages, page_paths
|
103
|
+
end
|
104
|
+
|
105
|
+
should "skip pages set in the :skip_pages option (as an Array)" do
|
106
|
+
skip_pages = %w{about_us.erb erb.erb erb_with_layout.erb feed.haml posts/first-post.haml haml.haml html.html index.erb markdown.markdown}
|
107
|
+
page_paths = Massimo::Site(:source => source_dir, :skip_pages => skip_pages).pages(true).collect { |page| page.source_path.basename }
|
108
|
+
assert_equal_arrays [
|
109
|
+
"with_extension.haml",
|
110
|
+
"with_meta_data.haml",
|
111
|
+
"with_title.haml",
|
112
|
+
"with_url.haml",
|
113
|
+
"without_extension.haml",
|
114
|
+
"without_meta_data.haml",
|
115
|
+
"without_title.haml",
|
116
|
+
"without_url.haml"
|
117
|
+
], page_paths
|
118
|
+
end
|
119
|
+
|
120
|
+
should "skip pages set in the :skip_pages option (as a Proc)" do
|
121
|
+
site_options = { :source => source_dir, :skip_pages => lambda { |file| file.include?("with") } }
|
122
|
+
page_paths = Massimo::Site(site_options).pages(true).collect { |page| page.source_path.basename }
|
123
|
+
assert_equal_arrays %w{about_us.erb erb.erb feed.haml first-post.haml haml.haml html.html index.erb markdown.markdown}, page_paths
|
124
|
+
end
|
125
|
+
|
126
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "helper")
|
2
|
+
|
3
|
+
class TestStylesheet < Test::Unit::TestCase
|
4
|
+
context "A Site" do
|
5
|
+
setup { site() }
|
6
|
+
|
7
|
+
should "render CSS stylesheets" do
|
8
|
+
stylesheet = Massimo::Stylesheet.new(source_dir("stylesheets", "basic.css"))
|
9
|
+
assert_equal "body {\n font-size: 12px;\n}", stylesheet.render
|
10
|
+
end
|
11
|
+
|
12
|
+
should "render Sass stylesheets" do
|
13
|
+
stylesheet = Massimo::Stylesheet.new(source_dir("stylesheets", "application.sass"))
|
14
|
+
assert_equal "body {\n font-size: 12px; }\n\n#header {\n font-size: 36px; }\n", stylesheet.render
|
15
|
+
end
|
16
|
+
|
17
|
+
should "render Less stylesheets" do
|
18
|
+
stylesheet = Massimo::Stylesheet.new(source_dir("stylesheets", "less_file.less"))
|
19
|
+
assert_equal "#header { color: #4d926f; }\n", stylesheet.render
|
20
|
+
end
|
21
|
+
|
22
|
+
context "processing Stylesheets" do
|
23
|
+
should "output the css file to the stylesheets dir" do
|
24
|
+
Massimo::Stylesheet.new(source_dir("stylesheets", "application.sass")).process!
|
25
|
+
assert_equal "body {\n font-size: 12px; }\n\n#header {\n font-size: 36px; }\n", File.read(output_dir("stylesheets", "application.css"))
|
26
|
+
end
|
27
|
+
|
28
|
+
teardown { clear_output }
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context "A Production Site" do
|
33
|
+
setup { site(:production => true)}
|
34
|
+
|
35
|
+
should "should compress Sass stylesheets" do
|
36
|
+
stylesheet = Massimo::Stylesheet.new(source_dir("stylesheets", "application.sass"))
|
37
|
+
assert_equal "body{font-size:12px}#header{font-size:36px}\n", stylesheet.render
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/test/test_view.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "helper")
|
2
|
+
|
3
|
+
class TestView < Test::Unit::TestCase
|
4
|
+
context "A View with options" do
|
5
|
+
setup do
|
6
|
+
site(:haml => { :format => :xhtml })
|
7
|
+
view("without_locals.haml")
|
8
|
+
end
|
9
|
+
|
10
|
+
should "render through Tilt with the Site's options for the resource type" do
|
11
|
+
tilt = {}
|
12
|
+
stub(tilt).render
|
13
|
+
mock(Tilt).new(@view.file_name, 1, :format => :xhtml) { tilt }
|
14
|
+
@view.render
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
context "View without locals" do
|
19
|
+
setup { view("without_locals.haml") }
|
20
|
+
|
21
|
+
should "fetch the body from the view file" do
|
22
|
+
assert_equal "%h1 A Partial", @view.body
|
23
|
+
end
|
24
|
+
|
25
|
+
should "render the content from the view file correctly" do
|
26
|
+
assert_equal "<h1>A Partial</h1>\n", @view.render
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context "View with locals" do
|
31
|
+
setup { view("with_locals.haml", :title => "A Partial") }
|
32
|
+
|
33
|
+
should "render the content from the page file correctly" do
|
34
|
+
assert_equal "<h1>A Partial</h1>\n", @view.render
|
35
|
+
end
|
36
|
+
|
37
|
+
should "be able to access meta_data directly" do
|
38
|
+
assert_equal "A Partial", @view.title
|
39
|
+
end
|
40
|
+
|
41
|
+
should "be able to write new meta_data dynamically" do
|
42
|
+
@view.new_data = "test"
|
43
|
+
assert_equal "test", @view.new_data
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
metadata
ADDED
@@ -0,0 +1,191 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: massimo
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.9
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Peter Browne
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-12-24 00:00:00 -06:00
|
13
|
+
default_executable: massimo
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: shoulda
|
17
|
+
type: :development
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 2.10.2
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: yard
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.5.2
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: activesupport
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 2.3.5
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: sinatra_more
|
47
|
+
type: :runtime
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.3.26
|
54
|
+
version:
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: directory_watcher
|
57
|
+
type: :runtime
|
58
|
+
version_requirement:
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 1.3.1
|
64
|
+
version:
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
name: sprockets
|
67
|
+
type: :runtime
|
68
|
+
version_requirement:
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 1.0.2
|
74
|
+
version:
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: jsmin
|
77
|
+
type: :runtime
|
78
|
+
version_requirement:
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 1.0.1
|
84
|
+
version:
|
85
|
+
description: Massimo builds HTML, Javascript, and CSS Files from your source.
|
86
|
+
email: peter@peterbrowne.net
|
87
|
+
executables:
|
88
|
+
- massimo
|
89
|
+
extensions: []
|
90
|
+
|
91
|
+
extra_rdoc_files:
|
92
|
+
- LICENSE
|
93
|
+
- README.md
|
94
|
+
files:
|
95
|
+
- .document
|
96
|
+
- .gitignore
|
97
|
+
- LICENSE
|
98
|
+
- README.md
|
99
|
+
- Rakefile
|
100
|
+
- VERSION
|
101
|
+
- bin/massimo
|
102
|
+
- lib/massimo.rb
|
103
|
+
- lib/massimo/command.rb
|
104
|
+
- lib/massimo/helpers.rb
|
105
|
+
- lib/massimo/javascript.rb
|
106
|
+
- lib/massimo/page.rb
|
107
|
+
- lib/massimo/resource.rb
|
108
|
+
- lib/massimo/site.rb
|
109
|
+
- lib/massimo/stylesheet.rb
|
110
|
+
- lib/massimo/templates.rb
|
111
|
+
- lib/massimo/view.rb
|
112
|
+
- massimo.gemspec
|
113
|
+
- test/assertions.rb
|
114
|
+
- test/helper.rb
|
115
|
+
- test/source/config.yml
|
116
|
+
- test/source/helpers/test_helper.rb
|
117
|
+
- test/source/javascripts/_plugin.js
|
118
|
+
- test/source/javascripts/application.js
|
119
|
+
- test/source/javascripts/lib.js
|
120
|
+
- test/source/lib/site.rb
|
121
|
+
- test/source/pages/_skipped_page.haml
|
122
|
+
- test/source/pages/about_us.erb
|
123
|
+
- test/source/pages/erb.erb
|
124
|
+
- test/source/pages/erb_with_layout.erb
|
125
|
+
- test/source/pages/feed.haml
|
126
|
+
- test/source/pages/haml.haml
|
127
|
+
- test/source/pages/html.html
|
128
|
+
- test/source/pages/index.erb
|
129
|
+
- test/source/pages/markdown.markdown
|
130
|
+
- test/source/pages/posts/first-post.haml
|
131
|
+
- test/source/pages/with_extension.haml
|
132
|
+
- test/source/pages/with_meta_data.haml
|
133
|
+
- test/source/pages/with_title.haml
|
134
|
+
- test/source/pages/with_url.haml
|
135
|
+
- test/source/pages/without_extension.haml
|
136
|
+
- test/source/pages/without_meta_data.haml
|
137
|
+
- test/source/pages/without_title.haml
|
138
|
+
- test/source/pages/without_url.haml
|
139
|
+
- test/source/stylesheets/_base.sass
|
140
|
+
- test/source/stylesheets/application.sass
|
141
|
+
- test/source/stylesheets/basic.css
|
142
|
+
- test/source/stylesheets/less_file.less
|
143
|
+
- test/source/views/layouts/application.haml
|
144
|
+
- test/source/views/with_helper.haml
|
145
|
+
- test/source/views/with_locals.haml
|
146
|
+
- test/source/views/without_locals.haml
|
147
|
+
- test/test_javascript.rb
|
148
|
+
- test/test_page.rb
|
149
|
+
- test/test_resource.rb
|
150
|
+
- test/test_site.rb
|
151
|
+
- test/test_stylesheet.rb
|
152
|
+
- test/test_view.rb
|
153
|
+
has_rdoc: true
|
154
|
+
homepage: http://github.com/peterbrowne/massimo
|
155
|
+
licenses: []
|
156
|
+
|
157
|
+
post_install_message:
|
158
|
+
rdoc_options:
|
159
|
+
- --charset=UTF-8
|
160
|
+
require_paths:
|
161
|
+
- lib
|
162
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: "0"
|
167
|
+
version:
|
168
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - ">="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: "0"
|
173
|
+
version:
|
174
|
+
requirements: []
|
175
|
+
|
176
|
+
rubyforge_project:
|
177
|
+
rubygems_version: 1.3.5
|
178
|
+
signing_key:
|
179
|
+
specification_version: 3
|
180
|
+
summary: Massimo is a static website builder.
|
181
|
+
test_files:
|
182
|
+
- test/assertions.rb
|
183
|
+
- test/helper.rb
|
184
|
+
- test/source/helpers/test_helper.rb
|
185
|
+
- test/source/lib/site.rb
|
186
|
+
- test/test_javascript.rb
|
187
|
+
- test/test_page.rb
|
188
|
+
- test/test_resource.rb
|
189
|
+
- test/test_site.rb
|
190
|
+
- test/test_stylesheet.rb
|
191
|
+
- test/test_view.rb
|