mango 0.1.1 → 0.5.0.beta1
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.
- 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
|