webby 0.9.3-x86-mswin32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (229) hide show
  1. data/History.txt +206 -0
  2. data/Manifest.txt +228 -0
  3. data/README.txt +92 -0
  4. data/Rakefile +49 -0
  5. data/bin/webby +41 -0
  6. data/bin/webby-gen +41 -0
  7. data/examples/blog/Sitefile +7 -0
  8. data/examples/blog/tasks/blog.rake +72 -0
  9. data/examples/blog/templates/atom_feed.erb +40 -0
  10. data/examples/blog/templates/blog/month.erb +22 -0
  11. data/examples/blog/templates/blog/post.erb +16 -0
  12. data/examples/blog/templates/blog/year.erb +22 -0
  13. data/examples/presentation/Sitefile +10 -0
  14. data/examples/presentation/content/css/uv/twilight.css +137 -0
  15. data/examples/presentation/content/presentation/_sample_code.txt +10 -0
  16. data/examples/presentation/content/presentation/index.txt +63 -0
  17. data/examples/presentation/content/presentation/s5/blank.gif +0 -0
  18. data/examples/presentation/content/presentation/s5/bodybg.gif +0 -0
  19. data/examples/presentation/content/presentation/s5/framing.css +23 -0
  20. data/examples/presentation/content/presentation/s5/iepngfix.htc +42 -0
  21. data/examples/presentation/content/presentation/s5/opera.css +7 -0
  22. data/examples/presentation/content/presentation/s5/outline.css +15 -0
  23. data/examples/presentation/content/presentation/s5/pretty.css +86 -0
  24. data/examples/presentation/content/presentation/s5/print.css +25 -0
  25. data/examples/presentation/content/presentation/s5/s5-core.css +9 -0
  26. data/examples/presentation/content/presentation/s5/slides.css +3 -0
  27. data/examples/presentation/content/presentation/s5/slides.js +553 -0
  28. data/examples/presentation/layouts/presentation.txt +43 -0
  29. data/examples/presentation/templates/_code_partial.erb +13 -0
  30. data/examples/presentation/templates/presentation.erb +40 -0
  31. data/examples/tumblog/Sitefile +9 -0
  32. data/examples/tumblog/content/css/tumblog.css +308 -0
  33. data/examples/tumblog/content/images/tumblog/permalink.gif +0 -0
  34. data/examples/tumblog/content/images/tumblog/rss.gif +0 -0
  35. data/examples/tumblog/content/tumblog/200806/the-noble-chicken/index.txt +12 -0
  36. data/examples/tumblog/content/tumblog/200807/historical-perspectives-on-the-classic-chicken-joke/index.txt +12 -0
  37. data/examples/tumblog/content/tumblog/200807/mad-city-chickens/index.txt +10 -0
  38. data/examples/tumblog/content/tumblog/200807/the-wisdom-of-the-dutch/index.txt +11 -0
  39. data/examples/tumblog/content/tumblog/200807/up-a-tree/index.txt +13 -0
  40. data/examples/tumblog/content/tumblog/index.txt +37 -0
  41. data/examples/tumblog/content/tumblog/rss.txt +37 -0
  42. data/examples/tumblog/layouts/tumblog/default.txt +44 -0
  43. data/examples/tumblog/layouts/tumblog/post.txt +15 -0
  44. data/examples/tumblog/lib/tumblog_helper.rb +32 -0
  45. data/examples/tumblog/tasks/tumblog.rake +30 -0
  46. data/examples/tumblog/templates/atom_feed.erb +40 -0
  47. data/examples/tumblog/templates/tumblog/conversation.erb +12 -0
  48. data/examples/tumblog/templates/tumblog/link.erb +10 -0
  49. data/examples/tumblog/templates/tumblog/photo.erb +13 -0
  50. data/examples/tumblog/templates/tumblog/post.erb +12 -0
  51. data/examples/tumblog/templates/tumblog/quote.erb +11 -0
  52. data/examples/webby/Sitefile +19 -0
  53. data/examples/webby/content/communicate/index.txt +28 -0
  54. data/examples/webby/content/css/background.gif +0 -0
  55. data/examples/webby/content/css/blueprint/print.css +76 -0
  56. data/examples/webby/content/css/blueprint/screen.css +696 -0
  57. data/examples/webby/content/css/coderay.css +96 -0
  58. data/examples/webby/content/css/site.css +196 -0
  59. data/examples/webby/content/css/uv/twilight.css +137 -0
  60. data/examples/webby/content/index.txt +37 -0
  61. data/examples/webby/content/learn/index.txt +28 -0
  62. data/examples/webby/content/reference/index.txt +204 -0
  63. data/examples/webby/content/release-notes/index.txt +21 -0
  64. data/examples/webby/content/release-notes/rel-0-9-0/index.txt +74 -0
  65. data/examples/webby/content/release-notes/rel-0-9-1/index.txt +93 -0
  66. data/examples/webby/content/release-notes/rel-0-9-2/index.txt +14 -0
  67. data/examples/webby/content/release-notes/rel-0-9-3/index.txt +49 -0
  68. data/examples/webby/content/robots.txt +6 -0
  69. data/examples/webby/content/script/jquery.corner.js +152 -0
  70. data/examples/webby/content/script/jquery.js +31 -0
  71. data/examples/webby/content/sitemap.txt +31 -0
  72. data/examples/webby/content/tips_and_tricks/index.txt +97 -0
  73. data/examples/webby/content/tutorial/index.txt +135 -0
  74. data/examples/webby/content/user-manual/index.txt +419 -0
  75. data/examples/webby/layouts/default.txt +49 -0
  76. data/examples/webby/templates/page.erb +10 -0
  77. data/examples/website/Sitefile +7 -0
  78. data/examples/website/content/css/blueprint/License.txt +21 -0
  79. data/examples/website/content/css/blueprint/Readme.txt +100 -0
  80. data/examples/website/content/css/blueprint/compressed/print.css +76 -0
  81. data/examples/website/content/css/blueprint/compressed/screen.css +696 -0
  82. data/examples/website/content/css/blueprint/lib/forms.css +45 -0
  83. data/examples/website/content/css/blueprint/lib/grid.css +193 -0
  84. data/examples/website/content/css/blueprint/lib/grid.png +0 -0
  85. data/examples/website/content/css/blueprint/lib/ie.css +30 -0
  86. data/examples/website/content/css/blueprint/lib/reset.css +39 -0
  87. data/examples/website/content/css/blueprint/lib/typography.css +116 -0
  88. data/examples/website/content/css/blueprint/plugins/buttons/Readme +31 -0
  89. data/examples/website/content/css/blueprint/plugins/buttons/buttons.css +97 -0
  90. data/examples/website/content/css/blueprint/plugins/buttons/icons/cross.png +0 -0
  91. data/examples/website/content/css/blueprint/plugins/buttons/icons/key.png +0 -0
  92. data/examples/website/content/css/blueprint/plugins/buttons/icons/tick.png +0 -0
  93. data/examples/website/content/css/blueprint/plugins/css-classes/Readme +14 -0
  94. data/examples/website/content/css/blueprint/plugins/css-classes/css-classes.css +24 -0
  95. data/examples/website/content/css/blueprint/plugins/fancy-type/Readme +22 -0
  96. data/examples/website/content/css/blueprint/plugins/fancy-type/fancy-type-compressed.css +5 -0
  97. data/examples/website/content/css/blueprint/plugins/fancy-type/fancy-type.css +74 -0
  98. data/examples/website/content/css/blueprint/print.css +68 -0
  99. data/examples/website/content/css/blueprint/screen.css +22 -0
  100. data/examples/website/content/css/coderay.css +111 -0
  101. data/examples/website/content/css/site.css +67 -0
  102. data/examples/website/content/index.txt +19 -0
  103. data/examples/website/layouts/default.txt +58 -0
  104. data/examples/website/lib/breadcrumbs.rb +28 -0
  105. data/examples/website/templates/_partial.erb +10 -0
  106. data/examples/website/templates/page.erb +18 -0
  107. data/lib/webby.rb +221 -0
  108. data/lib/webby/apps.rb +12 -0
  109. data/lib/webby/apps/generator.rb +276 -0
  110. data/lib/webby/apps/main.rb +255 -0
  111. data/lib/webby/auto_builder.rb +157 -0
  112. data/lib/webby/builder.rb +180 -0
  113. data/lib/webby/core_ext/enumerable.rb +11 -0
  114. data/lib/webby/core_ext/hash.rb +28 -0
  115. data/lib/webby/core_ext/kernel.rb +26 -0
  116. data/lib/webby/core_ext/string.rb +163 -0
  117. data/lib/webby/core_ext/time.rb +9 -0
  118. data/lib/webby/filters.rb +83 -0
  119. data/lib/webby/filters/basepath.rb +97 -0
  120. data/lib/webby/filters/erb.rb +9 -0
  121. data/lib/webby/filters/haml.rb +18 -0
  122. data/lib/webby/filters/markdown.rb +16 -0
  123. data/lib/webby/filters/outline.rb +309 -0
  124. data/lib/webby/filters/sass.rb +17 -0
  125. data/lib/webby/filters/slides.rb +56 -0
  126. data/lib/webby/filters/textile.rb +16 -0
  127. data/lib/webby/filters/tidy.rb +76 -0
  128. data/lib/webby/filters/wiki_words.rb +14 -0
  129. data/lib/webby/helpers.rb +30 -0
  130. data/lib/webby/helpers/capture_helper.rb +141 -0
  131. data/lib/webby/helpers/coderay_helper.rb +69 -0
  132. data/lib/webby/helpers/graphviz_helper.rb +136 -0
  133. data/lib/webby/helpers/tag_helper.rb +65 -0
  134. data/lib/webby/helpers/tex_img_helper.rb +133 -0
  135. data/lib/webby/helpers/ultraviolet_helper.rb +63 -0
  136. data/lib/webby/helpers/url_helper.rb +241 -0
  137. data/lib/webby/journal.rb +126 -0
  138. data/lib/webby/link_validator.rb +152 -0
  139. data/lib/webby/renderer.rb +386 -0
  140. data/lib/webby/resources.rb +136 -0
  141. data/lib/webby/resources/db.rb +251 -0
  142. data/lib/webby/resources/layout.rb +54 -0
  143. data/lib/webby/resources/meta_file.rb +211 -0
  144. data/lib/webby/resources/page.rb +81 -0
  145. data/lib/webby/resources/partial.rb +85 -0
  146. data/lib/webby/resources/resource.rb +201 -0
  147. data/lib/webby/resources/static.rb +36 -0
  148. data/lib/webby/stelan/mktemp.rb +135 -0
  149. data/lib/webby/stelan/paginator.rb +165 -0
  150. data/lib/webby/stelan/spawner.rb +339 -0
  151. data/lib/webby/tasks/build.rake +27 -0
  152. data/lib/webby/tasks/create.rake +22 -0
  153. data/lib/webby/tasks/deploy.rake +22 -0
  154. data/lib/webby/tasks/growl.rake +16 -0
  155. data/lib/webby/tasks/validate.rake +19 -0
  156. data/spec/core_ext/hash_spec.rb +47 -0
  157. data/spec/core_ext/string_spec.rb +110 -0
  158. data/spec/core_ext/time_spec.rb +19 -0
  159. data/spec/data/hooligans/bad_meta_data_1.txt +34 -0
  160. data/spec/data/hooligans/bad_meta_data_2.txt +34 -0
  161. data/spec/data/outline/basic.out +81 -0
  162. data/spec/data/outline/basic.txt +25 -0
  163. data/spec/data/outline/no_clobber.out +86 -0
  164. data/spec/data/outline/numbering.out +81 -0
  165. data/spec/data/outline/numbering_only.out +21 -0
  166. data/spec/data/outline/toc_range_1.out +66 -0
  167. data/spec/data/outline/toc_range_2.out +55 -0
  168. data/spec/data/outline/toc_style.out +81 -0
  169. data/spec/data/site/Sitefile +9 -0
  170. data/spec/data/site/content/_partial.txt +10 -0
  171. data/spec/data/site/content/css/coderay.css +111 -0
  172. data/spec/data/site/content/css/site.css +67 -0
  173. data/spec/data/site/content/css/tumblog.css +308 -0
  174. data/spec/data/site/content/images/tumblog/permalink.gif +0 -0
  175. data/spec/data/site/content/images/tumblog/rss.gif +0 -0
  176. data/spec/data/site/content/index.txt +19 -0
  177. data/spec/data/site/content/photos.txt +21 -0
  178. data/spec/data/site/content/tumblog/200806/the-noble-chicken/index.txt +12 -0
  179. data/spec/data/site/content/tumblog/200807/historical-perspectives-on-the-classic-chicken-joke/index.txt +12 -0
  180. data/spec/data/site/content/tumblog/200807/mad-city-chickens/index.txt +10 -0
  181. data/spec/data/site/content/tumblog/200807/the-wisdom-of-the-dutch/index.txt +11 -0
  182. data/spec/data/site/content/tumblog/200807/up-a-tree/index.txt +13 -0
  183. data/spec/data/site/content/tumblog/index.txt +37 -0
  184. data/spec/data/site/content/tumblog/rss.txt +37 -0
  185. data/spec/data/site/layouts/default.txt +58 -0
  186. data/spec/data/site/layouts/tumblog/default.txt +44 -0
  187. data/spec/data/site/layouts/tumblog/post.txt +15 -0
  188. data/spec/data/site/lib/breadcrumbs.rb +28 -0
  189. data/spec/data/site/lib/tumblog_helper.rb +32 -0
  190. data/spec/data/site/tasks/tumblog.rake +30 -0
  191. data/spec/data/site/templates/_partial.erb +10 -0
  192. data/spec/data/site/templates/atom_feed.erb +40 -0
  193. data/spec/data/site/templates/page.erb +18 -0
  194. data/spec/data/site/templates/presentation.erb +40 -0
  195. data/spec/data/site/templates/tumblog/conversation.erb +12 -0
  196. data/spec/data/site/templates/tumblog/link.erb +10 -0
  197. data/spec/data/site/templates/tumblog/photo.erb +13 -0
  198. data/spec/data/site/templates/tumblog/post.erb +12 -0
  199. data/spec/data/site/templates/tumblog/quote.erb +11 -0
  200. data/spec/spec.opts +1 -0
  201. data/spec/spec_helper.rb +51 -0
  202. data/spec/webby/apps/generator_spec.rb +116 -0
  203. data/spec/webby/apps/main_spec.rb +88 -0
  204. data/spec/webby/filters/basepath_spec.rb +167 -0
  205. data/spec/webby/filters/outline_spec.rb +92 -0
  206. data/spec/webby/filters/textile_spec.rb +20 -0
  207. data/spec/webby/helpers/capture_helper_spec.rb +56 -0
  208. data/spec/webby/renderer_spec.rb +139 -0
  209. data/spec/webby/resources/db_spec.rb +250 -0
  210. data/spec/webby/resources/layout_spec.rb +83 -0
  211. data/spec/webby/resources/meta_file_spec.rb +171 -0
  212. data/spec/webby/resources/page_spec.rb +111 -0
  213. data/spec/webby/resources/partial_spec.rb +58 -0
  214. data/spec/webby/resources/resource_spec.rb +219 -0
  215. data/spec/webby/resources/static_spec.rb +49 -0
  216. data/spec/webby/resources_spec.rb +69 -0
  217. data/tasks/ann.rake +81 -0
  218. data/tasks/bones.rake +21 -0
  219. data/tasks/gem.rake +187 -0
  220. data/tasks/git.rake +41 -0
  221. data/tasks/manifest.rake +48 -0
  222. data/tasks/notes.rake +28 -0
  223. data/tasks/post_load.rake +39 -0
  224. data/tasks/rdoc.rake +51 -0
  225. data/tasks/rubyforge.rake +55 -0
  226. data/tasks/setup.rb +268 -0
  227. data/tasks/spec.rake +55 -0
  228. data/tasks/website.rake +38 -0
  229. metadata +365 -0
