webby 0.8.4 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. data/History.txt +19 -0
  2. data/Manifest.txt +104 -91
  3. data/README.txt +27 -45
  4. data/Rakefile +4 -5
  5. data/bin/webby +2 -1
  6. data/bin/webby-gen +8 -0
  7. data/{data/Rakefile → examples/blog/Sitefile} +0 -2
  8. data/examples/{webby → blog}/tasks/blog.rake +5 -4
  9. data/{data → examples/blog}/templates/atom_feed.erb +10 -11
  10. data/{data → examples/blog}/templates/blog/month.erb +1 -1
  11. data/{data → examples/blog}/templates/blog/post.erb +1 -0
  12. data/{data → examples/blog}/templates/blog/year.erb +1 -1
  13. data/examples/presentation/{Rakefile → Sitefile} +0 -4
  14. data/examples/presentation/content/{_sample_code.txt → presentation/_sample_code.txt} +0 -0
  15. data/examples/presentation/content/{index.txt → presentation/index.txt} +0 -0
  16. data/{data/content → examples/presentation/content/presentation}/s5/blank.gif +0 -0
  17. data/{data/content → examples/presentation/content/presentation}/s5/bodybg.gif +0 -0
  18. data/{data/content → examples/presentation/content/presentation}/s5/framing.css +0 -0
  19. data/{data/content → examples/presentation/content/presentation}/s5/iepngfix.htc +0 -0
  20. data/{data/content → examples/presentation/content/presentation}/s5/opera.css +0 -0
  21. data/{data/content → examples/presentation/content/presentation}/s5/outline.css +0 -0
  22. data/{data/content → examples/presentation/content/presentation}/s5/pretty.css +0 -0
  23. data/{data/content → examples/presentation/content/presentation}/s5/print.css +0 -0
  24. data/{data/content → examples/presentation/content/presentation}/s5/s5-core.css +0 -0
  25. data/{data/content → examples/presentation/content/presentation}/s5/slides.css +0 -0
  26. data/{data/content → examples/presentation/content/presentation}/s5/slides.js +0 -0
  27. data/examples/presentation/layouts/{presentation.rhtml → presentation.txt} +3 -3
  28. data/examples/presentation/templates/{_partial.erb → _code_partial.erb} +0 -0
  29. data/examples/tumblog/Sitefile +9 -0
  30. data/examples/tumblog/content/css/tumblog.css +308 -0
  31. data/examples/tumblog/content/images/tumblog/permalink.gif +0 -0
  32. data/examples/tumblog/content/images/tumblog/rss.gif +0 -0
  33. data/examples/tumblog/content/tumblog/200806/the-noble-chicken/index.txt +12 -0
  34. data/examples/tumblog/content/tumblog/200807/historical-perspectives-on-the-classic-chicken-joke/index.txt +12 -0
  35. data/examples/tumblog/content/tumblog/200807/mad-city-chickens/index.txt +10 -0
  36. data/examples/tumblog/content/tumblog/200807/the-wisdom-of-the-dutch/index.txt +11 -0
  37. data/examples/tumblog/content/tumblog/200807/up-a-tree/index.txt +13 -0
  38. data/examples/tumblog/content/tumblog/index.txt +37 -0
  39. data/examples/tumblog/content/tumblog/rss.txt +37 -0
  40. data/examples/tumblog/layouts/tumblog/default.txt +44 -0
  41. data/examples/tumblog/layouts/tumblog/post.txt +15 -0
  42. data/examples/tumblog/lib/tumblog_helper.rb +32 -0
  43. data/examples/tumblog/tasks/tumblog.rake +30 -0
  44. data/examples/tumblog/templates/atom_feed.erb +40 -0
  45. data/examples/tumblog/templates/tumblog/conversation.erb +12 -0
  46. data/examples/tumblog/templates/tumblog/link.erb +10 -0
  47. data/examples/tumblog/templates/tumblog/photo.erb +13 -0
  48. data/examples/tumblog/templates/tumblog/post.erb +12 -0
  49. data/examples/tumblog/templates/tumblog/quote.erb +11 -0
  50. data/examples/webby/{Rakefile → Sitefile} +2 -2
  51. data/examples/webby/content/communicate/index.txt +28 -0
  52. data/examples/webby/content/css/background.gif +0 -0
  53. data/examples/webby/content/css/site.css +52 -20
  54. data/examples/webby/content/index.txt +7 -8
  55. data/examples/webby/content/learn/index.txt +28 -0
  56. data/examples/webby/content/reference/index.txt +3 -1
  57. data/examples/webby/content/release-notes/rel-0-9-0/index.txt +73 -0
  58. data/examples/webby/content/sitemap.txt +31 -0
  59. data/examples/webby/content/tips_and_tricks/index.txt +1 -1
  60. data/examples/webby/content/tutorial/index.txt +17 -17
  61. data/examples/webby/content/{manual → user-manual}/index.txt +53 -50
  62. data/examples/webby/layouts/{default.rhtml → default.txt} +8 -15
  63. data/examples/webby/templates/page.erb +1 -1
  64. data/examples/website/Sitefile +7 -0
  65. data/{data → examples/website}/content/css/blueprint/License.txt +0 -0
  66. data/{data → examples/website}/content/css/blueprint/Readme.txt +0 -0
  67. data/{data → examples/website}/content/css/blueprint/compressed/print.css +0 -0
  68. data/{data → examples/website}/content/css/blueprint/compressed/screen.css +0 -0
  69. data/{data → examples/website}/content/css/blueprint/lib/forms.css +0 -0
  70. data/{data → examples/website}/content/css/blueprint/lib/grid.css +0 -0
  71. data/{data → examples/website}/content/css/blueprint/lib/grid.png +0 -0
  72. data/{data → examples/website}/content/css/blueprint/lib/ie.css +0 -0
  73. data/{data → examples/website}/content/css/blueprint/lib/reset.css +0 -0
  74. data/{data → examples/website}/content/css/blueprint/lib/typography.css +0 -0
  75. data/{data → examples/website}/content/css/blueprint/plugins/buttons/Readme +0 -0
  76. data/{data → examples/website}/content/css/blueprint/plugins/buttons/buttons.css +0 -0
  77. data/{data → examples/website}/content/css/blueprint/plugins/buttons/icons/cross.png +0 -0
  78. data/{data → examples/website}/content/css/blueprint/plugins/buttons/icons/key.png +0 -0
  79. data/{data → examples/website}/content/css/blueprint/plugins/buttons/icons/tick.png +0 -0
  80. data/{data → examples/website}/content/css/blueprint/plugins/css-classes/Readme +0 -0
  81. data/{data → examples/website}/content/css/blueprint/plugins/css-classes/css-classes.css +0 -0
  82. data/{data → examples/website}/content/css/blueprint/plugins/fancy-type/Readme +0 -0
  83. data/{data → examples/website}/content/css/blueprint/plugins/fancy-type/fancy-type-compressed.css +0 -0
  84. data/{data → examples/website}/content/css/blueprint/plugins/fancy-type/fancy-type.css +0 -0
  85. data/{data → examples/website}/content/css/blueprint/print.css +0 -0
  86. data/{data → examples/website}/content/css/blueprint/screen.css +0 -0
  87. data/{data → examples/website}/content/css/coderay.css +0 -0
  88. data/{data → examples/website}/content/css/site.css +0 -0
  89. data/{data → examples/website}/content/index.txt +2 -1
  90. data/{data/layouts/default.rhtml → examples/website/layouts/default.txt} +1 -1
  91. data/{data → examples/website}/lib/breadcrumbs.rb +0 -0
  92. data/{data → examples/website}/templates/_partial.erb +0 -0
  93. data/{data → examples/website}/templates/page.erb +0 -0
  94. data/{data → examples/website}/templates/presentation.erb +0 -0
  95. data/lib/webby/apps/generator.rb +283 -0
  96. data/lib/webby/apps/main.rb +221 -0
  97. data/lib/webby/apps.rb +12 -0
  98. data/lib/webby/builder.rb +8 -10
  99. data/lib/webby/core_ext/enumerable.rb +11 -0
  100. data/lib/webby/{utils.rb → core_ext/hash.rb} +2 -26
  101. data/lib/webby/core_ext/kernel.rb +21 -0
  102. data/lib/webby/core_ext/string.rb +163 -0
  103. data/lib/webby/core_ext/time.rb +9 -0
  104. data/lib/webby/filters/haml.rb +13 -5
  105. data/lib/webby/filters/markdown.rb +12 -4
  106. data/lib/webby/filters/outline.rb +3 -2
  107. data/lib/webby/filters/sass.rb +12 -4
  108. data/lib/webby/filters/textile.rb +12 -4
  109. data/lib/webby/filters/tidy.rb +10 -8
  110. data/lib/webby/filters.rb +2 -0
  111. data/lib/webby/helpers/graphviz_helper.rb +1 -2
  112. data/lib/webby/helpers/tex_img_helper.rb +6 -10
  113. data/lib/webby/renderer.rb +5 -3
  114. data/lib/webby/resources/layout.rb +1 -1
  115. data/lib/webby/resources/page.rb +1 -1
  116. data/lib/webby/resources/resource.rb +13 -3
  117. data/lib/webby/resources.rb +16 -0
  118. data/{data → lib/webby}/tasks/build.rake +0 -0
  119. data/{examples/presentation → lib/webby}/tasks/create.rake +1 -1
  120. data/{data → lib/webby}/tasks/deploy.rake +0 -0
  121. data/{examples → lib}/webby/tasks/growl.rake +4 -1
  122. data/{data → lib/webby}/tasks/heel.rake +0 -0
  123. data/{data → lib/webby}/tasks/validate.rake +0 -0
  124. data/lib/webby.rb +11 -5
  125. data/spec/core_ext/hash_spec.rb +47 -0
  126. data/spec/core_ext/string_spec.rb +110 -0
  127. data/spec/core_ext/time_spec.rb +19 -0
  128. data/spec/webby/apps/generator_spec.rb +111 -0
  129. data/spec/webby/apps/main_spec.rb +75 -0
  130. data/spec/webby/helpers/capture_helper_spec.rb +1 -1
  131. data/spec/webby/resources_spec.rb +17 -0
  132. data/tasks/gem.rake +10 -2
  133. data/tasks/git.rake +41 -0
  134. data/tasks/rubyforge.rake +2 -2
  135. data/tasks/website.rake +38 -38
  136. metadata +125 -98
  137. data/data/tasks/blog.rake +0 -71
  138. data/data/tasks/create.rake +0 -22
  139. data/data/tasks/growl.rake +0 -12
  140. data/data/tasks/setup.rb +0 -17
  141. data/examples/presentation/content/s5/blank.gif +0 -0
  142. data/examples/presentation/content/s5/bodybg.gif +0 -0
  143. data/examples/presentation/content/s5/framing.css +0 -23
  144. data/examples/presentation/content/s5/iepngfix.htc +0 -42
  145. data/examples/presentation/content/s5/opera.css +0 -7
  146. data/examples/presentation/content/s5/outline.css +0 -15
  147. data/examples/presentation/content/s5/pretty.css +0 -86
  148. data/examples/presentation/content/s5/print.css +0 -1
  149. data/examples/presentation/content/s5/s5-core.css +0 -9
  150. data/examples/presentation/content/s5/slides.css +0 -3
  151. data/examples/presentation/content/s5/slides.js +0 -553
  152. data/examples/presentation/tasks/blog.rake +0 -71
  153. data/examples/presentation/tasks/build.rake +0 -27
  154. data/examples/presentation/tasks/deploy.rake +0 -22
  155. data/examples/presentation/tasks/growl.rake +0 -12
  156. data/examples/presentation/tasks/heel.rake +0 -28
  157. data/examples/presentation/tasks/setup.rb +0 -17
  158. data/examples/presentation/tasks/validate.rake +0 -19
  159. data/examples/webby/tasks/build.rake +0 -27
  160. data/examples/webby/tasks/create.rake +0 -22
  161. data/examples/webby/tasks/deploy.rake +0 -22
  162. data/examples/webby/tasks/heel.rake +0 -28
  163. data/examples/webby/tasks/setup.rb +0 -17
  164. data/examples/webby/tasks/validate.rake +0 -19
  165. data/lib/webby/main.rb +0 -227
