tdreyno-staticmatic 2.9.4 → 2.9.6

Sign up to get free protection for your applications and to get access to all the features.
data/bin/sm-build CHANGED
@@ -1,11 +1,12 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ # Require Merb
3
4
  require 'rubygems'
4
5
  require 'merb-core'
5
6
 
6
7
  # Setup Default Options
7
8
  ARGV.push *['--pid', "/var/tmp/staticmatic.%s.pid"]
8
- ARGV.push *['--init-file', File.join(File.dirname(__FILE__), '..', 'lib', 'merb', 'init.rb')]
9
+ ARGV.push *['--environment', 'build']
9
10
 
10
11
  # Start Merb
11
12
  Merb.start
@@ -14,8 +15,5 @@ class MerbProxy
14
15
  include Merb::Test::RequestHelper
15
16
  end
16
17
 
17
- Sass::Plugin.options = Merb::Config[:sass] if Merb::Config[:sass]
18
- Sass::Plugin.update_stylesheets
19
-
20
18
  require File.join(File.dirname(__FILE__), '..', 'lib', 'builder')
21
19
  Generators.run_cli(Dir.pwd, 'sm-build', 1, %w(build --force).concat(ARGV))
data/bin/sm-server CHANGED
@@ -5,9 +5,8 @@ require 'rubygems'
5
5
  require 'merb-core'
6
6
 
7
7
  # Setup Default Options
8
- ARGV.push *['--adapter', "mongrel"]
9
8
  ARGV.push *['--pid', "/var/tmp/staticmatic.%s.pid"]
10
- ARGV.push *['--init-file', File.join(File.dirname(__FILE__), '..', 'lib', 'merb', 'init.rb')]
9
+ ARGV.push *['--adapter', "mongrel"]
11
10
 
12
11
  # Start Merb
13
12
  puts "Welcome to StaticMatic"
data/lib/builder.rb CHANGED
@@ -4,7 +4,7 @@ require 'templater'
4
4
  module Generators
5
5
  extend Templater::Manifold
6
6
  desc "Build a staticmatic site"
7
-
7
+
8
8
  class Builder < Templater::Generator
9
9
  # Define source and desintation
10
10
  def self.source_root; Dir.pwd; end
@@ -14,26 +14,30 @@ module Generators
14
14
  def self.template(name, *args, &block)
15
15
  return if args.first.include?('/layout/')
16
16
  return if File.basename(args.first)[0,1] == '_'
17
-
17
+
18
18
  if (args[0] === args[1])
19
19
  args[1] = args[0].gsub(File.extname(args.first), '').gsub('pages/', '')
20
20
  end
21
-
21
+
22
22
  super(name, *args, &block)
23
23
  end
24
-
24
+
25
25
  def self.file(name, *args, &block)
26
26
  return if args.first.include?('/sass/')
27
27
  args[1] = args[0].gsub('pages/', '') if (args[0] === args[1])
28
28
  super(name, *args, &block)
29
29
  end
30
-
31
- glob! "images", [] # No templates
32
- glob! "javascripts", [] # No templates
33
- glob! "stylesheets", [] # No templates (Sass is pregenerated)
34
- glob! "pages", %w(haml erb)
30
+
31
+ public_files_glob = File.join(source_root, "public", "{images,javascripts,stylesheets}", '**/*')
32
+ Dir[public_files_glob].each do |action|
33
+ next if File.directory?(action)
34
+ action = action.sub("#{source_root}/", '')
35
+ file(action.downcase.gsub(/[^a-z0-9]+/, '_').to_sym, action, action.gsub('public/', ''))
36
+ end
37
+
38
+ glob! "pages", %w(haml erb)
35
39
  end
36
-
40
+
37
41
  add :build, Builder
38
42
  end
39
43
 
data/lib/generator.rb CHANGED
@@ -2,25 +2,36 @@ require 'rubygems'
2
2
  require 'templater'
3
3
 
4
4
  module Generators
5
- extend Templater::Manifold
5
+ extend Templater::Manifold
6
6
  desc "Generator for streamlining staticmatic"
7
7
 
8
8
  class NewSite < Templater::Generator
9
9
  desc "Creates a new staticmatic scaffold."
10
10
  first_argument :location, :required => true, :desc => "Project location"