@@ -0,0 +1,10 @@
1
+ ---
2
+ title: Mad City Chickens
3
+ created_at: 2008-07-26 16:11:09.306365 -06:00
4
+ author: Tim Pease
5
+ filter:
6
+ - textile
7
+ layout: tumblog/post
8
+ tumblog_type: link
9
+ ---
10
+ "(link)Raising chickens in Madison, WI":http://www.madcitychickens.com/
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: The Wisdom of the Dutch
3
+ created_at: 2008-07-26 16:11:39.658919 -06:00
4
+ author: Not Tim Pease
5
+ filter:
6
+ - textile
7
+ layout: tumblog/post
8
+ tumblog_type: quote
9
+ ---
10
+ <big>&#147;</big> You can't hatch chickens from fried eggs.
11
+ %(source)Dutch Proverb%
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: Up a Tree
3
+ created_at: 2008-07-06 16:09:49.530410 -06:00
4
+ author: Tim Pease
5
+ filter:
6
+ - erb
7
+ - textile
8
+ layout: tumblog/post
9
+ tumblog_type: photo
10
+ ---
11
+ !http://www.madcitychickens.com/images/bttrcups_tree.jpg(<%= h(@page.title) %>)!
12
+
13
+ p(caption). via "Mad City Chickens":http://www.madcitychickens.com/
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: A Mother Clucker
3
+ author: Tim Pease
4
+ layout: tumblog/default
5
+ filter: erb
6
+ dirty: true
7
+ ---
8
+ <% prev = nil
9
+ posts = @pages.find(
10
+ :all,
11
+ :layout => 'tumblog/post',
12
+ :sort_by => :created_at,
13
+ :reverse => true
14
+ )
15
+ paginate(posts, 4) do |p| -%>
16
+ <div class="post">
17
+ <% if prev != p.created_at.strftime('%Y%m%d') -%>
18
+ <%= tumblog_date(p.created_at) %>
19
+ <% prev = p.created_at.strftime('%Y%m%d')
20
+ end -%>
21
+ <a href="<%= p.url %>">
22
+ <img src="/images/tumblog/permalink.gif" class="permalink" alt="permalink" />
23
+ </a>
24
+
25
+ <div class="<%= p.tumblog_type %>">
26
+ <% if p.title -%>
27
+ <h2><%= link_to_page(p) %></h2>
28
+ <% end -%>
29
+ <%= render(p) %>
30
+ </div>
31
+ </div>
32
+ <% end -%>
33
+
34
+ <% content_for :footer do -%>
35
+ <%= link_to("&#171; Prev", @pager.prev) if @pager.prev? %>
36
+ <%= link_to("Next &#187;", @pager.next) if @pager.next? %>
37
+ <% end -%>
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: A Mother Clucker
3
+ subtitle: raising chickens in the city
4
+ site: example.com
5
+ author: Tim Pease
6
+ email: author@example.com
7
+ extension: xml
8
+ layout: nil
9
+ dirty: true
10
+ filter: erb
11
+ ---
12
+ <?xml version="1.0" encoding="utf-8"?>
13
+ <feed xmlns="http://www.w3.org/2005/Atom">
14
+
15
+ <title><%= h(@page.title) %></title>
16
+ <subtitle><%= h(@page.subtitle) %></subtitle>
17
+ <link href="http://<%= @page.site %>/tumblog/" rel="self" />
18
+ <link href="http://<%= @page.site %>/" />
19
+ <updated><%= Time.now.xmlschema %></updated>
20
+ <author>
21
+ <name><%= h(@page.author) %></name>
22
+ <email><%= h(@page.email) %></email>
23
+ </author>
24
+ <id>http://<%= @page.site %>/</id>
25
+ <% @pages.find(:limit => 10,
26
+ :layout => 'tumblog/post',
27
+ :sort_by => 'created_at',
28
+ :reverse => true).each do |article| %>
29
+ <entry>
30
+ <title><%= h(article.title) %></title>
31
+ <link href="<%= article.url %>" />
32
+ <id>tag:<%= @page.site %>,<%= article.created_at.strftime('%Y-%m-%d') %>:<%= article.created_at.to_i %></id>
33
+ <updated><%= article.created_at.xmlschema %></updated>
34
+ <content type="html"><%= h(render(article)) %></content>
35
+ </entry>
36
+ <% end %>
37
+ </feed>
@@ -0,0 +1,58 @@
1
+ ---
2
+ extension: html
3
+ filter: erb
4
+ ---
5
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
6
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
7
+
8
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-us">
9
+ <head>
10
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
11
+ <title><%= @page.title %></title>
12
+ <meta name="author" content="<%= @page.author %>" />
13
+
14
+ <!--- Blueprint CSS Framework -->
15
+ <link rel="stylesheet" href="/css/blueprint/screen.css" type="text/css" media="screen, projection" />
16
+ <link rel="stylesheet" href="/css/blueprint/print.css" type="text/css" media="print" />
17
+
18
+ <!-- CodeRay syntax highlighting CSS -->
19
+ <link rel="stylesheet" href="/css/coderay.css" type="text/css" />
20
+
21
+ <!-- Homepage CSS -->
22
+ <link rel="stylesheet" href="/css/site.css" type="text/css" media="screen, projection" />
23
+ </head>
24
+ <body>
25
+
26
+ <div class="container">
27
+
28
+ <div class="column span-20 prepend-2 append-2 first last" id="header">
29
+ <p class="title">A New Website</p>
30
+ <hr>
31
+ </div>
32
+
33
+ <div class="column span-15 prepend-2 first">
34
+ <%= @content %>
35
+ </div>
36
+
37
+ <div class="column span-5 append-2 last">
38
+ <h4>Sidebar</h4>
39
+ <p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. </p>
40
+
41
+ <div class="box">
42
+ <p class="last">Mauris a lectus. Aliquam erat volutpat. Phasellus ultrices mi a sapien. Nunc rutrum egestas lorem. Duis ac sem sagittis elit tincidunt gravida.</p>
43
+ </div>
44
+
45
+ <p class="quiet">Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue.</p>
46
+
47
+ <h5>Incremental leading</h5>
48
+ <p class="incr">Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. sed aliquet vehicula, lectus tellus.</p>
49
+ </div>
50
+
51
+ <div class="column span-20 prepend-2 append-2 first last" id="footer">
52
+ <hr />
53
+ <p>This website was created with <a href="http://webby.rubyforge.org">Webby</a></p>
54
+ </div>
55
+
56
+ </div>
57
+ </body>
58
+ </html>
@@ -0,0 +1,44 @@
1
+ ---
2
+ extension: html
3
+ filter: erb
4
+ ---
5
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
6
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
7
+
8
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-us">
9
+ <head>
10
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
11
+ <title><%= h(@page.title) %></title>
12
+ <meta name="author" content="<%= h(@page.author) %>" />
13
+ <link rel="alternate" type="application/atom+xml" title="RSS" href="/tumblog/rss.xml"/>
14
+
15
+
16
+ <link rel="stylesheet" href="/css/tumblog.css" type="text/css" media="screen, projection" />
17
+ </head>
18
+ <body>
19
+
20
+ <h1>
21
+ <a href="/">Fowl Friends</a>
22
+ <a href="/tumblog/rss.xml"><img src="/images/tumblog/rss.gif" id="rss" alt="RSS" /></a>
23
+ </h1>
24
+
25
+ <div id="content">
26
+ <div id="description">
27
+ <div>
28
+ <p><a href="/tumblog/archive">Archive</a></p>
29
+ </div>
30
+ </div>
31
+
32
+ <%= @content %>
33
+
34
+ <div id="footer">
35
+ <%= content_for :footer %>
36
+
37
+ <div id="credit">
38
+ Powered by <a href="http://webby.rubyforge.org/">Webby</a>
39
+ </div>
40
+ </div>
41
+
42
+ </div>
43
+ </body>
44
+ </html>
@@ -0,0 +1,15 @@
1
+ ---
2
+ filter: erb
3
+ layout: tumblog/default
4
+ ---
5
+ <div class="post">
6
+ <%= tumblog_date(@page.created_at) %>
7
+ <a href="<%= @page.url %>">
8
+ <img src="/images/tumblog/permalink.gif" class="permalink" alt="permalink" />
9
+ </a>
10
+
11
+ <div class="<%= @page.tumblog_type %>">
12
+ <h2><%= link_to_page(@page) %></h2>
13
+ <%= @content %>
14
+ </div>
15
+ </div>
@@ -0,0 +1,28 @@
1
+ # breadcrumbs.rb
2
+
3
+ module BreadcrumbsHelper
4
+ # call-seq:
5
+ # breadcrumbs( page ) => html
6
+ #
7
+ # Create breadcrumb links for the current page. This will return an HTML
8
+ # <ul></ul> object.
9
+ #
10
+ def breadcrumbs( page )
11
+ list = ["<li>#{h(page.title)}</li>"]
12
+ loop do
13
+ page = @pages.parent_of(page)
14
+ break if page.nil?
15
+ list << "<li>#{link_to_page(page)}</li>"
16
+ end
17
+ list.reverse!
18
+
19
+ html = "<ul class=\"breadcrumbs\">\n"
20
+ html << list.join("\n")
21
+ html << "\n</ul>\n"
22
+ html
23
+ end
24
+ end # module Breadcrumbs
25
+
26
+ Webby::Helpers.register(BreadcrumbsHelper)
27
+
28
+ # EOF
@@ -0,0 +1,32 @@
1
+
2
+ require 'time'
3
+
4
+ module TumblogHelper
5
+
6
+ DAYS = {}
7
+ (1..31).each {|day| DAYS[day] = "%dth" % day}
8
+ DAYS[1] = "1st"
9
+ DAYS[2] = "2nd"
10
+ DAYS[3] = "3rd"
11
+ DAYS[21] = "21st"
12
+ DAYS[22] = "22nd"
13
+ DAYS[23] = "23rd"
14
+ DAYS[31] = "31st"
15
+
16
+ def tumblog_date( time )
17
+ <<-HTML
18
+ <div class="date">
19
+ <div class="date_brick">
20
+ #{Time::RFC2822_MONTH_NAME.at(time.month-1)}<br />
21
+ #{TumblogHelper::DAYS[time.day]}
22
+ </div>
23
+ #{Time::RFC2822_DAY_NAME.at(time.wday)}
24
+ </div>
25
+ HTML
26
+ end
27
+
28
+ end # module TumblogHelper
29
+
30
+ Webby::Helpers.register(TumblogHelper)
31
+
32
+ # EOF
@@ -0,0 +1,30 @@
1
+
2
+ namespace :tumblog do
3
+
4
+ # iterate over all the files in the "templates/tumblog" folder and create a
5
+ # rake task corresponding to each file found
6
+ FileList["#{Webby.site.template_dir}/tumblog/*"].each do |template|
7
+ next unless test(?f, template)
8
+ name = template.pathmap('%n')
9
+
10
+ desc "Create a new tumblog #{name}"
11
+ task name do |t|
12
+ page = Webby.site.args.page
13
+ title = Webby.site.args.title
14
+ dir = Webby.site.args.dir
15
+
16
+ # if no directory was given use the default tumblog directory (underneath
17
+ # the content directory)
18
+ dir = Webby.site.tumblog_dir if dir.empty?
19
+ dir = File.join(dir, Time.now.strftime('%Y%m'))
20
+
21
+ page = File.join(dir, File.basename(page))
22
+ page = Webby::Builder.create(page, :from => template,
23
+ :locals => {:title => title, :directory => dir})
24
+ exec(::Webby.editor, page) unless ::Webby.editor.nil?
25
+ end
26
+ end # each
27
+
28
+ end # namespace :tumblog
29
+
30
+ # EOF
@@ -0,0 +1,10 @@
1
+ ---
2
+ filter: erb
3
+ ---
4
+ A partial has access to the page from which it was called. The title below will be the title of the page in which this partial is rendered.
5
+
6
+ <%%= h(@page.title) %>
7
+
8
+ A partial does not have access to it's own meta-data. The partial meta-data is used primarily for finding partials or for use in other pages. The filter(s) specified in the meta-data will be applied to the partial text when it is rendered.
9
+
10
+ A partial does not require meta-data at all. They can contain just text.
@@ -0,0 +1,40 @@
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
7
+ extension: xml
8
+ layout: nil
9
+ dirty: true
10
+ filter: erb
11
+ ---
12
+ <?xml version="1.0" encoding="utf-8"?>
13
+ <feed xmlns="http://www.w3.org/2005/Atom">
14
+
15
+ <title><%%= h(@page.title) %></title>
16
+ <subtitle><%%= h(@page.subtitle) %></subtitle>
17
+ <link href="http://<%%= @page.site %>/<%= directory %>/" rel="self" />
18
+ <link href="http://<%%= @page.site %>/" />
19
+ <updated><%%= Time.now.xmlschema %></updated>
20
+ <author>
21
+ <name><%%= h(@page.author) %></name>
22
+ <email><%%= h(@page.email) %></email>
23
+ </author>
24
+ <id>http://<%%= @page.site %>/</id>
25
+ <%% @pages.find(:limit => 10,
26
+ :in_directory => '<%= directory %>',
27
+ :recursive => true,
28
+ :sort_by => 'mtime',
29
+ :reverse => true).each do |article|
30
+ next if article == @page
31
+ %>
32
+ <entry>
33
+ <title><%%= h(article.title) %></title>
34
+ <link href="<%%= article.url %>" />
35
+ <id>tag:<%%= @page.site %>,<%%= article.created_at.strftime('%Y-%m-%d') %>:<%%= article.created_at.to_i %></id>
36
+ <updated><%%= article.created_at.xmlschema %></updated>
37
+ <content type="html"><%%= h(render(article)) %></content>
38
+ </entry>
39
+ <%% end %>
40
+ </feed>
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: <%= title %>
3
+ created_at: <%= Time.now.to_y %>
4
+ filter:
5
+ - erb
6
+ - textile
7
+ ---
8
+ p(title). <%%= h(@page.title) %>
9
+
10
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc congue ipsum vestibulum libero. Aenean vitae justo. Nam eget tellus. Etiam convallis, est eu lobortis mattis, lectus tellus tempus felis, a ultricies erat ipsum at metus.
11
+
12
+ h2. Litora Sociis
13
+
14
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi et risus. Aliquam nisl. Nulla facilisi. Cras accumsan vestibulum ante. Vestibulum sed tortor. Praesent tempus fringilla elit. Ut elit diam, sagittis in, nonummy in, gravida non, nunc. Ut orci. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nam egestas, orci eu imperdiet malesuada, nisl purus fringilla odio, quis commodo est orci vitae justo. Aliquam placerat odio tincidunt nulla. Cras in libero. Aenean rutrum, magna non tristique posuere, erat odio eleifend nisl, non convallis est tortor blandit ligula. Nulla id augue.
15
+
16
+ bq. Nullam mattis, odio ut tempus facilisis, metus nisl facilisis metus, auctor consectetuer felis ligula nec mauris. Vestibulum odio erat, fermentum at, commodo vitae, ultrices et, urna. Mauris vulputate, mi pulvinar sagittis condimentum, sem nulla aliquam velit, sed imperdiet mi purus eu magna. Nulla varius metus ut eros. Aenean aliquet magna eget orci. Class aptent taciti sociosqu ad litora.
17
+
18
+ Vivamus euismod. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse vel nibh ut turpis dictum sagittis. Aliquam vel velit a elit auctor sollicitudin. Nam vel dui vel neque lacinia pretium. Quisque nunc erat, venenatis id, volutpat ut, scelerisque sed, diam. Mauris ante. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec mattis. Morbi dignissim sollicitudin libero. Nulla lorem.
@@ -0,0 +1,40 @@
1
+ ---
2
+ title: <%= title %>
3
+ created_at: <%= Time.now.to_y %>
4
+ author: You
5
+ company: Company
6
+ copyright: Creative Commons
7
+ filter:
8
+ - erb
9
+ - textile
10
+ - slides
11
+ layout: presentation
12
+ ---
13
+ h1. Presentation Title
14
+
15
+ Clever introductory text that will grab the audience's attention.
16
+
17
+
18
+ h1. Title of the First Slide
19
+
20
+ A little more build up before really getting into the meat of it.
21
+
22
+
23
+ h1. Title of the Second Slide
24
+
25
+ Finally, some code!
26
+
27
+ <%% uv :lang => 'ruby', :line_numbers => false do -%>
28
+ class EnglishMajor
29
+ def supercilious
30
+ 'behaving or looking as though one thinks one is superior to others'
31
+ end
32
+ end
33
+ <%% end -%>
34
+
35
+
36
+ h1. The Final Slide
37
+
38
+ And that about sums it up!
39
+
40
+ Thanks for visiting
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: <%= title %>
3
+ created_at: <%= Time.now.to_y %>
4
+ author: Your Name
5
+ filter:
6
+ - textile
7
+ layout: tumblog/post
8
+ tumblog_type: conversation
9
+ ---
10
+ * %(label)me :% Why did the chicken cross the road?
11
+ * %(label)Buddha :% If you ask this question, you deny your own chicken nature.
12
+ * %(label)Darwin :% Chickens, over great periods of time, have been naturally selected in such a way that they are now genetically predisposed to cross roads.