public
Rubygem
Description: A lightweight and flexible website management system.
Homepage: http://webby.rubyforge.org/
Clone URL: git://github.com/TwP/webby.git
Updating svn properties, fixing bugs, etc.
TwP (author)
Tue Jan 01 14:14:55 -0800 2008
commit  dc0ae0cf3b529af868da7d445779087dfe0d066f
tree    d7f4457a7c5bbcd4fe7cb16bb4631674ac153443
parent  28965fa02fcaf729b96f7aa8e95511426a421766
...
1
2
3
4
5
 
 
 
 
 
 
 
 
 
6
7
8
...
1
2
 
 
 
3
4
5
6
7
8
9
10
11
12
13
14
0
@@ -1,8 +1,14 @@
0
 == 0.7.0 /
0
 
0
-* Refactored how the filters are handled (thanks Bruce Williams)
0
-* Added helper methods for URL and tag generation
0
-* Fixed a bug arising from the order of the logger creation
0
+* 1 major enhancement
0
+ - Refactored how the filters are handled (thanks Bruce Williams)
0
+* 2 minor enhancements
0
+ - Added helper methods for URL and tag generation
0
+ - Added rake task to delete the generated website
0
+* 2 bug fixes
0
+ - Fixed a bug arising from the order of the logger creation
0
+ - Removed the file extension form the page defaults
0
+ (should be set in the layout or the page itself)
0
 
0
 == 0.6.0 / 2007-12-04
0
 
...
 
1
2
3
...
1
2
3
4
0
@@ -1,3 +1,4 @@
0
+# $Id$
0
 
0
 load 'tasks/setup.rb'
0
 
...
 
1
2
3
...
1
2
3
4
0
@@ -1,3 +1,4 @@
0
+# $Id$
0
 
0
 Rake::WebbyTask.new
0
 
...
 
1
2
3
...
1
2
3
4
0
@@ -1,3 +1,4 @@
0
+# $Id$
0
 
0
 require 'rake/contrib/sshpublisher'
0
 
...
1
2
3
4
5
6
7
8
9
10
11
12
 
 
 
 
 
 
 
 
 
 
 
 
 
...
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
0
@@ -1,12 +1,13 @@
0
-
0
-desc 'send log events to Growl (Mac OS X only)'
0
-task :growl do
0
- Logging::Logger['Webby'].add(Logging::Appenders::Growl.new(
0
- "Webby",
0
- :layout => Logging::Layouts::Pattern.new(:pattern => "%5l - Webby\000%m"),
0
- :coalesce => true,
0
- :separator => "\000"
0
- ))
0
-end
0
-
0
-# EOF
0
+# $Id$
0
+
0
+desc 'send log events to Growl (Mac OS X only)'
0
+task :growl do
0
+ Logging::Logger['Webby'].add(Logging::Appenders::Growl.new(
0
+ "Webby",
0
+ :layout => Logging::Layouts::Pattern.new(:pattern => "%5l - Webby\000%m"),
0
+ :coalesce => true,
0
+ :separator => "\000"
0
+ ))
0
+end
0
+
0
+# EOF
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
0
@@ -1,28 +1,29 @@
0
-
0
-namespace :heel do
0
-
0
- desc 'start the heel server to view website (not for Windows)'
0
- task :start do
0
- sh "heel --root #{SITE.output_dir} --daemonize"
0
- end
0
-
0
- desc 'stop the heel server'
0
- task :stop do
0
- sh "heel --kill"
0
- end
0
-
0
- task :autorun do
0
- heel_exe = File.join(Gem.bindir, 'heel')
0
- @heel_spawner = Spawner.new(Spawner.ruby, heel_exe, '--root', SITE.output_dir, :pause => 86_400)
0
- @heel_spawner.start
0
- end
0
-
0
- task :autobuild => :autorun do
0
- at_exit {@heel_spawner.stop if defined? @heel_spawner and not @heel_spawner.nil?}
0
- end
0
-
0
-end
0
-
0
-task :autobuild => 'heel:autobuild'
0
-
0
-# EOF
0
+# $Id$
0
+
0
+namespace :heel do
0
+
0
+ desc 'start the heel server to view website (not for Windows)'
0
+ task :start do
0
+ sh "heel --root #{SITE.output_dir} --daemonize"
0
+ end
0
+
0
+ desc 'stop the heel server'
0
+ task :stop do
0
+ sh "heel --kill"
0
+ end
0
+
0
+ task :autorun do
0
+ heel_exe = File.join(Gem.bindir, 'heel')
0
+ @heel_spawner = Spawner.new(Spawner.ruby, heel_exe, '--root', SITE.output_dir, :pause => 86_400)
0
+ @heel_spawner.start
0
+ end
0
+
0
+ task :autobuild => :autorun do
0
+ at_exit {@heel_spawner.stop if defined? @heel_spawner and not @heel_spawner.nil?}
0
+ end
0
+
0
+end
0
+
0
+task :autobuild => 'heel:autobuild'
0
+
0
+# EOF
...
 
1
2
3
...
11
12
13
14
15
 
16
17
18
...
1
2
3
4
...
12
13
14
 
 
15
16
17
18
0
@@ -1,3 +1,4 @@
0
+# $Id$
0
 
0
 require 'webby'
0
 
0
@@ -11,8 +12,7 @@ SITE.template_dir = 'templates'
0
 SITE.exclude = %w[tmp$ bak$ ~$ CVS \.svn]
0
   
0
 SITE.page_defaults = {
0
- 'extension' => 'html',
0
- 'layout' => 'default'
0
+ 'layout' => 'default'
0
 }
0
 
0
 # Items used to deploy the webiste