data/History.txt CHANGED
@@ -1,3 +1,22 @@
1
+ == 0.9.0 / 2008-08-25
2
+
3
+ * 2 major enhancements
4
+ - The "rake" command line tool has been replaced by the "webby"
5
+ command line tool for day to day site tasks
6
+ - Now using the "rdiscount" gem for markdown syntax
7
+ * 4 minor enhancements
8
+ - Layouts can exist in subdirectories of the layouts folder
9
+ - Addition of a "tumblog" template
10
+ - Addition of a sitemap file (Ana Nelson)
11
+ - Updated to version 6.4.2 of ImageMagick for tex2img conversions
12
+ * 5 bug fixes
13
+ - Better error message when an unkonwn filter is given
14
+ - Table of contents generation bug
15
+ - Failing to clean out the "content_for" cache when doing a
16
+ multi-page render
17
+ - Explicitly loading the RedCloth gem
18
+ - Handling exceptions from system calls on the Windows platform
19
+
1
20
  == 0.8.4 / 2008-06-03
2
21
 
3
22
  * 1 minor improvement
data/Manifest.txt CHANGED
@@ -3,113 +3,115 @@ Manifest.txt
3
3
  README.txt
4
4
  Rakefile
5
5
  bin/webby
6
- data/Rakefile
7
- data/content/css/blueprint/License.txt
8
- data/content/css/blueprint/Readme.txt
9
- data/content/css/blueprint/compressed/print.css
10
- data/content/css/blueprint/compressed/screen.css
11
- data/content/css/blueprint/lib/forms.css
12
- data/content/css/blueprint/lib/grid.css
13
- data/content/css/blueprint/lib/grid.png
14
- data/content/css/blueprint/lib/ie.css
15
- data/content/css/blueprint/lib/reset.css
16
- data/content/css/blueprint/lib/typography.css
17
- data/content/css/blueprint/plugins/buttons/Readme
18
- data/content/css/blueprint/plugins/buttons/buttons.css
19
- data/content/css/blueprint/plugins/buttons/icons/cross.png
20
- data/content/css/blueprint/plugins/buttons/icons/key.png
21
- data/content/css/blueprint/plugins/buttons/icons/tick.png
22
- data/content/css/blueprint/plugins/css-classes/Readme
23
- data/content/css/blueprint/plugins/css-classes/css-classes.css
24
- data/content/css/blueprint/plugins/fancy-type/Readme
25
- data/content/css/blueprint/plugins/fancy-type/fancy-type-compressed.css
26
- data/content/css/blueprint/plugins/fancy-type/fancy-type.css
27
- data/content/css/blueprint/print.css
28
- data/content/css/blueprint/screen.css
29
- data/content/css/coderay.css
30
- data/content/css/site.css
31
- data/content/index.txt
32
- data/content/s5/blank.gif
33
- data/content/s5/bodybg.gif
34
- data/content/s5/framing.css
35
- data/content/s5/iepngfix.htc
36
- data/content/s5/opera.css
37
- data/content/s5/outline.css
38
- data/content/s5/pretty.css
39
- data/content/s5/print.css
40
- data/content/s5/s5-core.css
41
- data/content/s5/slides.css
42
- data/content/s5/slides.js
43
- data/layouts/default.rhtml
44
- data/lib/breadcrumbs.rb
45
- data/tasks/blog.rake
46
- data/tasks/build.rake
47
- data/tasks/create.rake
48
- data/tasks/deploy.rake
49
- data/tasks/growl.rake
50
- data/tasks/heel.rake
51
- data/tasks/setup.rb
52
- data/tasks/validate.rake
53
- data/templates/_partial.erb
54
- data/templates/atom_feed.erb
55
- data/templates/blog/month.erb
56
- data/templates/blog/post.erb
57
- data/templates/blog/year.erb
58
- data/templates/page.erb
59
- data/templates/presentation.erb
60
- examples/presentation/Rakefile
61
- examples/presentation/content/_sample_code.txt
6
+ bin/webby-gen
7
+ examples/blog/Sitefile
8
+ examples/blog/tasks/blog.rake
9
+ examples/blog/templates/atom_feed.erb
10
+ examples/blog/templates/blog/month.erb
11
+ examples/blog/templates/blog/post.erb
12
+ examples/blog/templates/blog/year.erb
13
+ examples/presentation/Sitefile
62
14
  examples/presentation/content/css/uv/twilight.css
