webby 0.9.3 → 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. data/History.txt +20 -0
  2. data/{README.txt → README.rdoc} +9 -9
  3. data/Rakefile +19 -6
  4. data/examples/blog/content/css/blueprint/ie.css +26 -0
  5. data/examples/blog/content/css/blueprint/plugins/buttons/icons/cross.png +0 -0
  6. data/examples/blog/content/css/blueprint/plugins/buttons/icons/key.png +0 -0
  7. data/examples/blog/content/css/blueprint/plugins/buttons/icons/tick.png +0 -0
  8. data/examples/{website/content/css/blueprint/plugins/buttons/Readme → blog/content/css/blueprint/plugins/buttons/readme.txt} +3 -2
  9. data/examples/{website/content/css/blueprint/plugins/buttons/buttons.css → blog/content/css/blueprint/plugins/buttons/screen.css} +1 -1
  10. data/examples/blog/content/css/blueprint/plugins/fancy-type/readme.txt +14 -0
  11. data/examples/{website/content/css/blueprint/plugins/fancy-type/fancy-type.css → blog/content/css/blueprint/plugins/fancy-type/screen.css} +71 -74
  12. data/examples/blog/content/css/blueprint/plugins/link-icons/icons/doc.png +0 -0
  13. data/examples/blog/content/css/blueprint/plugins/link-icons/icons/email.png +0 -0
  14. data/examples/blog/content/css/blueprint/plugins/link-icons/icons/external.png +0 -0
  15. data/examples/blog/content/css/blueprint/plugins/link-icons/icons/feed.png +0 -0
  16. data/examples/blog/content/css/blueprint/plugins/link-icons/icons/im.png +0 -0
  17. data/examples/blog/content/css/blueprint/plugins/link-icons/icons/pdf.png +0 -0
  18. data/examples/blog/content/css/blueprint/plugins/link-icons/icons/visited.png +0 -0
  19. data/examples/blog/content/css/blueprint/plugins/link-icons/icons/xls.png +0 -0
  20. data/examples/blog/content/css/blueprint/plugins/link-icons/readme.txt +18 -0
  21. data/examples/blog/content/css/blueprint/plugins/link-icons/screen.css +40 -0
  22. data/examples/blog/content/css/blueprint/plugins/rtl/readme.txt +10 -0
  23. data/examples/blog/content/css/blueprint/plugins/rtl/screen.css +109 -0
  24. data/examples/blog/content/css/blueprint/print.css +30 -0
  25. data/examples/blog/content/css/blueprint/screen.css +251 -0
  26. data/examples/blog/content/css/blueprint/src/forms.css +49 -0
  27. data/examples/blog/content/css/blueprint/src/grid.css +212 -0
  28. data/examples/{website/content/css/blueprint/lib → blog/content/css/blueprint/src}/grid.png +0 -0
  29. data/examples/blog/content/css/blueprint/src/ie.css +59 -0
  30. data/examples/blog/content/css/blueprint/src/print.css +85 -0
  31. data/examples/{website/content/css/blueprint/lib → blog/content/css/blueprint/src}/reset.css +14 -15
  32. data/examples/blog/content/css/blueprint/src/typography.css +105 -0
  33. data/examples/blog/content/css/coderay.css +111 -0
  34. data/examples/blog/content/css/site.css +67 -0
  35. data/examples/blog/layouts/default.txt +61 -0
  36. data/examples/blog/tasks/blog.rake +5 -1
  37. data/examples/presentation/Sitefile +2 -2
  38. data/examples/tumblog/tasks/tumblog.rake +5 -1
  39. data/examples/webby/Sitefile +2 -2
  40. data/examples/webby/content/communicate/index.txt +2 -2
  41. data/examples/webby/content/index.txt +1 -1
  42. data/examples/webby/content/release-notes/rel-0-9-3/index.txt +0 -2
  43. data/examples/webby/content/release-notes/rel-0-9-4/index.txt +33 -0
  44. data/examples/webby/content/sitemap.txt +2 -2
  45. data/examples/webby/content/user-manual/index.txt +3 -3
  46. data/examples/website/content/css/blueprint/ie.css +26 -0
  47. data/examples/website/content/css/blueprint/plugins/buttons/readme.txt +32 -0
  48. data/examples/website/content/css/blueprint/plugins/buttons/screen.css +97 -0
  49. data/examples/website/content/css/blueprint/plugins/fancy-type/readme.txt +14 -0
  50. data/examples/website/content/css/blueprint/plugins/fancy-type/screen.css +71 -0
  51. data/examples/website/content/css/blueprint/plugins/link-icons/icons/doc.png +0 -0
  52. data/examples/website/content/css/blueprint/plugins/link-icons/icons/email.png +0 -0
  53. data/examples/website/content/css/blueprint/plugins/link-icons/icons/external.png +0 -0
  54. data/examples/website/content/css/blueprint/plugins/link-icons/icons/feed.png +0 -0
  55. data/examples/website/content/css/blueprint/plugins/link-icons/icons/im.png +0 -0
  56. data/examples/website/content/css/blueprint/plugins/link-icons/icons/pdf.png +0 -0
  57. data/examples/website/content/css/blueprint/plugins/link-icons/icons/visited.png +0 -0
  58. data/examples/website/content/css/blueprint/plugins/link-icons/icons/xls.png +0 -0
  59. data/examples/website/content/css/blueprint/plugins/link-icons/readme.txt +18 -0
  60. data/examples/website/content/css/blueprint/plugins/link-icons/screen.css +40 -0
  61. data/examples/website/content/css/blueprint/plugins/rtl/readme.txt +10 -0
  62. data/examples/website/content/css/blueprint/plugins/rtl/screen.css +109 -0
  63. data/examples/website/content/css/blueprint/print.css +30 -68
  64. data/examples/website/content/css/blueprint/screen.css +251 -22
  65. data/examples/website/content/css/blueprint/src/forms.css +49 -0
  66. data/examples/website/content/css/blueprint/src/grid.css +212 -0
  67. data/examples/website/content/css/blueprint/src/grid.png +0 -0
  68. data/examples/website/content/css/blueprint/src/ie.css +59 -0
  69. data/examples/website/content/css/blueprint/src/print.css +85 -0
  70. data/examples/website/content/css/blueprint/src/reset.css +38 -0
  71. data/examples/website/content/css/blueprint/src/typography.css +105 -0
  72. data/examples/website/layouts/default.txt +5 -2
  73. data/lib/webby.rb +36 -102
  74. data/lib/webby/apps/generator.rb +2 -2
  75. data/lib/webby/apps/main.rb +36 -62
  76. data/lib/webby/auto_builder.rb +3 -3
  77. data/lib/webby/builder.rb +5 -13
  78. data/lib/webby/config.rb +172 -0
  79. data/lib/webby/filters.rb +2 -0
  80. data/lib/webby/filters/haml.rb +13 -0
  81. data/lib/webby/filters/maruku.rb +16 -0
  82. data/lib/webby/filters/outline.rb +1 -1
  83. data/lib/webby/filters/sass.rb +14 -0
  84. data/lib/webby/filters/slides.rb +2 -2
  85. data/lib/webby/filters/tidy.rb +5 -0
  86. data/lib/webby/helpers/coderay_helper.rb +27 -3
  87. data/lib/webby/helpers/graphviz_helper.rb +20 -3
  88. data/lib/webby/helpers/tex_img_helper.rb +25 -5
  89. data/lib/webby/helpers/ultraviolet_helper.rb +19 -5
  90. data/lib/webby/link_validator.rb +59 -51
  91. data/lib/webby/renderer.rb +9 -6
  92. data/lib/webby/resources.rb +2 -1
  93. data/lib/webby/resources/page.rb +4 -1
  94. data/lib/webby/tasks/create.rake +1 -1
  95. data/lib/webby/tasks/validate.rake +1 -1
  96. data/spec/data/html/anchor.html +11 -0
  97. data/spec/data/html/external.html +10 -0
  98. data/spec/data/html/invalid-relative.html +10 -0
  99. data/spec/data/html/relative-anchor.html +10 -0
  100. data/spec/data/html/relative-invalid-anchor.html +10 -0
  101. data/spec/data/html/relative.html +10 -0
  102. data/spec/data/site/tasks/tumblog.rake +5 -1
  103. data/spec/spec_helper.rb +8 -1
  104. data/spec/webby/apps/generator_spec.rb +36 -3
  105. data/spec/webby/apps/main_spec.rb +2 -1
  106. data/spec/webby/filters/basepath_spec.rb +2 -2
  107. data/spec/webby/filters/maruku_spec.rb +31 -0
  108. data/spec/webby/filters/textile_spec.rb +15 -4
  109. data/spec/webby/helpers/capture_helper_spec.rb +1 -1
  110. data/spec/webby/link_validator_spec.rb +154 -0
  111. data/spec/webby/resources/db_spec.rb +24 -24
  112. data/spec/webby/resources/layout_spec.rb +1 -1
  113. data/spec/webby/resources/page_spec.rb +8 -2
  114. data/spec/webby/resources/resource_spec.rb +1 -1
  115. data/spec/webby/resources_spec.rb +1 -1
  116. data/tasks/ann.rake +1 -2
  117. data/tasks/bones.rake +0 -1
  118. data/tasks/gem.rake +48 -34
  119. data/tasks/git.rake +0 -1
  120. data/tasks/mswin32.rake +38 -0
  121. data/tasks/notes.rake +0 -1
  122. data/tasks/post_load.rake +4 -9
  123. data/tasks/rdoc.rake +4 -4
  124. data/tasks/setup.rb +50 -26
  125. data/tasks/spec.rake +1 -2
  126. data/tasks/svn.rake +47 -0
  127. data/tasks/test.rake +40 -0
  128. data/tasks/website.rake +0 -1
  129. data/tasks/zentest.rake +36 -0
  130. metadata +104 -33
  131. data/Manifest.txt +0 -228
  132. data/examples/website/content/css/blueprint/License.txt +0 -21
  133. data/examples/website/content/css/blueprint/Readme.txt +0 -100
  134. data/examples/website/content/css/blueprint/compressed/print.css +0 -76
  135. data/examples/website/content/css/blueprint/compressed/screen.css +0 -696
  136. data/examples/website/content/css/blueprint/lib/forms.css +0 -45
  137. data/examples/website/content/css/blueprint/lib/grid.css +0 -193
  138. data/examples/website/content/css/blueprint/lib/ie.css +0 -30
  139. data/examples/website/content/css/blueprint/lib/typography.css +0 -116
  140. data/examples/website/content/css/blueprint/plugins/css-classes/Readme +0 -14
  141. data/examples/website/content/css/blueprint/plugins/css-classes/css-classes.css +0 -24
  142. data/examples/website/content/css/blueprint/plugins/fancy-type/Readme +0 -22
  143. data/examples/website/content/css/blueprint/plugins/fancy-type/fancy-type-compressed.css +0 -5
  144. data/lib/webby/stelan/spawner.rb +0 -339
  145. data/tasks/manifest.rake +0 -48