11
-
11
+ option :rack, :as => :boolean, :default => false, :desc => 'Should generate rackup (ru) file for Passenger'
12
+
12
13
  def destination_root
13
14
  File.expand_path(location)
14
15
  end
15
-
16
+
16
17
  def self.source_root
17
18
  File.join(File.dirname(__FILE__), 'template')
18
19
  end
19
20
 
20
- glob!
21
- empty_directory :build, "build"
22
- empty_directory :javascripts, "javascripts"
23
- empty_directory :images, "images"
21
+ glob! :config
22
+ glob! :helpers
23
+ glob! :pages
24
+ glob! :public
25
+ glob! :stylesheets
26
+
27
+ file :config_ru, :rack => true do |file|
28
+ file.source = File.join(source_root, 'config.ru')
29
+ file.destination = 'config.ru'
30
+ end
31
+
32
+ empty_directory :stylesheets, "public/stylesheets"
33
+ empty_directory :javascripts, "public/javascripts"
34
+ empty_directory :images, "public/images"
24
35
  end
25
36
 
26
37
  add :setup, NewSite
data/lib/merb/init.rb CHANGED
@@ -1,14 +1,12 @@
1
- dependency 'merb-assets', ">=1.0.0"
2
- dependency 'merb-helpers', ">=1.0.0"
3
- dependency 'merb-haml', ">=1.0.0"
1
+ require File.join(File.dirname(__FILE__), 'dependencies')
4
2
 
5
3
  Merb::Config.use do |c|
6
4
  c[:name] = 'sm-server'
7
5
  c[:exception_details] = true
8
-
6
+
9
7
  # Append random numbers to assets in dev mode, but not build mode
10
- c[:reload_templates] = (Merb::Config[:adapter] == 'mongrel')
11
-
8
+ c[:reload_templates] = (Merb::Config[:environment] != 'build')
9
+
12
10
  c[:reload_classes] = true
13
11
  c[:reload_time] = 0.5
14
12
  c[:ignore_tampered_cookies] = true
@@ -16,16 +14,18 @@ Merb::Config.use do |c|
16
14
  c[:log_level] = :error
17
15
  c[:log_stream] = STDOUT
18
16
  c[:log_file] = nil
17
+
18
+ c[:sass] = {
19
+ :template_location => Merb.root / 'stylesheets',
20
+ :css_location => Merb.root / 'public' / 'stylesheets',
21
+ }
19
22
  end
20
23
 
21
24
  Merb.push_path(:controller, File.dirname(__FILE__))
22
25
  Merb.push_path(:router, File.dirname(__FILE__), "router.rb")
23
- Merb.push_path(:public, Merb.root, nil)
24
- Merb.push_path(:stylesheet, Merb.root / "stylesheets", nil)
25
- Merb.push_path(:javascript, Merb.root / "javascripts", nil)
26
- Merb.push_path(:image, Merb.root / "images", nil)
27
- Merb.push_path(:view, Merb.root)
28
- Merb.push_path(:helper, Merb.root / "helpers")
29
-
30
- Merb::Plugins.config[:sass][:css_location] = Merb.dir_for(:stylesheet)
31
- Merb::Plugins.config[:sass][:template_location] = Merb.dir_for(:stylesheet) / "sass"
26
+ Merb.push_path(:public, Merb.root / "public", nil)
27
+ Merb.push_path(:stylesheet, Merb.dir_for(:public) / "stylesheets", nil)
28
+ Merb.push_path(:javascript, Merb.dir_for(:public) / "javascripts", nil)
29
+ Merb.push_path(:image, Merb.dir_for(:public) / "images", nil)
30
+ Merb.push_path(:view, Merb.root / "pages")
31
+ Merb.push_path(:helper, Merb.root / "helpers")
data/lib/merb/site.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  # Intercept all requests
2
2
  class Site < ::Merb::Controller
3
3
  def index
4
- render :template => File.join("pages", current_page)
4
+ render :template => current_page
5
5
  end
6
6
 
7
7
  override! :partial
8
8
  def partial(template, opts={})
9
- super(File.join("pages", template.to_s), opts)
9
+ super(template.to_s, opts)
10
10
  end
11
11
 
12
12
  override! :asset_path