63
- examples/presentation/content/index.txt
64
- examples/presentation/content/s5/blank.gif
65
- examples/presentation/content/s5/bodybg.gif
66
- examples/presentation/content/s5/framing.css
67
- examples/presentation/content/s5/iepngfix.htc
68
- examples/presentation/content/s5/opera.css
69
- examples/presentation/content/s5/outline.css
70
- examples/presentation/content/s5/pretty.css
71
- examples/presentation/content/s5/print.css
72
- examples/presentation/content/s5/s5-core.css
73
- examples/presentation/content/s5/slides.css
74
- examples/presentation/content/s5/slides.js
75
- examples/presentation/layouts/presentation.rhtml
76
- examples/presentation/tasks/blog.rake
77
- examples/presentation/tasks/build.rake
78
- examples/presentation/tasks/create.rake
79
- examples/presentation/tasks/deploy.rake
80
- examples/presentation/tasks/growl.rake
81
- examples/presentation/tasks/heel.rake
82
- examples/presentation/tasks/setup.rb
83
- examples/presentation/tasks/validate.rake
84
- examples/presentation/templates/_partial.erb
15
+ examples/presentation/content/presentation/_sample_code.txt
16
+ examples/presentation/content/presentation/index.txt
17
+ examples/presentation/content/presentation/s5/blank.gif
18
+ examples/presentation/content/presentation/s5/bodybg.gif
19
+ examples/presentation/content/presentation/s5/framing.css
20
+ examples/presentation/content/presentation/s5/iepngfix.htc
21
+ examples/presentation/content/presentation/s5/opera.css
22
+ examples/presentation/content/presentation/s5/outline.css
23
+ examples/presentation/content/presentation/s5/pretty.css
24
+ examples/presentation/content/presentation/s5/print.css
25
+ examples/presentation/content/presentation/s5/s5-core.css
26
+ examples/presentation/content/presentation/s5/slides.css
27
+ examples/presentation/content/presentation/s5/slides.js
28
+ examples/presentation/layouts/presentation.txt
29
+ examples/presentation/templates/_code_partial.erb
85
30
  examples/presentation/templates/presentation.erb
