mango 0.1.1 → 0.5.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +6 -0
- data/.yardopts +6 -0
- data/README.mdown +62 -29
- data/Rakefile +62 -0
- data/VERSION +1 -0
- data/bin/mango +5 -0
- data/doc/HISTORY.mdown +71 -0
- data/doc/ROAD-MAP.mdown +10 -0
- data/lib/mango.rb +7 -0
- data/lib/mango/application.rb +334 -0
- data/lib/mango/content_page.rb +193 -0
- data/lib/mango/dependencies.rb +125 -0
- data/lib/mango/flavored_markdown.rb +82 -0
- data/lib/mango/rack/debugger.rb +22 -0
- data/lib/mango/runner.rb +95 -0
- data/lib/mango/templates/Gemfile +4 -0
- data/lib/mango/templates/README.md +1 -0
- data/lib/mango/templates/config.ru +4 -0
- data/lib/mango/templates/content/index.md +5 -0
- data/lib/mango/templates/themes/default/public/images/particles.gif +0 -0
- data/lib/mango/templates/themes/default/public/javascripts/fireworks.js +546 -0
- data/lib/mango/templates/themes/default/public/javascripts/timer.js +5 -0
- data/lib/mango/templates/themes/default/public/robots.txt +5 -0
- data/lib/mango/templates/themes/default/public/styles/fireworks.css +55 -0
- data/lib/mango/templates/themes/default/public/styles/reset.css +54 -0
- data/lib/mango/templates/themes/default/styles/screen.sass +17 -0
- data/lib/mango/templates/themes/default/views/404.haml +21 -0
- data/lib/mango/templates/themes/default/views/layout.haml +20 -0
- data/lib/mango/templates/themes/default/views/page.haml +3 -0
- data/lib/mango/version.rb +6 -0
- data/mango.gemspec +35 -0
- data/spec/app_root/content/about/index.haml +1 -0
- data/spec/app_root/content/about/us.haml +1 -0
- data/spec/app_root/content/engines/haml.haml +7 -0
- data/spec/app_root/content/engines/markdown.markdown +7 -0
- data/spec/app_root/content/engines/md.md +7 -0
- data/spec/app_root/content/engines/mdown.mdown +7 -0
- data/spec/app_root/content/index.haml +1 -0
- data/spec/app_root/content/override.haml +1 -0
- data/spec/app_root/content/page_with_missing_view.haml +4 -0
- data/spec/app_root/content/turner+hooch.haml +1 -0
- data/spec/app_root/security_hole.haml +1 -0
- data/spec/app_root/themes/default/public/default.css +3 -0
- data/spec/app_root/themes/default/public/images/index.html +10 -0
- data/spec/app_root/themes/default/public/images/ripe-mango.jpg +0 -0
- data/spec/app_root/themes/default/public/override +10 -0
- data/spec/app_root/themes/default/public/robots.txt +2 -0
- data/spec/app_root/themes/default/public/styles/override.css +3 -0
- data/spec/app_root/themes/default/public/styles/reset.css +27 -0
- data/spec/app_root/themes/default/public/styles/subfolder/another.css +3 -0
- data/spec/app_root/themes/default/security_hole.sass +1 -0
- data/spec/app_root/themes/default/security_hole.txt +1 -0
- data/spec/app_root/themes/default/styles/override.sass +2 -0
- data/spec/app_root/themes/default/styles/screen.sass +13 -0
- data/spec/app_root/themes/default/styles/subfolder/screen.sass +12 -0
- data/spec/app_root/themes/default/views/404.haml +7 -0
- data/spec/app_root/themes/default/views/layout.haml +7 -0
- data/spec/app_root/themes/default/views/page.haml +4 -0
- data/spec/mango/application/routing_content_pages_spec.rb +357 -0
- data/spec/mango/application/routing_public_files_spec.rb +181 -0
- data/spec/mango/application/routing_style_sheets_spec.rb +286 -0
- data/spec/mango/application_spec.rb +34 -0
- data/spec/mango/content_page/finding_spec.rb +213 -0
- data/spec/mango/content_page/initializing_spec.rb +298 -0
- data/spec/mango/content_page_spec.rb +44 -0
- data/spec/mango/dependencies_spec.rb +189 -0
- data/spec/mango/flavored_markdown_spec.rb +52 -0
- data/spec/mango/rack/debugger_spec.rb +114 -0
- data/spec/mango/version_spec.rb +18 -0
- data/spec/quality_spec.rb +32 -0
- data/spec/spec.opts +3 -0
- data/spec/spec_helper.rb +18 -0
- data/spec/support/matchers/malformed_whitespace_matchers.rb +60 -0
- metadata +304 -17
@@ -0,0 +1,52 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
describe Mango::FlavoredMarkdown do
|
5
|
+
|
6
|
+
#################################################################################################
|
7
|
+
|
8
|
+
describe ".shake" do
|
9
|
+
it "should not touch single underscores inside words" do
|
10
|
+
Mango::FlavoredMarkdown.shake("foo_bar").should == "foo_bar"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should not touch underscores in code blocks" do
|
14
|
+
Mango::FlavoredMarkdown.shake(" foo_bar_baz").should == " foo_bar_baz"
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should not touch underscores in pre blocks" do
|
18
|
+
Mango::FlavoredMarkdown.shake("<pre>\nfoo_bar_baz\n</pre>").should
|
19
|
+
equal("\n\n<pre>\nfoo_bar_baz\n</pre>")
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should not treat pre blocks with pre-text differently" do
|
23
|
+
a = "\n\n<pre>\nthis is `a\\_test` and this\\_too\n</pre>"
|
24
|
+
b = "hmm<pre>\nthis is `a\\_test` and this\\_too\n</pre>"
|
25
|
+
Mango::FlavoredMarkdown.shake(b)[3..-1].should == Mango::FlavoredMarkdown.shake(a)[2..-1]
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should escape two or more underscores inside words" do
|
29
|
+
Mango::FlavoredMarkdown.shake("foo_bar_baz").should == "foo\\_bar\\_baz"
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should turn newlines into br tags in simple cases" do
|
33
|
+
Mango::FlavoredMarkdown.shake("foo\nbar").should == "foo \nbar"
|
34
|
+
end
|
35
|
+
|
36
|
+
it "shold convert newlines in all groups" do
|
37
|
+
Mango::FlavoredMarkdown.shake("apple\npear\norange\n\nruby\npython\nerlang").should
|
38
|
+
equal("apple \npear \norange\n\nruby \npython \nerlang")
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should convert newlines in even long groups" do
|
42
|
+
Mango::FlavoredMarkdown.shake("apple\npear\norange\nbanana\n\nruby\npython\nerlang").should
|
43
|
+
equal("apple \npear \norange \nbanana\n\nruby \npython \nerlang")
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should not convert newlines in lists" do
|
47
|
+
Mango::FlavoredMarkdown.shake("# foo\n# bar").should == "# foo\n# bar"
|
48
|
+
Mango::FlavoredMarkdown.shake("* foo\n* bar").should == "* foo\n* bar"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
@@ -0,0 +1,114 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
# Mocking and white-box testing is an acceptable technique here because:
|
5
|
+
#
|
6
|
+
# 1. Mango::Rack::Debugger is a succinct class with little method output for black-box testing
|
7
|
+
# 2. Strongly coupling the test suite to the optional ruby-debug library ®
|
8
|
+
#
|
9
|
+
describe Mango::Rack::Debugger do
|
10
|
+
|
11
|
+
# Ensure the ::Debugger constant is initialized
|
12
|
+
class ::Debugger; end
|
13
|
+
|
14
|
+
before(:all) do
|
15
|
+
@mock_kernel = mock(Kernel)
|
16
|
+
@mock_app = mock("app")
|
17
|
+
@mock_env = mock("env")
|
18
|
+
end
|
19
|
+
|
20
|
+
before(:each) do
|
21
|
+
$stdout = StringIO.new
|
22
|
+
end
|
23
|
+
|
24
|
+
after(:each) do
|
25
|
+
$stdout = STDOUT
|
26
|
+
end
|
27
|
+
|
28
|
+
#################################################################################################
|
29
|
+
|
30
|
+
describe "when ruby-debug is successfully enabled" do
|
31
|
+
before(:each) do
|
32
|
+
@mock_kernel.should_receive(:require).with("ruby-debug").and_return(true)
|
33
|
+
::Debugger.should_receive(:start)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should properly set @app" do
|
37
|
+
debugger = Mango::Rack::Debugger.new(@mock_app, @mock_kernel)
|
38
|
+
debugger.instance_variable_get(:@app).should == @mock_app
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should inform the user" do
|
42
|
+
Mango::Rack::Debugger.new(@mock_app, @mock_kernel)
|
43
|
+
$stdout.string.should == <<-OUTPUT
|
44
|
+
=> Debugger enabled
|
45
|
+
OUTPUT
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should invoke the app" do
|
49
|
+
debugger = Mango::Rack::Debugger.new(@mock_app, @mock_kernel)
|
50
|
+
@mock_app.should_receive(:call).with(@mock_env)
|
51
|
+
debugger.call(@mock_env)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
#################################################################################################
|
56
|
+
|
57
|
+
describe "when ruby-debug is unsuccessfully enabled" do
|
58
|
+
before(:all) do
|
59
|
+
@expected_ruby18_output = <<-OUTPUT
|
60
|
+
=> Debugger not enabled
|
61
|
+
=> The ruby-debug library is required to run the server in debugging mode.
|
62
|
+
=> With RubyGems, use 'gem install ruby-debug' to install the library.
|
63
|
+
OUTPUT
|
64
|
+
|
65
|
+
@expected_ruby19_output = <<-OUTPUT
|
66
|
+
=> Debugger not enabled
|
67
|
+
=> The ruby-debug19 library is required to run the server in debugging mode.
|
68
|
+
=> With RubyGems, use 'gem install ruby-debug19' to install the library.
|
69
|
+
OUTPUT
|
70
|
+
end
|
71
|
+
|
72
|
+
before(:each) do
|
73
|
+
@mock_kernel.should_receive(:require).with("ruby-debug").and_raise(LoadError)
|
74
|
+
::Debugger.should_not_receive(:start)
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should set @app" do
|
78
|
+
debugger = Mango::Rack::Debugger.new(@mock_app, @mock_kernel)
|
79
|
+
debugger.instance_variable_get(:@app).should == @mock_app
|
80
|
+
end
|
81
|
+
|
82
|
+
it "should inform the user for ruby 1.8.6" do
|
83
|
+
Mango::Rack::Debugger.new(@mock_app, @mock_kernel, "1.8.6")
|
84
|
+
$stdout.string.should == @expected_ruby18_output
|
85
|
+
end
|
86
|
+
|
87
|
+
it "should inform the user for ruby 1.8.7" do
|
88
|
+
Mango::Rack::Debugger.new(@mock_app, @mock_kernel, "1.8.7")
|
89
|
+
$stdout.string.should == @expected_ruby18_output
|
90
|
+
end
|
91
|
+
|
92
|
+
it "should inform the user for ruby 1.9.0" do
|
93
|
+
Mango::Rack::Debugger.new(@mock_app, @mock_kernel, "1.9.0")
|
94
|
+
$stdout.string.should == @expected_ruby19_output
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should inform the user for ruby 1.9.1" do
|
98
|
+
Mango::Rack::Debugger.new(@mock_app, @mock_kernel, "1.9.1")
|
99
|
+
$stdout.string.should == @expected_ruby19_output
|
100
|
+
end
|
101
|
+
|
102
|
+
it "should inform the user for ruby 1.9.2" do
|
103
|
+
Mango::Rack::Debugger.new(@mock_app, @mock_kernel, "1.9.2")
|
104
|
+
$stdout.string.should == @expected_ruby19_output
|
105
|
+
end
|
106
|
+
|
107
|
+
it "should invoke the app" do
|
108
|
+
debugger = Mango::Rack::Debugger.new(@mock_app, @mock_kernel)
|
109
|
+
@mock_app.should_receive(:call).with(@mock_env)
|
110
|
+
debugger.call(@mock_env)
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
describe Mango do
|
5
|
+
describe "version synchronizing" do
|
6
|
+
before(:each) do
|
7
|
+
@expected = "0.5.0.beta1"
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should be correct for Mango::VERSION" do
|
11
|
+
Mango::VERSION.should == @expected
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should be correct for the VERSION rubygem file" do
|
15
|
+
Dir.chdir(PROJECT_ROOT) { File.read("VERSION").chomp.should == @expected }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
describe "This project's" do
|
5
|
+
|
6
|
+
#################################################################################################
|
7
|
+
|
8
|
+
describe "git tracked files" do
|
9
|
+
it "should have no malformed whitespace" do
|
10
|
+
Dir.chdir(PROJECT_ROOT) do
|
11
|
+
`git ls-files`.split("\n").each do |tracked_file|
|
12
|
+
next if tracked_file =~ /\.jpg|\.gif/
|
13
|
+
tracked_file.should_not contain_tab_characters
|
14
|
+
tracked_file.should_not contain_extra_spaces
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
#################################################################################################
|
21
|
+
|
22
|
+
describe Gem::Specification do
|
23
|
+
it "should build" do
|
24
|
+
Dir.chdir(PROJECT_ROOT) do
|
25
|
+
`gem build mango.gemspec`
|
26
|
+
$?.should == 0
|
27
|
+
`rm mango-#{Mango::VERSION}.gem`
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
data/spec/spec.opts
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require "mango"
|
3
|
+
|
4
|
+
PROJECT_ROOT = File.expand_path("..", File.dirname(__FILE__))
|
5
|
+
SPEC_APP_ROOT = File.expand_path("app_root", File.dirname(__FILE__))
|
6
|
+
|
7
|
+
class Mango::Application
|
8
|
+
set :environment, :test
|
9
|
+
set :root, SPEC_APP_ROOT
|
10
|
+
end
|
11
|
+
|
12
|
+
###################################################################################################
|
13
|
+
|
14
|
+
Dir[File.join(File.dirname(__FILE__), "support", "**", "*.rb")].each { |f| require f }
|
15
|
+
|
16
|
+
Spec::Runner.configure do |config|
|
17
|
+
config.include(MalformedWhitespaceMatchers)
|
18
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module MalformedWhitespaceMatchers
|
4
|
+
class ContainTabCharacters
|
5
|
+
def matches?(file_name)
|
6
|
+
@file_name = file_name
|
7
|
+
|
8
|
+
@failing_lines = []
|
9
|
+
File.readlines(@file_name).each_with_index do |line, number|
|
10
|
+
@failing_lines << number + 1 if line =~ /\t/
|
11
|
+
end
|
12
|
+
|
13
|
+
!@failing_lines.empty?
|
14
|
+
end
|
15
|
+
|
16
|
+
def failure_message_for_should
|
17
|
+
"expected #{@file_name.inspect} to contain tab characters but has none."
|
18
|
+
end
|
19
|
+
|
20
|
+
def failure_message_for_should_not
|
21
|
+
"expected #{@file_name.inspect} to not contain tab characters" +
|
22
|
+
" but has one or more on lines #{@failing_lines.join(', ')}."
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
#################################################################################################
|
27
|
+
|
28
|
+
class ContainExtraSpaces
|
29
|
+
def matches?(file_name)
|
30
|
+
@file_name = file_name
|
31
|
+
|
32
|
+
@failing_lines = []
|
33
|
+
File.readlines(@file_name).each_with_index do |line, number|
|
34
|
+
next if line =~ /^\s+#.*\s+\n$/
|
35
|
+
@failing_lines << number + 1 if line =~ /\s+\n$/
|
36
|
+
end
|
37
|
+
|
38
|
+
!@failing_lines.empty?
|
39
|
+
end
|
40
|
+
|
41
|
+
def failure_message_for_should
|
42
|
+
"expected #{@file_name.inspect} to contain extra spaces but has none."
|
43
|
+
end
|
44
|
+
|
45
|
+
def failure_message_for_should_not
|
46
|
+
"expected #{@file_name.inspect} to not contain extra spaces" +
|
47
|
+
" but has one or more at the end of lines #{@failing_lines.join(', ')}."
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
#################################################################################################
|
52
|
+
|
53
|
+
def contain_tab_characters
|
54
|
+
ContainTabCharacters.new
|
55
|
+
end
|
56
|
+
|
57
|
+
def contain_extra_spaces
|
58
|
+
ContainExtraSpaces.new
|
59
|
+
end
|
60
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mango
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 949545762
|
5
|
+
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
|
8
|
+
- 5
|
9
|
+
- 0
|
10
|
+
- beta1
|
11
|
+
version: 0.5.0.beta1
|
11
12
|
platform: ruby
|
12
13
|
authors:
|
13
14
|
- Ryan Sobol
|
@@ -15,22 +16,267 @@ autorequire:
|
|
15
16
|
bindir: bin
|
16
17
|
cert_chain: []
|
17
18
|
|
18
|
-
date: 2010-
|
19
|
-
default_executable:
|
20
|
-
dependencies:
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
19
|
+
date: 2010-10-19 00:00:00 -07:00
|
20
|
+
default_executable: mango
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
23
|
+
name: bundler
|
24
|
+
prerelease: false
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ~>
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
hash: 23
|
31
|
+
segments:
|
32
|
+
- 1
|
33
|
+
- 0
|
34
|
+
- 0
|
35
|
+
version: 1.0.0
|
36
|
+
type: :runtime
|
37
|
+
version_requirements: *id001
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: rack
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
hash: 29
|
47
|
+
segments:
|
48
|
+
- 1
|
49
|
+
- 2
|
50
|
+
- 1
|
51
|
+
version: 1.2.1
|
52
|
+
type: :runtime
|
53
|
+
version_requirements: *id002
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: sinatra
|
56
|
+
prerelease: false
|
57
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
hash: 15
|
63
|
+
segments:
|
64
|
+
- 1
|
65
|
+
- 0
|
66
|
+
version: "1.0"
|
67
|
+
type: :runtime
|
68
|
+
version_requirements: *id003
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: haml
|
71
|
+
prerelease: false
|
72
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
hash: 35
|
78
|
+
segments:
|
79
|
+
- 3
|
80
|
+
- 0
|
81
|
+
- 18
|
82
|
+
version: 3.0.18
|
83
|
+
type: :runtime
|
84
|
+
version_requirements: *id004
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: bluecloth
|
87
|
+
prerelease: false
|
88
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
hash: 1
|
94
|
+
segments:
|
95
|
+
- 2
|
96
|
+
- 0
|
97
|
+
- 7
|
98
|
+
version: 2.0.7
|
99
|
+
type: :runtime
|
100
|
+
version_requirements: *id005
|
101
|
+
- !ruby/object:Gem::Dependency
|
102
|
+
name: thor
|
103
|
+
prerelease: false
|
104
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
hash: 39
|
110
|
+
segments:
|
111
|
+
- 0
|
112
|
+
- 14
|
113
|
+
- 0
|
114
|
+
version: 0.14.0
|
115
|
+
type: :runtime
|
116
|
+
version_requirements: *id006
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: rspec
|
119
|
+
prerelease: false
|
120
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
hash: 27
|
126
|
+
segments:
|
127
|
+
- 1
|
128
|
+
- 3
|
129
|
+
- 0
|
130
|
+
version: 1.3.0
|
131
|
+
type: :development
|
132
|
+
version_requirements: *id007
|
133
|
+
- !ruby/object:Gem::Dependency
|
134
|
+
name: rack-test
|
135
|
+
prerelease: false
|
136
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
hash: 3
|
142
|
+
segments:
|
143
|
+
- 0
|
144
|
+
- 5
|
145
|
+
- 4
|
146
|
+
version: 0.5.4
|
147
|
+
type: :development
|
148
|
+
version_requirements: *id008
|
149
|
+
- !ruby/object:Gem::Dependency
|
150
|
+
name: yard
|
151
|
+
prerelease: false
|
152
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ~>
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
hash: 27
|
158
|
+
segments:
|
159
|
+
- 0
|
160
|
+
- 5
|
161
|
+
- 8
|
162
|
+
version: 0.5.8
|
163
|
+
type: :development
|
164
|
+
version_requirements: *id009
|
165
|
+
- !ruby/object:Gem::Dependency
|
166
|
+
name: bluecloth
|
167
|
+
prerelease: false
|
168
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
hash: 1
|
174
|
+
segments:
|
175
|
+
- 2
|
176
|
+
- 0
|
177
|
+
- 7
|
178
|
+
version: 2.0.7
|
179
|
+
type: :development
|
180
|
+
version_requirements: *id010
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: yard-sinatra
|
183
|
+
prerelease: false
|
184
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ~>
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
hash: 11
|
190
|
+
segments:
|
191
|
+
- 0
|
192
|
+
- 5
|
193
|
+
- 0
|
194
|
+
version: 0.5.0
|
195
|
+
type: :development
|
196
|
+
version_requirements: *id011
|
197
|
+
description: Mango is a dynamic, database-free, and open source website framework that is designed to make life easier for small teams of designers, developers, and content writers.
|
198
|
+
email: contact@ryansobol.com
|
199
|
+
executables:
|
200
|
+
- mango
|
27
201
|
extensions: []
|
28
202
|
|
29
203
|
extra_rdoc_files: []
|
30
204
|
|
31
205
|
files:
|
206
|
+
- .gitignore
|
207
|
+
- .yardopts
|
32
208
|
- LICENSE
|
33
209
|
- README.mdown
|
210
|
+
- Rakefile
|
211
|
+
- VERSION
|
212
|
+
- bin/mango
|
213
|
+
- doc/HISTORY.mdown
|
214
|
+
- doc/ROAD-MAP.mdown
|
215
|
+
- lib/mango.rb
|
216
|
+
- lib/mango/application.rb
|
217
|
+
- lib/mango/content_page.rb
|
218
|
+
- lib/mango/dependencies.rb
|
219
|
+
- lib/mango/flavored_markdown.rb
|
220
|
+
- lib/mango/rack/debugger.rb
|
221
|
+
- lib/mango/runner.rb
|
222
|
+
- lib/mango/templates/Gemfile
|
223
|
+
- lib/mango/templates/README.md
|
224
|
+
- lib/mango/templates/config.ru
|
225
|
+
- lib/mango/templates/content/index.md
|
226
|
+
- lib/mango/templates/themes/default/public/images/particles.gif
|
227
|
+
- lib/mango/templates/themes/default/public/javascripts/fireworks.js
|
228
|
+
- lib/mango/templates/themes/default/public/javascripts/timer.js
|
229
|
+
- lib/mango/templates/themes/default/public/robots.txt
|
230
|
+
- lib/mango/templates/themes/default/public/styles/fireworks.css
|
231
|
+
- lib/mango/templates/themes/default/public/styles/reset.css
|
232
|
+
- lib/mango/templates/themes/default/styles/screen.sass
|
233
|
+
- lib/mango/templates/themes/default/views/404.haml
|
234
|
+
- lib/mango/templates/themes/default/views/layout.haml
|
235
|
+
- lib/mango/templates/themes/default/views/page.haml
|
236
|
+
- lib/mango/version.rb
|
237
|
+
- mango.gemspec
|
238
|
+
- spec/app_root/content/about/index.haml
|
239
|
+
- spec/app_root/content/about/us.haml
|
240
|
+
- spec/app_root/content/engines/haml.haml
|
241
|
+
- spec/app_root/content/engines/markdown.markdown
|
242
|
+
- spec/app_root/content/engines/md.md
|
243
|
+
- spec/app_root/content/engines/mdown.mdown
|
244
|
+
- spec/app_root/content/index.haml
|
245
|
+
- spec/app_root/content/override.haml
|
246
|
+
- spec/app_root/content/page_with_missing_view.haml
|
247
|
+
- spec/app_root/content/turner+hooch.haml
|
248
|
+
- spec/app_root/security_hole.haml
|
249
|
+
- spec/app_root/themes/default/public/default.css
|
250
|
+
- spec/app_root/themes/default/public/images/index.html
|
251
|
+
- spec/app_root/themes/default/public/images/ripe-mango.jpg
|
252
|
+
- spec/app_root/themes/default/public/override
|
253
|
+
- spec/app_root/themes/default/public/robots.txt
|
254
|
+
- spec/app_root/themes/default/public/styles/override.css
|
255
|
+
- spec/app_root/themes/default/public/styles/reset.css
|
256
|
+
- spec/app_root/themes/default/public/styles/subfolder/another.css
|
257
|
+
- spec/app_root/themes/default/security_hole.sass
|
258
|
+
- spec/app_root/themes/default/security_hole.txt
|
259
|
+
- spec/app_root/themes/default/styles/override.sass
|
260
|
+
- spec/app_root/themes/default/styles/screen.sass
|
261
|
+
- spec/app_root/themes/default/styles/subfolder/screen.sass
|
262
|
+
- spec/app_root/themes/default/views/404.haml
|
263
|
+
- spec/app_root/themes/default/views/layout.haml
|
264
|
+
- spec/app_root/themes/default/views/page.haml
|
265
|
+
- spec/mango/application/routing_content_pages_spec.rb
|
266
|
+
- spec/mango/application/routing_public_files_spec.rb
|
267
|
+
- spec/mango/application/routing_style_sheets_spec.rb
|
268
|
+
- spec/mango/application_spec.rb
|
269
|
+
- spec/mango/content_page/finding_spec.rb
|
270
|
+
- spec/mango/content_page/initializing_spec.rb
|
271
|
+
- spec/mango/content_page_spec.rb
|
272
|
+
- spec/mango/dependencies_spec.rb
|
273
|
+
- spec/mango/flavored_markdown_spec.rb
|
274
|
+
- spec/mango/rack/debugger_spec.rb
|
275
|
+
- spec/mango/version_spec.rb
|
276
|
+
- spec/quality_spec.rb
|
277
|
+
- spec/spec.opts
|
278
|
+
- spec/spec_helper.rb
|
279
|
+
- spec/support/matchers/malformed_whitespace_matchers.rb
|
34
280
|
has_rdoc: true
|
35
281
|
homepage: http://github.com/ryansobol/mango
|
36
282
|
licenses: []
|
@@ -66,6 +312,47 @@ rubyforge_project: mango
|
|
66
312
|
rubygems_version: 1.3.7
|
67
313
|
signing_key:
|
68
314
|
specification_version: 3
|
69
|
-
summary: Mango is a dynamic
|
70
|
-
test_files:
|
71
|
-
|
315
|
+
summary: Mango is a dynamic, database-free, and open source website framework
|
316
|
+
test_files:
|
317
|
+
- spec/app_root/content/about/index.haml
|
318
|
+
- spec/app_root/content/about/us.haml
|
319
|
+
- spec/app_root/content/engines/haml.haml
|
320
|
+
- spec/app_root/content/engines/markdown.markdown
|
321
|
+
- spec/app_root/content/engines/md.md
|
322
|
+
- spec/app_root/content/engines/mdown.mdown
|
323
|
+
- spec/app_root/content/index.haml
|
324
|
+
- spec/app_root/content/override.haml
|
325
|
+
- spec/app_root/content/page_with_missing_view.haml
|
326
|
+
- spec/app_root/content/turner+hooch.haml
|
327
|
+
- spec/app_root/security_hole.haml
|
328
|
+
- spec/app_root/themes/default/public/default.css
|
329
|
+
- spec/app_root/themes/default/public/images/index.html
|
330
|
+
- spec/app_root/themes/default/public/images/ripe-mango.jpg
|
331
|
+
- spec/app_root/themes/default/public/override
|
332
|
+
- spec/app_root/themes/default/public/robots.txt
|
333
|
+
- spec/app_root/themes/default/public/styles/override.css
|
334
|
+
- spec/app_root/themes/default/public/styles/reset.css
|
335
|
+
- spec/app_root/themes/default/public/styles/subfolder/another.css
|
336
|
+
- spec/app_root/themes/default/security_hole.sass
|
337
|
+
- spec/app_root/themes/default/security_hole.txt
|
338
|
+
- spec/app_root/themes/default/styles/override.sass
|
339
|
+
- spec/app_root/themes/default/styles/screen.sass
|
340
|
+
- spec/app_root/themes/default/styles/subfolder/screen.sass
|
341
|
+
- spec/app_root/themes/default/views/404.haml
|
342
|
+
- spec/app_root/themes/default/views/layout.haml
|
343
|
+
- spec/app_root/themes/default/views/page.haml
|
344
|
+
- spec/mango/application/routing_content_pages_spec.rb
|
345
|
+
- spec/mango/application/routing_public_files_spec.rb
|
346
|
+
- spec/mango/application/routing_style_sheets_spec.rb
|
347
|
+
- spec/mango/application_spec.rb
|
348
|
+
- spec/mango/content_page/finding_spec.rb
|
349
|
+
- spec/mango/content_page/initializing_spec.rb
|
350
|
+
- spec/mango/content_page_spec.rb
|
351
|
+
- spec/mango/dependencies_spec.rb
|
352
|
+
- spec/mango/flavored_markdown_spec.rb
|
353
|
+
- spec/mango/rack/debugger_spec.rb
|
354
|
+
- spec/mango/version_spec.rb
|
355
|
+
- spec/quality_spec.rb
|
356
|
+
- spec/spec.opts
|
357
|
+
- spec/spec_helper.rb
|
358
|
+
- spec/support/matchers/malformed_whitespace_matchers.rb
|