@@ -0,0 +1,7 @@
1
+ # Include default staticmatic init
2
+ require '<%= ::File.join(::File.expand_path(::File.join(source_root, '..')), 'merb', 'init') %>'
3
+
4
+ # Enable Compass
5
+ dependency "chriseppstein-compass", :require_as => 'compass'
6
+ Merb::Plugins.config[:compass][:stylesheets] = Merb.dir_for(:stylesheet)
7
+ Merb::Plugins.config[:compass][:compiled_stylesheets] = Merb.dir_for(:stylesheet) / "sass"
@@ -1,9 +1,9 @@
1
1
  <html>
2
2
  <head>
3
- <%= stylesheet_link_tag "site" %>
3
+ <%= css_include_tag "site" %>
4
4
  <h1>My Sample Site</h1>
5
5
  </head>
6
6
  <body>
7
- <%= yield %>
7
+ <%= catch_content :for_layout %>
8
8
  </body>
9
9
  </html>
@@ -11,7 +11,7 @@ describe "Generator" do
11
11
 
12
12
  before :each do
13
13
  init_cmd = project_file("bin", "sm-init")
14
- `cd #{File.dirname(@root_dir)} && #{init_cmd} #{File.basename(@root_dir)}`
14
+ `cd #{File.dirname(@root_dir)} && #{init_cmd} #{File.basename(@root_dir)} --rack`
15
15
  end
16
16
 
17
17
  after :each do
@@ -21,12 +21,13 @@ describe "Generator" do
21
21
  it "should copy template files" do
22
22
  template_dir = project_file("lib", "template", "**/*")
23
23
  Dir[template_dir].each do |f|
24
+ next if File.directory?(f)
24
25
  File.exists?("#{@root_dir}/#{f.split('template/')[1]}").should be_true
25
26
  end
26
27
  end
27
28
 
28
29
  it "should create empty directories" do
29
- %w(build javascripts images).each do |d|
30
+ %w(stylesheets public/stylesheets public/javascripts public/images).each do |d|
30
31
  File.exists?("#{@root_dir}/#{d}").should be_true
31
32
  end
32
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tdreyno-staticmatic
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.4
4
+ version: 2.9.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Bartholomew
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-04-06 00:00:00 -07:00
13
+ date: 2009-04-29 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -43,6 +43,16 @@ dependencies:
43
43
  - !ruby/object:Gem::Version
44
44
  version: 1.0.5
45
45
  version:
46
+ - !ruby/object:Gem::Dependency
47
+ name: haml
48
+ type: :runtime
49
+ version_requirement:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 2.1.0
55
+ version:
46
56
  - !ruby/object:Gem::Dependency
47
57
  name: merb-haml
48
58
  type: :runtime
@@ -84,10 +94,11 @@ files:
84
94
  - lib/merb/init.rb
85
95
  - lib/merb/router.rb
86
96
  - lib/merb/site.rb
97
+ - lib/template/config/init.rb
87
98
  - lib/template/helpers/site_helper.rb
88
- - lib/template/layout/site.html.haml
89
99
  - lib/template/pages/index.html.haml
90
- - lib/template/stylesheets/sass/site.sass
100
+ - lib/template/pages/layout/site.html.haml
101
+ - lib/template/stylesheets/site.sass
91
102
  - README.textile
92
103
  has_rdoc: true
93
104
  homepage: http://github.com/tdreyno/staticmatic
@@ -113,7 +124,7 @@ requirements: []
113
124
  rubyforge_project:
114
125
  rubygems_version: 1.2.0
115
126
  signing_key:
116
- specification_version: 2
127
+ specification_version: 3
117
128
  summary: Static sites, the Merb Way
118
129
  test_files:
119
130
  - spec/generator_spec.rb
@@ -130,5 +141,5 @@ test_files:
130
141
  - spec/fixtures/sample/pages/static.html
131
142
  - spec/fixtures/sample/pages/services/index.html.erb
132
143
  - spec/fixtures/sample/pages/services/web_development.html.erb
133
- - spec/fixtures/sample/stylesheets/static.css
134
- - spec/fixtures/sample/stylesheets/sass/site.sass
144
+ - spec/fixtures/sample/public/stylesheets/static.css
145
+ - spec/fixtures/sample/stylesheets/site.sass