86
- examples/webby/Rakefile
31
+ examples/tumblog/Sitefile
32
+ examples/tumblog/content/css/tumblog.css
33
+ examples/tumblog/content/images/tumblog/permalink.gif
34
+ examples/tumblog/content/images/tumblog/rss.gif
35
+ examples/tumblog/content/tumblog/200806/the-noble-chicken/index.txt
36
+ examples/tumblog/content/tumblog/200807/historical-perspectives-on-the-classic-chicken-joke/index.txt
37
+ examples/tumblog/content/tumblog/200807/mad-city-chickens/index.txt
38
+ examples/tumblog/content/tumblog/200807/the-wisdom-of-the-dutch/index.txt
39
+ examples/tumblog/content/tumblog/200807/up-a-tree/index.txt
40
+ examples/tumblog/content/tumblog/index.txt
41
+ examples/tumblog/content/tumblog/rss.txt
42
+ examples/tumblog/layouts/tumblog/default.txt
43
+ examples/tumblog/layouts/tumblog/post.txt
44
+ examples/tumblog/lib/tumblog_helper.rb
45
+ examples/tumblog/tasks/tumblog.rake
46
+ examples/tumblog/templates/atom_feed.erb
47
+ examples/tumblog/templates/tumblog/conversation.erb
48
+ examples/tumblog/templates/tumblog/link.erb
49
+ examples/tumblog/templates/tumblog/photo.erb
50
+ examples/tumblog/templates/tumblog/post.erb
51
+ examples/tumblog/templates/tumblog/quote.erb
52
+ examples/webby/Sitefile
53
+ examples/webby/content/communicate/index.txt
54
+ examples/webby/content/css/background.gif
87
55
  examples/webby/content/css/blueprint/print.css
