bonsai 1.1.4 → 1.1.5

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/Rakefile CHANGED
@@ -25,7 +25,7 @@ begin
25
25
  gem.homepage = "http://github.com/benschwarz/bonsai"
26
26
  gem.authors = ["Ben Schwarz"]
27
27
  gem.executables = ['bonsai']
28
-
28
+ gem.has_rdoc = false
29
29
  gem.files.exclude 'vendor/gems'
30
30
 
31
31
  gem.add_development_dependency "rspec", ">= 1.3.0"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.4
1
+ 1.1.5
@@ -2,7 +2,7 @@ require 'lib/bonsai'
2
2
  require 'benchmark'
3
3
 
4
4
  Bonsai.root_dir = File.dirname(__FILE__) + "/../spec/support"
5
- Bonsai.configure {|config| config[:enable_logging] = false }
5
+ Bonsai.config = { :enable_logging => false }
6
6
 
7
7
  page = Bonsai::Page.find("about-us/history")
8
8
 
data/bonsai.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{bonsai}
8
- s.version = "1.1.4"
8
+ s.version = "1.1.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ben Schwarz"]
12
- s.date = %q{2010-02-14}
12
+ s.date = %q{2010-02-15}
13
13
  s.default_executable = %q{bonsai}
14
14
  s.description = %q{A static site generator that uses the best toolset available}
15
15
  s.email = %q{ben.schwarz@gmail.com}
@@ -114,6 +114,7 @@ Gem::Specification.new do |s|
114
114
  "spec/support/templates/partials/inserted.mustache",
115
115
  "vendor/yui-compressor/yuicompressor-2.4.2.jar"
116
116
  ]