...
1
2
3
4
5
6
7
8
9
10
11
12
 
 
 
 
 
 
 
 
 
 
 
 
...
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
0
@@ -1,12 +1,12 @@
0
-
0
-desc 'send log events to Growl (Mac OS X only)'
0
-task :growl do
0
- Logging::Logger['Webby'].add(Logging::Appenders::Growl.new(
0
- "Webby",
0
- :layout => Logging::Layouts::Pattern.new(:pattern => "%5l - Webby\000%m"),
0
- :coalesce => true,
0
- :separator => "\000"
0
- ))
0
-end
0
-
0
-# EOF
0
+
0
+desc 'send log events to Growl (Mac OS X only)'
0
+task :growl do
0
+ Logging::Logger['Webby'].add(Logging::Appenders::Growl.new(
0
+ "Webby",
0
+ :layout => Logging::Layouts::Pattern.new(:pattern => "%5l - Webby\000%m"),
0
+ :coalesce => true,
0
+ :separator => "\000"
0
+ ))
0
+end
0
+
0
+# EOF
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
0
@@ -1,28 +1,28 @@
0
-
0
-namespace :heel do
0
-
0
- desc 'start the heel server to view website (not for Windows)'
0
- task :start do
0
- sh "heel --root #{SITE.output_dir} --daemonize"
0
- end
0
-
0
- desc 'stop the heel server'
0
- task :stop do
0
- sh "heel --kill"
0
- end
0
-
0
- task :autorun do
0
- heel_exe = File.join(Gem.bindir, 'heel')
0
- @heel_spawner = Spawner.new(Spawner.ruby, heel_exe, '--root', SITE.output_dir, :pause => 86_400)
0
- @heel_spawner.start
0
- end
0
-
0
- task :autobuild => :autorun do
0
- at_exit {@heel_spawner.stop if defined? @heel_spawner and not @heel_spawner.nil?}
0
- end
0
-
0
-end
0
-
0
-task :autobuild => 'heel:autobuild'
0
-
0
-# EOF
0
+
0
+namespace :heel do
0
+
0
+ desc 'start the heel server to view website (not for Windows)'
0
+ task :start do
0
+ sh "heel --root #{SITE.output_dir} --daemonize"
0
+ end
0
+
0
+ desc 'stop the heel server'
0
+ task :stop do
0
+ sh "heel --kill"
0
+ end
0
+
0
+ task :autorun do
0
+ heel_exe = File.join(Gem.bindir, 'heel')
0
+ @heel_spawner = Spawner.new(Spawner.ruby, heel_exe, '--root', SITE.output_dir, :pause => 86_400)
0
+ @heel_spawner.start
0
+ end
0
+
0
+ task :autobuild => :autorun do
0
+ at_exit {@heel_spawner.stop if defined? @heel_spawner and not @heel_spawner.nil?}
0
+ end
0
+
0
+end
0
+
0
+task :autobuild => 'heel:autobuild'
0
+
0
+# EOF
...
11
12
13
14
15
 
16
17
18
...
11
12
13
 
 
14
15
16
17
0
@@ -11,8 +11,7 @@ SITE.template_dir = 'templates'
0
 SITE.exclude = %w[tmp$ bak$ ~$ CVS \.svn]
0
   
0
 SITE.page_defaults = {
0
- 'extension' => 'html',
0
- 'layout' => 'default'
0
+ 'layout' => 'default'
0
 }
0
 
0
 # Items used to deploy the webiste
...
53
54
55
56
57
58
59
...
53
54
55
 
56
57
58
0
@@ -53,7 +53,6 @@ module Webby
0
       :template_dir => 'templates',
0
       :exclude => %w(tmp$ bak$ ~$ CVS \.svn),
0
       :page_defaults => {
0
- 'extension' => 'html',
0
         'layout' => 'default'
0
       },
0
       :find_by => 'title',
...
81
82
83
84
85
86
87
88
89
90
91
92
...
135
136
137
138
 
 
139
140
141
 
142
143
144
...
81
82
83
 
 
 
 
 
 
84
85
86
...
129
130
131
 
132
133
134
135
 
136
137
138
139
0
@@ -81,12 +81,6 @@ class Resource
0
     @mdata = ::Webby::File.meta_data(@path)
0
     @have_mdata = !@mdata.nil?
0
 
0
- # TODO - Fix the page_defaults bug
0
- # This is a bug because some defaults should be settable in the layout
0
- # (the extension for example) but this clobbers any chance of ever
0
- # hitting the layout defined extension. Handle this on a case-by-case
0
- # basis?
0
- #
0
     @mdata ||= {}
0
     @mdata = ::Webby.site.page_defaults.merge(@mdata) if is_page?
0
     @mdata.sanitize!
0
@@ -135,10 +129,11 @@ class Resource
0
 
0
     if @mdata.has_key? 'layout'
0
       lyt = self.class.layouts.find :filename => @mdata['layout']
0
- return lyt.extension if lyt
0
+ ext = lyt ? lyt.extension : nil
0
+ return ext if ext
0
     end
0
 
0
- @ext
0
+ return (is_layout? ? nil : @ext)
0
   end
0
 
0
   # call-seq:
...
68
69
70
 
 
 
 
 
 
71
72
73
...
68
69
70
71
72
73
74
75
76
77
78
79
0
@@ -68,6 +68,12 @@ class WebbyTask < TaskLib
0
     task :autobuild do |t|
0
       ::Webby::AutoBuilder.run
0
     end
0
+
0
+ desc "delete the website"
0
+ task :clobber do |t|
0
+ rm_rf ::Webby.site.output_dir
0
+ mkdir ::Webby.site.output_dir
0
+ end
0
   end
0
 
0
   # Scans the templates directory for any files, and creats a corresponding

Comments

    No one has commented yet.