88
56
  examples/webby/content/css/blueprint/screen.css
89
57
  examples/webby/content/css/coderay.css
90
58
  examples/webby/content/css/site.css
91
59
  examples/webby/content/css/uv/twilight.css
92
60
  examples/webby/content/index.txt
93
- examples/webby/content/manual/index.txt
61
+ examples/webby/content/learn/index.txt
94
62
  examples/webby/content/reference/index.txt
63
+ examples/webby/content/release-notes/rel-0-9-0/index.txt
95
64
  examples/webby/content/robots.txt
96
65
  examples/webby/content/script/jquery.corner.js
97
66
  examples/webby/content/script/jquery.js
67
+ examples/webby/content/sitemap.txt
98
68
  examples/webby/content/tips_and_tricks/index.txt
99
69
  examples/webby/content/tutorial/index.txt
100
- examples/webby/layouts/default.rhtml
101
- examples/webby/tasks/blog.rake
102
- examples/webby/tasks/build.rake
103
- examples/webby/tasks/create.rake
104
- examples/webby/tasks/deploy.rake
105
- examples/webby/tasks/growl.rake
106
- examples/webby/tasks/heel.rake
107
- examples/webby/tasks/setup.rb
108
- examples/webby/tasks/validate.rake
70
+ examples/webby/content/user-manual/index.txt
71
+ examples/webby/layouts/default.txt
109
72
  examples/webby/templates/page.erb
73
+ examples/website/Sitefile
74
+ examples/website/content/css/blueprint/License.txt
75
+ examples/website/content/css/blueprint/Readme.txt
76
+ examples/website/content/css/blueprint/compressed/print.css
77
+ examples/website/content/css/blueprint/compressed/screen.css
78
+ examples/website/content/css/blueprint/lib/forms.css
79
+ examples/website/content/css/blueprint/lib/grid.css
80
+ examples/website/content/css/blueprint/lib/grid.png
81
+ examples/website/content/css/blueprint/lib/ie.css
82
+ examples/website/content/css/blueprint/lib/reset.css
83
+ examples/website/content/css/blueprint/lib/typography.css
84
+ examples/website/content/css/blueprint/plugins/buttons/Readme
85
+ examples/website/content/css/blueprint/plugins/buttons/buttons.css
86
+ examples/website/content/css/blueprint/plugins/buttons/icons/cross.png
87
+ examples/website/content/css/blueprint/plugins/buttons/icons/key.png
88
+ examples/website/content/css/blueprint/plugins/buttons/icons/tick.png
89
+ examples/website/content/css/blueprint/plugins/css-classes/Readme
90
+ examples/website/content/css/blueprint/plugins/css-classes/css-classes.css
91
+ examples/website/content/css/blueprint/plugins/fancy-type/Readme
92
+ examples/website/content/css/blueprint/plugins/fancy-type/fancy-type-compressed.css
93
+ examples/website/content/css/blueprint/plugins/fancy-type/fancy-type.css
94
+ examples/website/content/css/blueprint/print.css
95
+ examples/website/content/css/blueprint/screen.css
96
+ examples/website/content/css/coderay.css
97
+ examples/website/content/css/site.css
98
+ examples/website/content/index.txt
99
+ examples/website/layouts/default.txt
100
+ examples/website/lib/breadcrumbs.rb
101
+ examples/website/templates/_partial.erb
102
+ examples/website/templates/page.erb
103
+ examples/website/templates/presentation.erb
110
104
  lib/webby.rb
105
+ lib/webby/apps.rb
106
+ lib/webby/apps/generator.rb
107
+ lib/webby/apps/main.rb
111
108
  lib/webby/auto_builder.rb
112
109
  lib/webby/builder.rb
110
+ lib/webby/core_ext/enumerable.rb
111
+ lib/webby/core_ext/hash.rb
112
+ lib/webby/core_ext/kernel.rb
113
+ lib/webby/core_ext/string.rb
114
+ lib/webby/core_ext/time.rb
113
115
  lib/webby/filters.rb
114
116
  lib/webby/filters/basepath.rb
115
117
  lib/webby/filters/erb.rb
@@ -129,7 +131,6 @@ lib/webby/helpers/tex_img_helper.rb
129
131
  lib/webby/helpers/ultraviolet_helper.rb
130
132
  lib/webby/helpers/url_helper.rb
131
133
  lib/webby/link_validator.rb
132
- lib/webby/main.rb
133
134
  lib/webby/renderer.rb
134
135
  lib/webby/resources.rb
135
136
  lib/webby/resources/db.rb
@@ -142,14 +143,26 @@ lib/webby/resources/static.rb
142
143
  lib/webby/stelan/mktemp.rb