@@ -1,4 +1,3 @@
1
- # $Id$
2
1
 
3
2
  if HAVE_GIT
4
3
 
@@ -0,0 +1,38 @@
1
+
2
+ require 'find'
3
+
4
+ namespace 'gem:mswin32' do
5
+
6
+ win32_spec = PROJ.gem._spec.dup
7
+ win32_spec.platform = 'x86-mswin32'
8
+ win32_spec.files = PROJ.gem.files
9
+
10
+ pkg = Bones::GemPackageTask.new(win32_spec)
11
+ class << pkg
12
+ def package_dir_path() "#{package_dir}/#{package_name}-x86-mswin32"; end
13
+ end
14
+ pkg.define
15
+
16
+ file "#{pkg.package_dir_path}/#{pkg.gem_file}" => :unix2dos
17
+
18
+ task :unix2dos do
19
+ reject = %w[.gif .jpg .jpeg]
20
+ Find.find(File.join(pkg.package_dir_path, 'examples')) do |fn|
21
+ next unless test(?f, fn)
22
+ next if reject.include?(File.extname(fn))
23
+ sh %{unix2dos #{fn}}
24
+ end
25
+ end
26
+ end # namespace 'gem:mswin32'
27
+
28
+
29
+ task :gem => 'gem:mswin32:package'
30
+ task :clobber => 'gem:mswin32:clobber_package'
31
+
32
+ remove_desc_for_task(%w[
33
+ gem:mswin32:clobber_package
34
+ gem:mswin32:package
35
+ gem:mswin32:repackage
36
+ ])
37
+
38
+ # EOF
@@ -1,4 +1,3 @@
1
- # $Id$
2
1
 
3
2
  if HAVE_BONES
4
3
 
@@ -1,16 +1,16 @@
1
- # $Id$
2
1
 
3
2
  # This file does not define any rake tasks. It is used to load some project
4
3
  # settings if they are not defined by the user.
5
4
 
6
- PROJ.rdoc.exclude << "^#{Regexp.escape(PROJ.manifest_file)}$"
7
5
  PROJ.exclude << ["^#{Regexp.escape(PROJ.ann.file)}$",
6
+ "^#{Regexp.escape(PROJ.ignore_file)}$",
8
7
  "^#{Regexp.escape(PROJ.rdoc.dir)}/",
9
8
  "^#{Regexp.escape(PROJ.rcov.dir)}/"]
10
9
 
11
10
  flatten_arrays = lambda do |this,os|
12
11
  os.instance_variable_get(:@table).each do |key,val|
13
- next if key == :dependencies
12
+ next if key == :dependencies \
13
+ or key == :development_dependencies
14
14
  case val
15
15
  when Array; val.flatten!
16
16
  when OpenStruct; this.call(this,val)
@@ -25,12 +25,7 @@ PROJ.description ||= paragraphs_of(PROJ.readme_file, 'description').join("\n\n")
25
25
 
26
26
  PROJ.summary ||= PROJ.description.split('.').first
27
27
 
28
- PROJ.gem.files ||=
29
- if test(?f, PROJ.manifest_file)
30
- files = File.readlines(PROJ.manifest_file).map {|fn| fn.chomp.strip}
31
- files.delete ''
32
- files
33
- else [] end
28
+ PROJ.gem.files ||= manifest
34
29
 
35
30
  PROJ.gem.executables ||= PROJ.gem.files.find_all {|fn| fn =~ %r/^bin/}
36
31
 
@@ -1,4 +1,3 @@
1
- # $Id$
2
1
 
3
2
  require 'rake/rdoctask'
4
3
 
@@ -20,10 +19,11 @@ namespace :doc do
20
19
  end
21
20
  rd.rdoc_files.push(*files)
22
21
 
23
- title = "#{PROJ.name}-#{PROJ.version} Documentation"
24
-
22
+ name = PROJ.name
25
23
  rf_name = PROJ.rubyforge.name
26
- title = "#{rf_name}'s " + title if rf_name.valid? and rf_name != title
24
+
25
+ title = "#{name}-#{PROJ.version} Documentation"
26
+ title = "#{rf_name}'s " + title if rf_name.valid? and rf_name != name
27
27
 
28
28
  rd.options << "-t #{title}"
29
29
  rd.options.concat(rdoc.opts)
@@ -1,12 +1,15 @@
1
- # $Id$
2
1
 
3
2
  require 'rubygems'
4
3
  require 'rake'
5
4
  require 'rake/clean'
6
5
  require 'fileutils'
7
6
  require 'ostruct'
7
+ require 'find'
8
8
 
9
- class OpenStruct; undef :gem; end
9
+ class OpenStruct; undef :gem if defined? :gem; end
10
+
11
+ # TODO: make my own openstruct type object that includes descriptions
12
+ # TODO: use the descriptions to output help on the available bones options
10
13
 
11
14
  PROJ = OpenStruct.new(
12
15
  # Project Defaults
@@ -25,8 +28,8 @@ PROJ = OpenStruct.new(
25
28
  :ruby_opts => %w(-w),
26
29
  :libs => [],
27
30
  :history_file => 'History.txt',
28
- :manifest_file => 'Manifest.txt',
29
31
  :readme_file => 'README.txt',
32
+ :ignore_file => '.bnsignore',
30
33
 
31
34
  # Announce
32
35
  :ann => OpenStruct.new(
@@ -48,6 +51,7 @@ PROJ = OpenStruct.new(
48
51
  # Gem Packaging
49
52
  :gem => OpenStruct.new(
50
53
  :dependencies => [],
54
+ :development_dependencies => [],
51
55
  :executables => nil,
52
56
  :extensions => FileList['ext/**/extconf.rb'],
53
57
  :files => nil,
@@ -59,7 +63,7 @@ PROJ = OpenStruct.new(
59
63
  # File Annotations
60
64
  :notes => OpenStruct.new(
61
65
  :exclude => %w(^tasks/setup\.rb$),
62
- :extensions => %w(.txt .rb .erb) << '',
66
+ :extensions => %w(.txt .rb .erb .rdoc) << '',
63
67
  :tags => %w(FIXME OPTIMIZE TODO)
64
68
  ),
65
69
 
@@ -74,7 +78,7 @@ PROJ = OpenStruct.new(
74
78
  # Rdoc
75
79
  :rdoc => OpenStruct.new(
76
80
  :opts => [],
77
- :include => %w(^lib/ ^bin/ ^ext/ \.txt$),
81
+ :include => %w(^lib/ ^bin/ ^ext/ \.txt$ \.rdoc$),
78
82
  :exclude => %w(extconf\.rb$),
79
83
  :main => nil,
80
84
  :dir => 'doc',
@@ -110,17 +114,17 @@ PROJ = OpenStruct.new(
110
114
  )
111
115
 
112
116
  # Load the other rake files in the tasks folder
113
- rakefiles = Dir.glob('tasks/*.rake').sort
114
- rakefiles.unshift(rakefiles.delete('tasks/post_load.rake')).compact!
117
+ tasks_dir = File.expand_path(File.dirname(__FILE__))
118
+ post_load_fn = File.join(tasks_dir, 'post_load.rake')
119
+ rakefiles = Dir.glob(File.join(tasks_dir, '*.rake')).sort
120
+ rakefiles.unshift(rakefiles.delete(post_load_fn)).compact!
115
121
  import(*rakefiles)
116
122
 
117
123
  # Setup the project libraries
118
124
  %w(lib ext).each {|dir| PROJ.libs << dir if test ?d, dir}
119
125
 
120
126
  # Setup some constants
121
- WIN32 = %r/djgpp|(cyg|ms|bcc)win|mingw/ =~ RUBY_PLATFORM unless defined? WIN32
122
-
123
- DEV_NULL = WIN32 ? 'NUL:' : '/dev/null'
127
+ DEV_NULL = File.exist?('/dev/null') ? '/dev/null' : 'NUL:'
124
128
 
125
129
  def quiet( &block )
126
130
  io = [STDOUT.dup, STDERR.dup]
@@ -133,23 +137,17 @@ ensure
133
137
  $stdout, $stderr = STDOUT, STDERR
134
138
  end
135
139
 
136
- DIFF = if WIN32 then 'diff.exe'
137
- else
138
- if quiet {system "gdiff", __FILE__, __FILE__} then 'gdiff'
139
- else 'diff' end
140
- end unless defined? DIFF
140
+ DIFF = if system("gdiff '#{__FILE__}' '#{__FILE__}' > #{DEV_NULL} 2>&1") then 'gdiff'
141
+ else 'diff' end unless defined? DIFF
141
142
 
142
- SUDO = if WIN32 then ''
143
- else
144
- if quiet {system 'which sudo'} then 'sudo'
145
- else '' end
146
- end
143
+ SUDO = if system("which sudo > #{DEV_NULL} 2>&1") then 'sudo'
144
+ else '' end unless defined? SUDO
147
145
 
148
- RCOV = WIN32 ? 'rcov.bat' : 'rcov'
149
- RDOC = WIN32 ? 'rdoc.bat' : 'rdoc'
150
- GEM = WIN32 ? 'gem.bat' : 'gem'
146
+ RCOV = "#{RUBY} -S rcov"
147
+ RDOC = "#{RUBY} -S rdoc"
148
+ GEM = "#{RUBY} -S gem"
151
149
 
152
- %w(rcov spec/rake/spectask rubyforge bones facets/ansicode).each do |lib|
150
+ %w(rcov spec/rake/spectask rubyforge bones facets/ansicode zentest).each do |lib|
153
151
  begin
154
152
  require lib
155
153
  Object.instance_eval {const_set "HAVE_#{lib.tr('/','_').upcase}", true}
@@ -162,6 +160,12 @@ HAVE_SVN = (Dir.entries(Dir.pwd).include?('.svn') and
162
160
  HAVE_GIT = (Dir.entries(Dir.pwd).include?('.git') and
163
161
  system("git --version 2>&1 > #{DEV_NULL}"))
164
162
 
163
+ # Add bones as a development dependency
164
+ #
165
+ if HAVE_BONES
166
+ PROJ.gem.development_dependencies << ['bones', ">= #{Bones::VERSION}"]
167
+ end
168
+
165
169
  # Reads a file at +path+ and spits out an array of the +paragraphs+
166
170
  # specified.
167
171
  #
@@ -243,9 +247,29 @@ end
243
247
  # Scans the current working directory and creates a list of files that are
244
248
  # candidates to be in the manifest.
245
249
  #
246
- def manifest_files
250
+ def manifest
247
251
  files = []
248
- exclude = Regexp.new(PROJ.exclude.join('|'))
252
+ exclude = PROJ.exclude.dup
253
+ comment = %r/^\s*#/
254
+
255
+ # process the ignore file and add the items there to the exclude list
256
+ if test(?f, PROJ.ignore_file)
257
+ ary = []
258
+ File.readlines(PROJ.ignore_file).each do |line|
259
+ next if line =~ comment
260
+ line.chomp!
261
+ line.strip!
262
+ next if line.nil? or line.empty?
263
+
264
+ glob = line =~ %r/\*\./ ? File.join('**', line) : line
265
+ Dir.glob(glob).each {|fn| ary << "^#{Regexp.escape(fn)}"}
266
+ end
267
+ exclude.concat ary
268
+ end
269
+
270
+ # generate a regular expression from the exclude list
271
+ exclude = Regexp.new(exclude.join('|'))
272
+
249
273
  Find.find '.' do |path|
250
274
  path.sub! %r/^(\.\/|\/)/o, ''
251
275
  next unless test ?f, path
@@ -1,6 +1,5 @@
1
- # $Id$
2
1
 
3
- if HAVE_SPEC_RAKE_SPECTASK
2
+ if HAVE_SPEC_RAKE_SPECTASK and not PROJ.spec.files.to_a.empty?
4
3
  require 'spec/rake/verify_rcov'
5
4
 
6
5
  namespace :spec do
@@ -0,0 +1,47 @@
1
+
2
+ if HAVE_SVN
3
+
4
+ unless PROJ.svn.root
5
+ info = %x/svn info ./
6
+ m = %r/^Repository Root:\s+(.*)$/.match(info)
7
+ PROJ.svn.root = (m.nil? ? '' : m[1])
8
+ end
9
+ PROJ.svn.root = File.join(PROJ.svn.root, PROJ.svn.path) unless PROJ.svn.path.empty?
10
+
11
+ namespace :svn do
12
+
13
+ # A prerequisites task that all other tasks depend upon
14
+ task :prereqs
15
+
16
+ desc 'Show tags from the SVN repository'
17
+ task :show_tags => 'svn:prereqs' do |t|
18
+ tags = %x/svn list #{File.join(PROJ.svn.root, PROJ.svn.tags)}/
19
+ tags.gsub!(%r/\/$/, '')
20
+ tags = tags.split("\n").sort {|a,b| b <=> a}
21
+ puts tags
22
+ end
23
+
24
+ desc 'Create a new tag in the SVN repository'
25
+ task :create_tag => 'svn:prereqs' do |t|
26
+ v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
27
+ abort "Versions don't match #{v} vs #{PROJ.version}" if v != PROJ.version
28
+
29
+ svn = PROJ.svn
30
+ trunk = File.join(svn.root, svn.trunk)
31
+ tag = "%s-%s" % [PROJ.name, PROJ.version]
32
+ tag = File.join(svn.root, svn.tags, tag)
33
+ msg = "Creating tag for #{PROJ.name} version #{PROJ.version}"
34
+
35
+ puts "Creating SVN tag '#{tag}'"
36
+ unless system "svn cp -m '#{msg}' #{trunk} #{tag}"
37
+ abort "Tag creation failed"
38
+ end
39
+ end
40
+
41
+ end # namespace :svn
42
+
43
+ task 'gem:release' => 'svn:create_tag'
44
+
45
+ end # if PROJ.svn.path
46
+
47
+ # EOF
@@ -0,0 +1,40 @@
1
+
2
+ if test(?e, PROJ.test.file) or not PROJ.test.files.to_a.empty?
3
+ require 'rake/testtask'
4
+
5
+ namespace :test do
6
+
7
+ Rake::TestTask.new(:run) do |t|
8
+ t.libs = PROJ.libs
9
+ t.test_files = if test(?f, PROJ.test.file) then [PROJ.test.file]
10
+ else PROJ.test.files end
11
+ t.ruby_opts += PROJ.ruby_opts
12
+ t.ruby_opts += PROJ.test.opts
13
+ end
14
+
15
+ if HAVE_RCOV
16
+ desc 'Run rcov on the unit tests'
17
+ task :rcov => :clobber_rcov do
18
+ opts = PROJ.rcov.opts.dup << '-o' << PROJ.rcov.dir
19
+ opts = opts.join(' ')
20
+ files = if test(?f, PROJ.test.file) then [PROJ.test.file]
21
+ else PROJ.test.files end
22
+ files = files.join(' ')
23
+ sh "#{RCOV} #{files} #{opts}"
24
+ end
25
+
26
+ task :clobber_rcov do
27
+ rm_r 'coverage' rescue nil
28
+ end
29
+ end
30
+
31
+ end # namespace :test
32
+
33
+ desc 'Alias to test:run'
34
+ task :test => 'test:run'
35
+
36
+ task :clobber => 'test:clobber_rcov' if HAVE_RCOV
37
+
38
+ end
39
+
40
+ # EOF
@@ -1,4 +1,3 @@
1
- # $Id$
2
1
 
3
2
  namespace :website do
4
3
 
@@ -0,0 +1,36 @@
1
+ if HAVE_ZENTEST
2
+
3
+ # --------------------------------------------------------------------------
4
+ if test(?e, PROJ.test.file) or not PROJ.test.files.to_a.empty?
5
+ require 'autotest'
6
+
7
+ namespace :test do
8
+ task :autotest do
9
+ Autotest.run
10
+ end
11
+ end
12
+
13
+ desc "Run the autotest loop"
14
+ task :autotest => 'test:autotest'
15
+
16
+ end # if test
17
+
18
+ # --------------------------------------------------------------------------
19
+ if HAVE_SPEC_RAKE_SPECTASK and not PROJ.spec.files.to_a.empty?
20
+ require 'autotest/rspec'
21
+
22
+ namespace :spec do
23
+ task :autotest do
24
+ load '.autotest' if test(?f, '.autotest')
25
+ Autotest::Rspec.run
26
+ end
27
+ end
28
+
29
+ desc "Run the autotest loop"
30
+ task :autotest => 'spec:autotest'
31
+
32
+ end # if rspec
33
+
34
+ end # if HAVE_ZENTEST
35
+
36
+ # EOF
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.3
4
+ version: 0.9.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Pease
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-10-08 00:00:00 -06:00
12
+ date: 2009-04-05 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 1.1.1
23
+ version: 1.1.2
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: hpricot
@@ -28,7 +28,7 @@ dependencies:
28
28
  version_requirement:
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "="
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.6.0
34
34
  version:
@@ -50,7 +50,17 @@ dependencies:
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: 0.9.4
53
+ version: 0.9.7
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: loquacious
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 1.3.0
54
64
  version:
55
65
  - !ruby/object:Gem::Dependency
56
66
  name: rake
@@ -60,7 +70,7 @@ dependencies:
60
70
  requirements:
61
71
  - - ">="
62
72
  - !ruby/object:Gem::Version
63
- version: 0.8.2
73
+ version: 0.8.4
64
74
  version:
65
75
  - !ruby/object:Gem::Dependency
66
76
  name: rspec
@@ -70,9 +80,19 @@ dependencies:
70
80
  requirements:
71
81
  - - ">="
72
82
  - !ruby/object:Gem::Version
73
- version: 1.1.4
83
+ version: 1.2.2
84
+ version:
85
+ - !ruby/object:Gem::Dependency
86
+ name: bones
87
+ type: :development
88
+ version_requirement:
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: 2.5.0
74
94
  version:
75
- description: "*Webby* is a fantastic little website management system. It would be called a _content management system_ if it were a bigger kid. But, it's just a runt with a special knack for transforming text. And that's really all it does - manages the legwork of turning text into something else, an *ASCII Alchemist* if you will."
95
+ description: "*Webby* is a fantastic little website management system. It would be called a *content management system* if it were a bigger kid. But, it's just a runt with a special knack for transforming text. And that's really all it does - manages the legwork of turning text into something else, an *ASCII Alchemist* if you will. Webby works by combining the contents of a *page* with a *layout* to produce HTML. The layout contains everything common to all the pages - HTML headers, navigation menu, footer, etc. - and the page contains just the information for that page. You can use your favorite markup language to write your pages; Webby supports quite a few. Install Webby and try it out!"
76
96
  email: tim.pease@gmail.com
77
97
  executables:
78
98
  - webby
@@ -81,7 +101,7 @@ extensions: []
81
101
 
82
102
  extra_rdoc_files:
83
103
  - History.txt
84
- - README.txt
104
+ - README.rdoc
85
105
  - bin/webby
86
106
  - bin/webby-gen
87
107
  - lib/webby/tasks/build.rake
@@ -107,12 +127,43 @@ extra_rdoc_files:
107
127
  - spec/data/site/layouts/tumblog/post.txt
108
128
  files:
109
129
  - History.txt
110
- - Manifest.txt
111
- - README.txt
130
+ - README.rdoc
112
131
  - Rakefile
113
132
  - bin/webby
114
133
  - bin/webby-gen
115
134
  - examples/blog/Sitefile
135
+ - examples/blog/content/css/blueprint/ie.css
136
+ - examples/blog/content/css/blueprint/plugins/buttons/icons/cross.png
137
+ - examples/blog/content/css/blueprint/plugins/buttons/icons/key.png
138
+ - examples/blog/content/css/blueprint/plugins/buttons/icons/tick.png
139
+ - examples/blog/content/css/blueprint/plugins/buttons/readme.txt
140
+ - examples/blog/content/css/blueprint/plugins/buttons/screen.css
141
+ - examples/blog/content/css/blueprint/plugins/fancy-type/readme.txt
142
+ - examples/blog/content/css/blueprint/plugins/fancy-type/screen.css
143
+ - examples/blog/content/css/blueprint/plugins/link-icons/icons/doc.png
144
+ - examples/blog/content/css/blueprint/plugins/link-icons/icons/email.png
145
+ - examples/blog/content/css/blueprint/plugins/link-icons/icons/external.png
146
+ - examples/blog/content/css/blueprint/plugins/link-icons/icons/feed.png
147
+ - examples/blog/content/css/blueprint/plugins/link-icons/icons/im.png
148
+ - examples/blog/content/css/blueprint/plugins/link-icons/icons/pdf.png
149
+ - examples/blog/content/css/blueprint/plugins/link-icons/icons/visited.png
150
+ - examples/blog/content/css/blueprint/plugins/link-icons/icons/xls.png
151
+ - examples/blog/content/css/blueprint/plugins/link-icons/readme.txt
152
+ - examples/blog/content/css/blueprint/plugins/link-icons/screen.css
153
+ - examples/blog/content/css/blueprint/plugins/rtl/readme.txt
154
+ - examples/blog/content/css/blueprint/plugins/rtl/screen.css
155
+ - examples/blog/content/css/blueprint/print.css
156
+ - examples/blog/content/css/blueprint/screen.css
157
+ - examples/blog/content/css/blueprint/src/forms.css
158
+ - examples/blog/content/css/blueprint/src/grid.css
159
+ - examples/blog/content/css/blueprint/src/grid.png
160
+ - examples/blog/content/css/blueprint/src/ie.css
161
+ - examples/blog/content/css/blueprint/src/print.css
162
+ - examples/blog/content/css/blueprint/src/reset.css
163
+ - examples/blog/content/css/blueprint/src/typography.css
164
+ - examples/blog/content/css/coderay.css
165
+ - examples/blog/content/css/site.css
166
+ - examples/blog/layouts/default.txt
116
167
  - examples/blog/tasks/blog.rake
117
168
  - examples/blog/templates/atom_feed.erb
118
169
  - examples/blog/templates/blog/month.erb
@@ -173,6 +224,7 @@ files:
173
224
  - examples/webby/content/release-notes/rel-0-9-1/index.txt
174
225
  - examples/webby/content/release-notes/rel-0-9-2/index.txt
175
226
  - examples/webby/content/release-notes/rel-0-9-3/index.txt
227
+ - examples/webby/content/release-notes/rel-0-9-4/index.txt
176
228
  - examples/webby/content/robots.txt
177
229
  - examples/webby/content/script/jquery.corner.js
178
230
  - examples/webby/content/script/jquery.js
@@ -183,28 +235,35 @@ files:
183
235
  - examples/webby/layouts/default.txt
184
236
  - examples/webby/templates/page.erb
185
237
  - examples/website/Sitefile
186
- - examples/website/content/css/blueprint/License.txt
187
- - examples/website/content/css/blueprint/Readme.txt
188
- - examples/website/content/css/blueprint/compressed/print.css
189
- - examples/website/content/css/blueprint/compressed/screen.css
190
- - examples/website/content/css/blueprint/lib/forms.css
191
- - examples/website/content/css/blueprint/lib/grid.css
192
- - examples/website/content/css/blueprint/lib/grid.png
193
- - examples/website/content/css/blueprint/lib/ie.css
194
- - examples/website/content/css/blueprint/lib/reset.css
195
- - examples/website/content/css/blueprint/lib/typography.css
196
- - examples/website/content/css/blueprint/plugins/buttons/Readme
197
- - examples/website/content/css/blueprint/plugins/buttons/buttons.css
238
+ - examples/website/content/css/blueprint/ie.css
198
239
  - examples/website/content/css/blueprint/plugins/buttons/icons/cross.png
199
240
  - examples/website/content/css/blueprint/plugins/buttons/icons/key.png
200
241
  - examples/website/content/css/blueprint/plugins/buttons/icons/tick.png
201
- - examples/website/content/css/blueprint/plugins/css-classes/Readme
202
- - examples/website/content/css/blueprint/plugins/css-classes/css-classes.css
203
- - examples/website/content/css/blueprint/plugins/fancy-type/Readme
204
- - examples/website/content/css/blueprint/plugins/fancy-type/fancy-type-compressed.css
205
- - examples/website/content/css/blueprint/plugins/fancy-type/fancy-type.css
242
+ - examples/website/content/css/blueprint/plugins/buttons/readme.txt
243
+ - examples/website/content/css/blueprint/plugins/buttons/screen.css
244
+ - examples/website/content/css/blueprint/plugins/fancy-type/readme.txt
245
+ - examples/website/content/css/blueprint/plugins/fancy-type/screen.css
246
+ - examples/website/content/css/blueprint/plugins/link-icons/icons/doc.png
247
+ - examples/website/content/css/blueprint/plugins/link-icons/icons/email.png
248
+ - examples/website/content/css/blueprint/plugins/link-icons/icons/external.png
249
+ - examples/website/content/css/blueprint/plugins/link-icons/icons/feed.png
250
+ - examples/website/content/css/blueprint/plugins/link-icons/icons/im.png
251
+ - examples/website/content/css/blueprint/plugins/link-icons/icons/pdf.png
252
+ - examples/website/content/css/blueprint/plugins/link-icons/icons/visited.png
253
+ - examples/website/content/css/blueprint/plugins/link-icons/icons/xls.png
254
+ - examples/website/content/css/blueprint/plugins/link-icons/readme.txt
255
+ - examples/website/content/css/blueprint/plugins/link-icons/screen.css
256
+ - examples/website/content/css/blueprint/plugins/rtl/readme.txt
257
+ - examples/website/content/css/blueprint/plugins/rtl/screen.css
206
258
  - examples/website/content/css/blueprint/print.css
207
259
  - examples/website/content/css/blueprint/screen.css
260
+ - examples/website/content/css/blueprint/src/forms.css
261
+ - examples/website/content/css/blueprint/src/grid.css
262
+ - examples/website/content/css/blueprint/src/grid.png
263
+ - examples/website/content/css/blueprint/src/ie.css
264
+ - examples/website/content/css/blueprint/src/print.css
265
+ - examples/website/content/css/blueprint/src/reset.css
266
+ - examples/website/content/css/blueprint/src/typography.css
208
267
  - examples/website/content/css/coderay.css
209
268
  - examples/website/content/css/site.css
210
269
  - examples/website/content/index.txt
@@ -218,6 +277,7 @@ files:
218
277
  - lib/webby/apps/main.rb
219
278
  - lib/webby/auto_builder.rb
220
279
  - lib/webby/builder.rb
280
+ - lib/webby/config.rb
221
281
  - lib/webby/core_ext/enumerable.rb
222
282
  - lib/webby/core_ext/hash.rb
223
283
  - lib/webby/core_ext/kernel.rb
@@ -228,6 +288,7 @@ files:
228
288
  - lib/webby/filters/erb.rb
229
289
  - lib/webby/filters/haml.rb
230
290
  - lib/webby/filters/markdown.rb
291
+ - lib/webby/filters/maruku.rb
231
292
  - lib/webby/filters/outline.rb
232
293
  - lib/webby/filters/sass.rb
233
294
  - lib/webby/filters/slides.rb
@@ -255,7 +316,6 @@ files:
255
316
  - lib/webby/resources/static.rb
256
317
  - lib/webby/stelan/mktemp.rb
257
318
  - lib/webby/stelan/paginator.rb
258
- - lib/webby/stelan/spawner.rb
259
319
  - lib/webby/tasks/build.rake
260
320
  - lib/webby/tasks/create.rake
261
321
  - lib/webby/tasks/deploy.rake
@@ -266,6 +326,12 @@ files:
266
326
  - spec/core_ext/time_spec.rb
267
327
  - spec/data/hooligans/bad_meta_data_1.txt
268
328
  - spec/data/hooligans/bad_meta_data_2.txt
329
+ - spec/data/html/anchor.html
330
+ - spec/data/html/external.html
331
+ - spec/data/html/invalid-relative.html
332
+ - spec/data/html/relative-anchor.html
333
+ - spec/data/html/relative-invalid-anchor.html
334
+ - spec/data/html/relative.html
269
335
  - spec/data/outline/basic.out
270
336
  - spec/data/outline/basic.txt
271
337
  - spec/data/outline/no_clobber.out
@@ -310,9 +376,11 @@ files:
310
376
  - spec/webby/apps/generator_spec.rb
311
377
  - spec/webby/apps/main_spec.rb
312
378
  - spec/webby/filters/basepath_spec.rb
379
+ - spec/webby/filters/maruku_spec.rb
313
380
  - spec/webby/filters/outline_spec.rb
314
381
  - spec/webby/filters/textile_spec.rb
315
382
  - spec/webby/helpers/capture_helper_spec.rb
383
+ - spec/webby/link_validator_spec.rb
316
384
  - spec/webby/renderer_spec.rb
317
385
  - spec/webby/resources/db_spec.rb
318
386
  - spec/webby/resources/layout_spec.rb
@@ -326,20 +394,23 @@ files:
326
394
  - tasks/bones.rake
327
395
  - tasks/gem.rake
328
396
  - tasks/git.rake
329
- - tasks/manifest.rake
397
+ - tasks/mswin32.rake
330
398
  - tasks/notes.rake
331
399
  - tasks/post_load.rake
332
400
  - tasks/rdoc.rake
333
401
  - tasks/rubyforge.rake
334
402
  - tasks/setup.rb
335
403
  - tasks/spec.rake
404
+ - tasks/svn.rake
405
+ - tasks/test.rake
336
406
  - tasks/website.rake
407
+ - tasks/zentest.rake
337
408
  has_rdoc: true
338
409
  homepage: http://webby.rubyforge.org/
339
410
  post_install_message:
340
411
  rdoc_options:
341
412
  - --main
342
- - README.txt
413
+ - README.rdoc
343
414
  require_paths:
344
415
  - lib
345
416
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -357,9 +428,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
357
428
  requirements: []
358
429
 
359
430
  rubyforge_project: webby
360
- rubygems_version: 1.2.0
431
+ rubygems_version: 1.3.1
361
432
  signing_key:
362
433
  specification_version: 2
363
- summary: static website creation and management
434
+ summary: Awesome static website creation and management!
364
435
  test_files: []
365
436