117
+ s.has_rdoc = false
117
118
  s.homepage = %q{http://github.com/benschwarz/bonsai}
118
119
  s.post_install_message = %q{
119
120
 
data/lib/bonsai.rb CHANGED
@@ -5,13 +5,8 @@ require 'logger'
5
5
  $LOAD_PATH << "#{File.dirname(__FILE__)}/bonsai"
6
6
 
7
7
  module Bonsai
8
- @@root_dir = nil
9
- @@config = { :enable_logging => true }
10
-
11
8
  class << self
12
- def root_dir
13
- @@root_dir || Dir.pwd
14
- end
9
+ attr_accessor :root_dir, :config
15
10
 
16
11
  def root_dir=(path)
17
12
  unless is_a_bonsai?(path)
@@ -19,7 +14,7 @@ module Bonsai
19
14
  exit 0
20
15
  end
21
16
 
22
- @@root_dir = path
17
+ @root_dir = path
23
18
 
24
19
  Exporter.path = "#{path}/output"
25
20
  Page.path = "#{path}/content"
@@ -27,15 +22,11 @@ module Bonsai
27
22
  end
28
23
 
29
24
  def log(message)
30
- puts message if @@config[:enable_logging]
25
+ puts message if config[:enable_logging]
31
26
  end
32
27
 
33
28
  def config
34
- @@config
35
- end
36
-
37
- def configure(&block)
38
- yield @@config
29
+ @config || { :enable_logging => true }
39
30
  end
40
31
 
41
32
  def version
@@ -3,11 +3,9 @@ require 'less'
3
3
 
4
4
  module Bonsai
5
5
  class Exporter
6
- @@path = "output"
7
-
8
6
  class << self
9
- def path; @@path; end
10
- def path=(path); @@path = path; end
7
+ attr_accessor :path
8
+ def path; @path || "output"; end
11
9
 
12
10
  def process!
13
11
  setup
@@ -66,15 +64,12 @@ module Bonsai
66
64
 
67
65
  readme = <<-README
68
66
  This site was built using Bonsai (http://tinytree.info)
69
-
70
- To make changes to the site using Bonsai you will require the original source files.
71
- Please contact the author of your site for details.
72
67
 
73
- It may also be a good idea to ensure that you've got Bonsai version #{Bonsai.version} or higher.
74
- If you experience any unexplainable issues try uninstalling all versions of Bonsai (`gem uninstall bonsai`) and install version #{Bonsai.version} (`gem install bonsai -v #{Bonsai.version}`)
68
+ To make changes to the site you will require the original source files.
69
+ Please contact the author of your site for details.
75
70
  README
76
71
 
77
- File.open("#{path}/ABOUT-THIS-SITE.txt", "w") {|file| file.write(readme) }
72
+ File.open("#{path}/ABOUT-THIS-SITE", "w") {|file| file.write(readme) }
78
73
  end
79
74
 
80
75
  def copy_assets
data/lib/bonsai/page.rb CHANGED
@@ -11,19 +11,18 @@ end
11
11
 
12
12
  module Bonsai
13
13
  class Page
14
- class NotFound < StandardError; end;
15
- @@pages = {}
16
-
17
- class << self
18
- def path; @@path; end
19
- def path=(path); @@path = path; end
14
+ class NotFound < StandardError; end;
15
+ class << self
16
+ attr_accessor :path, :pages
17
+
18
+ def pages; @pages || {} end
20
19
 
21
20
  def all(dir_path = path, pattern = "*/**")
22
21
  Dir["#{dir_path}/#{pattern}/*.yml"].map {|p| Page.new p }
23
22
  end
24
23
 
25
24
  def find(permalink)
26
- @@pages[permalink] ||= find!(permalink)
25
+ pages[permalink] ||= find!(permalink)
27
26
  end
28
27
 
29
28
  private
@@ -202,7 +201,7 @@ module Bonsai
202
201
  end
203
202
 
204
203
  def web_path(path)
205
- path.gsub(@@path, '').gsub(/\/\d+\./, '/')
204
+ path.gsub(self.class.path, '').gsub(/\/\d+\./, '/')
206
205
  end
207
206
  end
208
207
  end
@@ -25,6 +25,14 @@ module Bonsai
25
25
  end
26
26
 
27
27
  template.render
28
+ rescue NoMethodError
29
+ Bonsai.log <<-HELP
30
+ ! Can't write sitemap. Check that `site.yml` looks something like this:
31
+
32
+ #{File.read(File.dirname(__FILE__) + "/templates/site.yml")}
33
+ HELP
34
+
35
+ exit
28
36
  end
29
37
  end
30
38
  end
@@ -1,14 +1,13 @@
1
1
  module Bonsai
2
- class Template
3
- @@path = "templates"
4
-
2
+ class Template
5
3
  class NotFound < StandardError; end
6
4
 
5
+ # Class methods
7
6
  class << self
8
- def path; @@path; end
9
-
10
- def path=(path)
11
- @@path = path
7
+ attr_accessor :path
8
+
9
+ def path
10
+ @path || "templates"
12
11
  end
13
12
 
14
13
  def find(name)
@@ -22,6 +21,7 @@ module Bonsai
22
21
  end
23
22
  end
24
23
 
24
+ # Instance methods
25
25
  attr_reader :path
26
26
 
27
27
  def initialize(path)
@@ -120,7 +120,7 @@ describe Bonsai::Exporter do
120
120
  end
121
121
 
122
122
  it "should write a readme file to explain how the site was generated" do
123
- File.exists?("#{Bonsai::Exporter.path}/ABOUT-THIS-SITE.txt").should be_true
123
+ File.exists?("#{Bonsai::Exporter.path}/ABOUT-THIS-SITE").should be_true
124
124
  end
125
125
 
126
126
  describe "asset compression" do
@@ -37,8 +37,8 @@ describe Bonsai::Generate do
37
37
  File.exists?("#{@path}/site.yml").should be_true
38
38
  end
39
39
 
40
- it "should generate 23 files" do
41
- Dir.glob("#{@path}/**/*", File::FNM_DOTMATCH).select{|f| File.file?(f) }.size.should == 23
40
+ it "should generate 21 files" do
41
+ Dir.glob("#{@path}/**/*", File::FNM_DOTMATCH).select{|f| File.file?(f) }.size.should == 21
42
42
  end
43
43
 
44
44
  it "should generate 15 directories" do
data/spec/spec.opts CHANGED
@@ -1 +1,2 @@
1
1
  --color
2
+ -b
data/spec/spec_helper.rb CHANGED
@@ -5,7 +5,7 @@ require 'spec'
5
5
  require 'spec/autorun'
6
6
 
7
7
  Spec::Runner.configure do |config|
8
- Bonsai.configure {|config| config[:enable_logging] = false }
8
+ Bonsai.config = { :enable_logging => false }
9
9
 
10
10
  BONSAI_PATH = "#{File.dirname(__FILE__)}/support" unless defined? BONSAI_PATH
11
11
  Bonsai.root_dir = BONSAI_PATH
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bonsai
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Schwarz
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-02-14 00:00:00 +11:00
12
+ date: 2010-02-15 00:00:00 +11:00
13
13
  default_executable: bonsai
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -226,7 +226,7 @@ files:
226
226
  - spec/support/templates/demo-template.mustache
227
227
  - spec/support/templates/partials/inserted.mustache
228
228
  - vendor/yui-compressor/yuicompressor-2.4.2.jar
229
- has_rdoc: true
229
+ has_rdoc: false
230
230
  homepage: http://github.com/benschwarz/bonsai
231
231
  licenses: []
232
232