143
144
  lib/webby/stelan/paginator.rb
144
145
  lib/webby/stelan/spawner.rb
145
- lib/webby/utils.rb
146
+ lib/webby/tasks/build.rake
147
+ lib/webby/tasks/create.rake
148
+ lib/webby/tasks/deploy.rake
149
+ lib/webby/tasks/growl.rake
150
+ lib/webby/tasks/heel.rake
151
+ lib/webby/tasks/validate.rake
152
+ spec/core_ext/hash_spec.rb
153
+ spec/core_ext/string_spec.rb
154
+ spec/core_ext/time_spec.rb
146
155
  spec/spec.opts
147
156
  spec/spec_helper.rb
157
+ spec/webby/apps/generator_spec.rb
158
+ spec/webby/apps/main_spec.rb
148
159
  spec/webby/helpers/capture_helper_spec.rb
149
160
  spec/webby/resources/file_spec.rb
161
+ spec/webby/resources_spec.rb
150
162
  tasks/ann.rake
151
163
  tasks/bones.rake
152
164
  tasks/gem.rake
165
+ tasks/git.rake
153
166
  tasks/manifest.rake
154
167
  tasks/notes.rake
155
168
  tasks/post_load.rake
data/README.txt CHANGED
@@ -6,50 +6,34 @@ Webby
6
6
 
7
7
  == DESCRIPTION:
8
8
 
9
- Webby is a super fantastic little website management system. It would be
10
- called a _content management system_ if it were a bigger kid. But, it's
11
- just a runt with a special knack for transforming text. And that's really
12
- all it does - manages the legwork of turning text into something else, an
13
- *ASCII Alchemist* if you will.
14
-
15
- Webby works by combining the contents of a *page* with a *layout* to
16
- produce HTML. The layout contains everything common to all the pages -
17
- HTML headers, navigation menu, footer, etc. - and the page contains just
18
- the information for that page. You can use your favorite markup language
19
- to write your pages; Webby supports quite a few.
9
+ *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.
10
+
11
+ 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.
20
12
 
21
13
  Install Webby and try it out!
22
14
 
23
15
  == FEATURES:
24
16
 
