gumdrop 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,8 @@
1
+ # v0.3.4
2
+ - Fixed a bug in the default template
3
+ - Added custom Stitch compilers for hogan, css/sass, and serenade files.
4
+ - Added -r --reload switches to commandline to force reloading on server, per request.
5
+
1
6
  # v0.3.3
2
7
  - Updated Backbone template to include a default view (and some core bugfixes)
3
8
 
@@ -22,6 +22,7 @@ EOS
22
22
  opt :build, "Build HTML output"
23
23
  opt :server, "Runs development server"
24
24
  opt :port, "Specifies port to run server on", :type=>:int
25
+ opt :reload, "Force reloading on dev server"
25
26
  end
26
27
 
27
28
  # Trollop::die :volume, "must be non-negative" if opts[:volume] < 0
@@ -58,6 +59,7 @@ elsif opts[:build_given]
58
59
 
59
60
  elsif opts[:server_given]
60
61
  Gumdrop.config.auto_run= true
62
+ Gumdrop.config.force_reload= opts[:reload_given]
61
63
  Gumdrop::Server
62
64
 
63
65
  else
@@ -54,6 +54,7 @@ module Gumdrop
54
54
 
55
55
  def stitch(name, opts)
56
56
  require 'gumdrop/stitch_ex'
57
+ require 'gumdrop/stitch_compilers'
57
58
  page name do
58
59
  content= Stitch::Package.new(opts).compile
59
60
  if opts[:compress]
