mercury 0.7.5 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,6 @@
1
+ = sass :default
2
+ = haml :header
3
+ = haml :navigation
4
+ #content.container_12
5
+ = markdown :about
6
+ = haml :footer
@@ -0,0 +1,25 @@
1
+ # About Mercury
2
+
3
+ Mercury is a gem that makes it simple to work with haml, sass, jquery and other tools and technologies without the hassle.
4
+
5
+ <pre><code>
6
+ $ gem install mercury
7
+
8
+ $ mercury {your project}
9
+
10
+ $ cd {your project}
11
+
12
+ $ mate views
13
+
14
+ # Start writing your haml
15
+
16
+ # default.haml
17
+
18
+ %h1 Hello World
19
+
20
+ ----
21
+
22
+ # Run
23
+
24
+ $ mercury
25
+ </code></pre>
@@ -0,0 +1,35 @@
1
+ =nav_a
2
+ border: 1px solid gray
3
+ padding: 10px
4
+ text-decoration: none
5
+ color: #004080
6
+
7
+ #header-wrapper
8
+ background-color: orange
9
+ color: white
10
+
11
+ #navigation
12
+ text-align: center
13
+ ul
14
+ list-style: none
15
+
16
+ li
17
+ display: inline
18
+ a
19
+ +nav_a
20
+
21
+ a:hover
22
+ background-color: orange
23
+ color: white
24
+
25
+ a:visited
26
+ +nav_a
27
+
28
+ #home-content
29
+ p
30
+ font-size: 2em
31
+
32
+ pre
33
+ background-color: black
34
+ color: white
35
+ padding: 10px
@@ -0,0 +1,2 @@
1
+ #footer.container_12
2
+ Mercury Documentation Site
@@ -0,0 +1,3 @@
1
+ #header-wrapper
2
+ #header.container_16
3
+ %h1 Mercury Docs
@@ -0,0 +1,12 @@
1
+ = sass :default
2
+ = haml :header
3
+ = haml :navigation
4
+ #home-content.container_12
5
+ .grid_7.prefix_2.suffix_3
6
+ = markdown :home
7
+
8
+
9
+ .clear
10
+
11
+
12
+ = haml :footer
@@ -0,0 +1,21 @@
1
+ Mercury is a gem that makes it simple to work with haml, sass, jquery and other tools and technologies without the hassle.
2
+
3
+ ## Installation
4
+
5
+ <pre><code>
6
+ $ gem install mercury
7
+ </code></pre>
8
+
9
+ ## Create a Mercury Project
10
+
11
+ <pre><code>
12
+ $ mercury project_awesome
13
+ </code></pre>
14
+
15
+ ## Run your Mercury Project
16
+
17
+ <pre><code>
18
+ $ cd project_awesome
19
+ $ mercury
20
+ </code></pre>
21
+
@@ -0,0 +1,10 @@
1
+ #navigation.container_16
2
+ %ul
3
+ %li
4
+ %a{:href => '/home'} Home
5
+ %li
6
+ %a{:href => '/video'} Video
7
+ %li
8
+ %a{:href => '/resources'} Resources
9
+ %li
10
+ %a{:href => '/log'} Change Log
@@ -0,0 +1,12 @@
1
+ = sass :default
2
+ = haml :header
3
+ = haml :navigation
4
+ #content.container_12
5
+ .grid_7.prefix_2.suffix_3
6
+ = markdown :resources
7
+
8
+
9
+ .clear
10
+
11
+
12
+ = haml :footer
@@ -0,0 +1,7 @@
1
+ ## Mercury allows you to easily use the following list of technologies:
2
+
3
+ * [Haml](http://www.haml-lang.com)
4
+ * [Sass](http://www.sass-lang.com)
5
+ * [JQuery](http://www.jquery.com)
6
+ * [JQueryUI](http://www.jqueryui.com)
7
+ * [Markdown](http://daringfireball.net/projects/markdown/)
@@ -4,38 +4,58 @@ require 'sass'
4
4
  require 'fileutils'
5
5
  require 'faker'
6
6
 
7
+ begin
8
+ require 'rdiscount'
9
+ # ^^ that sets a Markdown constant
10
+ rescue LoadError
11
+ require 'bluecloth'
12
+ Markdown = BlueCloth
13
+ end
14
+
15
+ # Core Sinatra application to run mercury apps
7
16
  class Mercury < Sinatra::Application
8
17
  SASS = 'sass'
9
18
  JS = 'js'
19
+ MARKDOWN = 'md'
10
20
 
11
21
  set :root, FileUtils.pwd.gsub("\n",'')
12
22
  set :public, File.dirname(__FILE__) + '/public'
13
23
 
14
24
  get '/*' do
15
- vf = params["splat"][0]
16
- vd = File.join(File.dirname(__FILE__),'views')
17
- layout_template = open(File.join(vd,'layout.haml'),'r').read
18
-
19
- view_file = vf.empty? ? open(File.join(vd,'index.haml'),'r').read : vf.to_sym
20
-
21
- haml view_file, :layout => layout_template
25
+ view_file_request = params["splat"][0]
26
+ haml view_file_request.empty? ? view_file = get_view('index.haml') : view_file_request.to_sym, :layout => get_view('layout.haml')
22
27
  end
23
28
 
24
29
  def sass(sassfile)
25
30
  ["<style type='text/css'>",
26
- Sass::Engine.new(open(find_file(sassfile, SASS), 'r').read).render,
31
+ Sass::Engine.new(open_file(find_file(sassfile, SASS))).render,
27
32
  "</style>\n"].join("\n")
28
33
  end
29
34
 
30
35
  def javascript(jsfile)
31
36
  ["<script type='text/javascript'>",
32
- open(find_file(jsfile, JS), 'r').read,
37
+ open_file(find_file(jsfile, JS)),
33
38
  "</script>\n"].join("\n")
34
39
  end
35
40
 
41
+ def markdown(mdfile)
42
+ Markdown.new(open_file(find_file(mdfile, MARKDOWN))).to_html
43
+ end
44
+
45
+
36
46
  private
37
47
  def find_file(filename, ext)
38
- Dir.glob(File.join(options.views, "**/*.#{ext}")).select { |f| f =~ /#{filename}.#{ext}$/ }.first
48
+ Dir.glob(File.join(options.views, "**/*.#{ext}")).select { |extfile| extfile =~ /#{filename}.#{ext}$/ }.first
49
+ end
50
+
51
+ def open_file(full_path_and_filename)
52
+ open(full_path_and_filename,'r').read
53
+ end
54
+
55
+ def get_view(filename)
56
+ view_directory = File.join(File.dirname(__FILE__),'views')
57
+ open_file File.join(view_directory,filename)
39
58
  end
40
59
 
60
+
41
61
  end
@@ -2,7 +2,7 @@
2
2
  %html{ :xmlns => "http://www.w3.org/1999/xhtml", :lang => "en", 'xml:lang' => "en" }
3
3
  %head
4
4
  %title Mercury
5
- - ['reset','text','960','smoothness/jquery-ui-1.8rc3.custom', 'app'].each do |css|
5
+ - ['reset','text','960','smoothness/jquery-ui-1.8rc3.custom','app'].each do |css|
6
6
  %link{ :href => "/stylesheets/#{css}.css", :rel => "stylesheet", :type => "text/css", :media => "screen", :charset => "utf-8" }
7
7
  %body
8
8
  - ['jquery-1.4.2.min', 'jquery-ui-1.8rc3.custom.min'].each do |js|
@@ -16,5 +16,17 @@ describe "mercury index" do
16
16
  get '/'
17
17
  last_response.body.should =~ /Mercury/
18
18
  end
19
+
20
+ it "should contain mercury" do
21
+ get '/'
22
+ last_response.body.should =~ /Jack Russell Software/
23
+ end
24
+
25
+ # it "should return error" do
26
+ # app.stub!(:haml).and_return("<h1>test</h1>")
27
+ # get '/test'
28
+ # puts last_response.body
29
+ # end
30
+
19
31
 
20
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mercury
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.5
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Wilson
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-03-06 00:00:00 -05:00
12
+ date: 2010-03-07 00:00:00 -05:00
13
13
  default_executable: mercury
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -42,6 +42,16 @@ dependencies:
42
42
  - !ruby/object:Gem::Version
43
43
  version: "0"
44
44
  version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: bluecloth
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
45
55
  description: Mercury allows you to create web sites/apps/mockups using haml, sass, and jquery.
46
56
  email: thing2@jackhq.com
47
57
  executables:
@@ -60,6 +70,18 @@ files:
60
70
  - Rakefile
61
71
  - VERSION
62
72
  - bin/mercury
73
+ - docs/config.ru
74
+ - docs/mercury.log
75
+ - docs/views/about.haml
76
+ - docs/views/about.md
77
+ - docs/views/default.sass
78
+ - docs/views/footer.haml
79
+ - docs/views/header.haml
80
+ - docs/views/home.haml
81
+ - docs/views/home.md
82
+ - docs/views/navigation.haml
83
+ - docs/views/resources.haml
84
+ - docs/views/resources.md
63
85
  - lib/mercury.rb
64
86
  - lib/public/favicon.ico
65
87
  - lib/public/images/bk_gradient.png