25
- * choose your templating language: *eRuby*, *Textile*, *Markdown*, *HAML*
26
- * support for {CodeRay}[http://coderay.rubychan.de/] syntax highlighting
17
+ * choose your templating language: *ERB*, *Textile*, *Markdown*, *HAML*, *SASS*
18
+ * support for "UltraViolet":http://ultraviolet.rubyforge.org/ and "CodeRay":http://coderay.rubychan.de/ syntax highlighting
19
+ * embeddable DOT scripts for "Graphviz":http://www.graphviz.org/ graphs
20
+ * "LaTeX":http://www.latex-project.org/ snippets for mathematical formulas
21
+ * automatically clean up generated content using "Tidy":http://tidy.sourceforge.net/
27
22
  * quick and speedy - only builds pages that have changed
28
23
  * deploy anywhere - it's just HTML, no special server stuff required
29
- * happy {rake}[http://docs.rubyrake.org/] tasks for deploying your website to a server
24
+ * happy "rake":http://docs.rubyrake.org/ tasks for deploying your website to a server
30
25
  * build new pages from templates for quicker blog posts and news items
31
26
 
32
27
  But Wait! There's More!
33
28
 
34
- Webby has a great _autobuild_ feature that continuously generates HTML whenever
35
- the *pages* or *layouts* change. The HTML is served up via
36
- {heel}[http://copiousfreetime.rubyforge.org/heel/], a static file webserver
37
- based on mongrel. Whenever you change a page, you can immediately see those
38
- changes without having to run any commands.
39
-
40
- $ rake autobuild
41
- heel --root output --daemonize
42
- -- starting autobuild (Ctrl-C to stop)
43
- - started at 10:21:26
44
- creating output/index.html
45
- - started at 10:22:57
46
- creating output/index.html
47
-
48
- Webby is not limited to producing HTML. By no means! Do you ever get tired of
49
- repeating the same color code <b>#D3C4A2</b> in your CSS files? Webby can help.
50
- Need some customized JavaScript for your website. Webby can help. Anytime you
51
- find yourself repeating the same bit of text over and over, then you should be
52
- using Webby.
29
+ Webby has a great _autobuild_ feature that continuously generates HTML whenever the *pages* or *layouts* change. The HTML is served up via "heel":http://copiousfreetime.rubyforge.org/heel/, a static file webserver based on mongrel. Whenever you change a page, you can immediately see those changes without having to run any commands.
30
+
31
+ $ webby autobuild
32
+ [10:21:26] INFO: starting autobuild (Ctrl-C to stop)
33
+ [10:21:26] INFO: creating output/index.html
34
+ [10:22:57] INFO: creating output/index.html
35
+
36
+ Webby is not limited to producing HTML. By no means! Do you ever get tired of repeating the same color code *#D3C4A2* in your CSS files? Webby can help. Need some customized JavaScript for your website. Webby can help. Anytime you find yourself repeating the same bit of text over and over, then you should be using Webby.
53
37
 
54
38
  == INSTALL:
55
39
 
@@ -57,24 +41,22 @@ using Webby.
57
41
 
58
42
  == EXAMPLE:
59
43
 
60
- $ webby my_site
44
+ $ webby-gen website my_site
61
45
  creating my_site
62
46
 
63
47
  $ cd my_site
64
48
 
65
- $ rake create:page new_page.txt
66
- creating content/new_page.txt
49
+ $ webby create:page 'new page'
50
+ creating content/new-page.txt
67
51
 
68
- $ rake create:page another/new_page.txt
69
- creating content/another/new_page.txt
52
+ $ webby create:page 'another/new page'
53
+ creating content/another/new-page.txt
70
54
 
71
- $ rake autobuild
72
- heel --root output --daemonize
73
- -- starting autobuild (Ctrl-C to stop)
74
- - started at 07:01:30
75
- creating output/index.html
76
- creating output/new_page.html
77
- creating output/another/new_page.html
55
+ $ webby autobuild
56
+ [10:21:26] INFO: starting autobuild (Ctrl-C to stop)
57
+ [10:21:26] INFO: creating output/index.html
58
+ [10:21:26] INFO: creating output/new-page.html
59
+ [10:21:26] INFO: creating output/another/new-page.html
78
60
 
79
61
  == REQUIREMENTS:
80
62
 
data/Rakefile CHANGED
@@ -15,16 +15,15 @@ PROJ.url = 'http://webby.rubyforge.org/'
15
15
  PROJ.description = paragraphs_of('README.txt', 3).join("\n\n")
16
16
  PROJ.rubyforge.name = 'webby'
17
17
  PROJ.version = Webby::VERSION
18
- PROJ.release_name = 'Forgetful Foobar'
18
+ PROJ.release_name = 'Vegan Velociraptor'
19
19
 
20
20
  PROJ.ruby_opts = %w[-W0]
21
- PROJ.exclude << %w(^examples/[^/]+/output ^tasks/archive ^tags$)
21
+ PROJ.exclude << %w(^examples/[^/]+/output ^tasks/archive ^tags$ ^webby.gemspec$)
22
22
 
23
23
  PROJ.rdoc.dir = 'doc/rdoc'
24
24
  PROJ.rdoc.remote_dir = 'rdoc'
25
- PROJ.rdoc.exclude << %w(^data ^examples)
25
+ PROJ.rdoc.exclude << %w(^examples)
26
26
 
27
- PROJ.svn.path = ''
28
27
  PROJ.spec.opts << '--color'
29
28
 
30
29
  PROJ.ann.email[:to] << 'webby-forum@googlegroups.com'
@@ -43,7 +42,7 @@ ANN
43
42
 
44
43
  depend_on 'directory_watcher'
45
44
  depend_on 'heel'
46
- depend_on 'hpricot'
45
+ depend_on 'hpricot', '= 0.6.0'
47
46
  depend_on 'logging'
48
47
  depend_on 'rake'
49
48
  depend_on 'rspec'
data/bin/webby CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require File.expand_path(
4
4
  File.join(File.dirname(__FILE__), %w[.. lib webby]))
5
- ::Webby::Main.run ARGV
5
+
6
+ ::Webby::Apps::Main.run(ARGV)
6
7
 
7
8
  # EOF
data/bin/webby-gen ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.expand_path(
4
+ File.join(File.dirname(__FILE__), %w[.. lib webby]))
5
+
6
+ ::Webby::Apps::Generator.run(ARGV)
7
+
8
+ # EOF
@@ -1,6 +1,4 @@
1
1
 
2
- load 'tasks/setup.rb'
3
-
4
2
  task :default => :build
5
3
 
6
4
  desc 'deploy the site to the webserver'
@@ -10,7 +10,7 @@ namespace :blog do
10
10
 
11
11
  desc "Create a new blog #{name}"
12
12
  task name => [:create_year_index, :create_month_index] do |t|
13
- page, title, dir = Webby::Builder.new_page_info(t)
13
+ page, title, dir = Webby::Builder.new_page_info
14
14
 
15
15
  # if no directory was given use the default blog directory (underneath
16
16
  # the content directory)
@@ -27,7 +27,7 @@ namespace :blog do
27
27
  # this task is used to create the year index file (blog/2008/index.txt)
28
28
  task :create_year_index do |t|
29
29
  # parse out information about the page to create
30
- _, _, dir = Webby::Builder.new_page_info(t)
30
+ _, _, dir = Webby::Builder.new_page_info
31
31
  year = Time.now.strftime '%Y'
32
32
 
33
33
  # if no directory was given use the default blog directory (underneath
@@ -48,8 +48,9 @@ namespace :blog do
48
48
  # this task is used to create the month index file (blog/2008/04/index.txt)
49
49
  task :create_month_index do |t|
50
50
  # parse out information about the page to create
51
- _, _, dir = Webby::Builder.new_page_info(t)
51
+ _, _, dir = Webby::Builder.new_page_info
52
52
  now = Time.now
53
+ month = now.strftime '%m'
53
54
 
54
55
  # if no directory was given use the default blog directory (underneath
55
56
  # the content directory)
@@ -62,7 +63,7 @@ namespace :blog do
62
63
 
63
64
  if test(?f, tmpl) and not test(?f, File.join(Webby.site.content_dir, fn))
64
65
  Webby::Builder.create(fn, :from => tmpl,
65
- :locals => {:title => year, :directory => dir})
66
+ :locals => {:title => month, :directory => dir})
66
67
  end
67
68
  end
68
69
 
@@ -1,14 +1,13 @@
1
1
  ---
2
- title: A New Atom Feed
3
- subtitle: A really swell blog built with Webby
4
- site: fake-n-site.org
5
- author: Author's Name
6
- email: author@fake-n-site.org
2
+ title: A New Atom Feed
3
+ subtitle: A really swell blog built with Webby
4
+ site: fake-n-site.org
5
+ author: Author's Name
6
+ email: author@fake-n-site.org
7
7
  extension: xml
8
- layout: nil
9
- dirty: true
10
- filter:
11
- - erb
8
+ layout: nil
9
+ dirty: true
10
+ filter: erb
12
11
  ---
13
12
  <?xml version="1.0" encoding="utf-8"?>
14
13
  <feed xmlns="http://www.w3.org/2005/Atom">
@@ -24,7 +23,7 @@ filter:
24
23
  </author>
25
24
  <id>http://<%%= @page.site %>/</id>
26
25
  <%% @pages.find(:limit => 10,
27
- :in_directory => 'blog',
26
+ :in_directory => '<%= directory %>',
28
27
  :recursive => true,
29
28
  :sort_by => 'mtime',
30
29
  :reverse => true).each do |article|
@@ -35,7 +34,7 @@ filter:
35
34
  <link href="<%%= article.url %>" />
36
35
  <id>tag:<%%= @page.site %>,<%%= article.created_at.strftime('%Y-%m-%d') %>:<%%= article.created_at.to_i %></id>
37
36
  <updated><%%= article.created_at.xmlschema %></updated>
38
- <content type="html"><%%= h(article.render) %></content>
37
+ <content type="html"><%%= h(render(article)) %></content>
39
38
  </entry>
40
39
  <%% end %>
41
40
  </feed>
@@ -8,7 +8,7 @@ dirty: true
8
8
 
9
9
  <%%
10
10
  articles = @pages.find(:all, :in_directory => @page.dir, :recursive => true,
11
- :sort_by => "created_at", :reverse => true)
11
+ :sort_by => "created_at", :reverse => true, :blog_post => true)
12
12
  articles.delete(@page)
13
13
  paginate(articles, 10) do |page|
14
14
  -%>
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: <%= title %>
3
3
  created_at: <%= Time.now.to_y %>
4
+ blog_post: true
4
5
  filter:
5
6
  - textile
6
7
  ---
@@ -8,7 +8,7 @@ dirty: true
8
8
 
9
9
  <%%
10
10
  articles = @pages.find(:all, :in_directory => @page.dir, :recursive => true,
11
- :sort_by => "created_at", :reverse => true)
11
+ :sort_by => "created_at", :reverse => true, :blog_post => true)
12
12
  articles.delete(@page)