@@ -0,0 +1,99 @@
1
+ require 'stitch-rb'
2
+
3
+ class SerenadeCompiler < Stitch::Compiler
4
+
5
+ extensions :serenade
6
+
7
+ def compile(path)
8
+ content= File.read(path)
9
+ viewname= File.basename(path).gsub('.serenade', '').gsub('.html', '').gsub('.', '_')
10
+ %{
11
+ Serenade.view(#{ viewname.to_json }, #{content.to_json});
12
+ }
13
+ end
14
+
15
+ end
16
+
17
+ class HoganCompiler < Stitch::Compiler
18
+ # List of supported extensions
19
+ extensions :mustache
20
+
21
+ # A compile method which takes a file path,
22
+ # and returns a compiled string
23
+ def compile(path)
24
+ content = File.read(path)
25
+ %{
26
+ var template = Hogan.compile(#{content.to_json});
27
+ module.exports = (function(data){ return template.render(data); });
28
+ }
29
+ end
30
+ end
31
+
32
+ module CssJsCode
33
+
34
+ def export_js_code(path)
35
+ content= File.read(path)
36
+ %{
37
+ var css = #{ transpile(content, File.extname(path)).to_json },
38
+ node = null;
39
+ module.exports= {
40
+ content: css,
41
+ add: function(to){
42
+ if(node != null) return;
43
+ if(to == null) to= document.getElementsByTagName('HEAD')[0] || document.body;
44
+ node= document.createElement('style');
45
+ node.innerHTML= css;
46
+ to.appendChild(node);
47
+ return this;
48
+ },
49
+ remove: function() {
50
+ if(node != null) {
51
+ node.parentNode.removeChild(node);
52
+ node = null;
53
+ }
54
+ return this;
55
+ }
56
+ };
57
+ }
58
+ end
59
+
60
+ def transpile(content, ext)
61
+ content
62
+ end
63
+
64
+ end
65
+
66
+ class CssCompiler < Stitch::Compiler
67
+ include CssJsCode
68
+
69
+ extensions :css
70
+
71
+ def compile(path)
72
+ export_js_code path
73
+ end
74
+
75
+ end
76
+
77
+
78
+ begin
79
+ require 'sass'
80
+
81
+ class SassCompiler < Stitch::Compiler
82
+ include CssJsCode
83
+
84
+ extensions :sass, :scss
85
+
86
+ def compile(path)
87
+ export_js_code path
88
+ end
89
+
90
+ def transpile(content, ext)
91
+ type = (ext == '.sass') ? :sass : :scss
92
+ Sass::Engine.new(content, :syntax=>type).render
93
+ end
94
+ end
95
+
96
+ rescue
97
+ # Sass Not available
98
+ end
99
+
@@ -0,0 +1,17 @@
1
+ {log}= require 'utils'
2
+
3
+
4
+ class HomeView extends Backbone.View
5
+ className: 'home'
6
+
7
+ src:
8
+ template: require('./templates/home')
9
+ styles: require('./styles/home')
10
+
11
+ render: ->
12
+ @src.styles.add()
13
+ @el.innerHTML= @src.template({})
14
+ @
15
+
16
+
17
+ module.exports= HomeView
@@ -13,9 +13,9 @@ require 'gumdrop'
13
13
  Gumdrop.config.auto_run= false
14
14
  Gumdrop.config.force_reload= true
15
15
 
16
- require 'rack/static'
16
+ #require 'rack/static'
17
17
  #use Rack::Static, :urls => ["/media"], :root => "source"
18
- use Rack::Static, :urls => ["/theme/images"], :root => "source"
18
+ #use Rack::Static, :urls => ["/theme/images"], :root => "source"
19
19
 
20
20
 
21
21
  run Gumdrop::Server
@@ -11,7 +11,8 @@ end
11
11
  require 'slim'
12
12
  Slim::Engine.set_default_options pretty:true
13
13
 
14
- require 'stitch_compilers'
14
+ # If you want to specify custom stitch compilers, uncomment this:
15
+ #require 'stitch_compilers'
15
16
 
16
17
  generate do
17
18
 
@@ -1,85 +1 @@
1
- require 'stitch-rb'
2
-
3
- class HoganCompiler < Stitch::Compiler
4
- # List of supported extensions
5
- extensions :mustache
6
-
7
- # A compile method which takes a file path,
8
- # and returns a compiled string
9
- def compile(path)
10
- content = File.read(path)
11
- %{
12
- var template = Hogan.compile(#{content.to_json});
13
- module.exports = (function(data){ return template.render(data); });
14
- }
15
- end
16
- end
17
-
18
- module CssJsCode
19
-
20
- def export_js_code(path)
21
- content= File.read(path)
22
- %{
23
- var css = #{ transpile(content, File.extname(path)).to_json },
24
- node = null;
25
- module.exports= {
26
- content: css,
27
- add: function(to){
28
- if(node != null) return;
29
- if(to == null) to= document.getElementsByTagName('HEAD')[0] || document.body;
30
- node= document.createElement('style');
31
- node.innerHTML= css;
32
- to.appendChild(node);
33
- return this;
34
- },
35
- remove: function() {
36
- if(node != null) {
37
- node.parentNode.removeChild(node);
38
- node = null;
39
- }
40
- return this;
41
- }
42
- };
43
- }
44
- end
45
-
46
- def transpile(content, ext)
47
- content
48
- end
49
-
50
- end
51
-
52
- class CssCompiler < Stitch::Compiler
53
- include CssJsCode
54
-
55
- extensions :css
56
-
57
- def compile(path)
58
- export_js_code path
59
- end
60
-
61
- end
62
-
63
-
64
- begin
65
- require 'sass'
66
-
67
- class SassCompiler < Stitch::Compiler
68
- include CssJsCode
69
-
70
- extensions :sass, :scss
71
-
72
- def compile(path)
73
- export_js_code path
74
- end
75
-
76
- def transpile(content, ext)
77
- type = (ext == '.sass') ? :sass : :scss
78
- Sass::Engine.new(content, :syntax=>type).render
79
- end
80
- end
81
-
82
- rescue
83
- # Sass Not available
84
- end
85
-
1
+ # You can add your own stitch compilers here...
@@ -2,7 +2,7 @@ source "http://rubygems.org"
2
2
 
3
3
  gem "i18n"
4
4
  gem "sinatra"
5
- gem "active_support"]
5
+ gem "active_support"
6
6
 
7
7
  gem "rake"
8
8
  gem "gumdrop"
@@ -13,9 +13,9 @@ require 'gumdrop'
13
13
  Gumdrop.config.auto_run= false
14
14
  Gumdrop.config.force_reload= true
15
15
 
16
- require 'rack/static'
16
+ #require 'rack/static'
17
17
  #use Rack::Static, :urls => ["/media"], :root => "source"
18
- use Rack::Static, :urls => ["/theme/images"], :root => "source"
18
+ #use Rack::Static, :urls => ["/theme/images"], :root => "source"
19
19
 
20
20
 
21
21
  run Gumdrop::Server
@@ -1,5 +1,5 @@
1
1
  module Gumdrop
2
2
 
3
- VERSION = "0.3.3" unless defined?(::Gumdrop::VERSION)
3
+ VERSION = "0.3.4" unless defined?(::Gumdrop::VERSION)
4
4
 
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gumdrop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-07-22 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
16
- requirement: &70203140877540 !ruby/object:Gem::Requirement
16
+ requirement: &70198988300240 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70203140877540
24
+ version_requirements: *70198988300240
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: tilt
27
- requirement: &70203140876080 !ruby/object:Gem::Requirement
27
+ requirement: &70198988298660 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70203140876080
35
+ version_requirements: *70198988298660
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: active_support
38
- requirement: &70203140874980 !ruby/object:Gem::Requirement
38
+ requirement: &70198988297060 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70203140874980
46
+ version_requirements: *70198988297060
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: trollop
49
- requirement: &70203140874060 !ruby/object:Gem::Requirement
49
+ requirement: &70198988296220 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70203140874060
57
+ version_requirements: *70198988296220
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: haml
60
- requirement: &70203140873180 !ruby/object:Gem::Requirement
60
+ requirement: &70198988295160 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70203140873180
68
+ version_requirements: *70198988295160
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sass
71
- requirement: &70203140872140 !ruby/object:Gem::Requirement
71
+ requirement: &70198988293960 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70203140872140
79
+ version_requirements: *70198988293960
80
80
  description: A simple cms/prototyping tool.
81
81
  email: matt@elucidata.net
82
82
  executables:
@@ -127,6 +127,7 @@ files:
127
127
  - lib/gumdrop/logging.rb
128
128
  - lib/gumdrop/pager.rb
129
129
  - lib/gumdrop/server.rb
130
+ - lib/gumdrop/stitch_compilers.rb
130
131
  - lib/gumdrop/stitch_ex.rb
131
132
  - lib/gumdrop/template/backbone/Gemfile
132
133
  - lib/gumdrop/template/backbone/Rakefile
@@ -134,9 +135,9 @@ files:
134
135
  - lib/gumdrop/template/backbone/app/init.js.coffee
135
136
  - lib/gumdrop/template/backbone/app/models/.gitkeep
136
137
  - lib/gumdrop/template/backbone/app/utils/index.js.coffee
137
- - lib/gumdrop/template/backbone/app/views/views/home.js.coffee
138
- - lib/gumdrop/template/backbone/app/views/views/styles/home.scss
139
- - lib/gumdrop/template/backbone/app/views/views/templates/home.mustache
138
+ - lib/gumdrop/template/backbone/app/views/home.js.coffee
139
+ - lib/gumdrop/template/backbone/app/views/styles/home.scss
140
+ - lib/gumdrop/template/backbone/app/views/templates/home.mustache
140
141
  - lib/gumdrop/template/backbone/config.ru
141
142
  - lib/gumdrop/template/backbone/data/config.yml
142
143
  - lib/gumdrop/template/backbone/lib/javascript/all.js.coffee
@@ -1,17 +0,0 @@
1
- {log}= require 'utils'
2
-
3
-
4
- class HomeView extends Backbone.View
5
- className: 'home'
6
-
7
- template: require('./templates/home')
8
- styles: require('./styles/home')
9
-
10
- render: ->
11
- log @styles
12
- @styles.add()
13
- @el.innerHTML= @template({})
14
- @
15
-
16
-
17
- module.exports= HomeView