13
13
  paginate(articles, 10) do |page|
14
14
  -%>
@@ -1,13 +1,9 @@
1
1
 
2
- load 'tasks/setup.rb'
3
-
4
2
  task :default => :build
5
3
 
6
4
  desc 'deploy the site to the webserver'
7
5
  task :deploy => [:build, 'deploy:rsync']
8
6
 
9
- task :autobuild => :growl
10
-
11
7
  SITE.uv[:theme] = 'twilight'
12
8
  SITE.uv[:line_numbers] = false
13
9
 
@@ -17,12 +17,12 @@ filter:
17
17
  <meta name="defaultView" content="slideshow" />
18
18
  <meta name="controlVis" content="hidden" />
19
19
 
20
- <link rel="stylesheet" href="s5/slides.css" type="text/css" media="projection" id="slideProj" />
21
- <link rel="stylesheet" href="s5/outline.css" type="text/css" media="screen" id="outlineStyle" />
20
+ <link rel="stylesheet" href="/presentation/s5/slides.css" type="text/css" media="projection" id="slideProj" />
21
+ <link rel="stylesheet" href="/presentation/s5/outline.css" type="text/css" media="screen" id="outlineStyle" />
22
22
  <link rel="stylesheet" href="/css/uv/twilight.css" type="text/css" media="screen, projection" />
23
23
 
24
24
  <!-- S5 JS -->
25
- <script src="s5/slides.js" type="text/javascript"></script>
25
+ <script src="/presentation/s5/slides.js" type="text/javascript"></script>
26
26
  </head>
27
27
  <body>
28
28
 
@@ -0,0 +1,9 @@
1
+
2
+ task :default => :build
3
+
4
+ desc 'deploy the site to the webserver'
5
+ task :deploy => [:build, 'deploy:rsync']
6
+
7
+ SITE.create_mode = 'directory'
8
+
9
+ # EOF