thewoolleyman-webgen 0.5.8.20090419

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. data/AUTHORS +8 -0
  2. data/COPYING +10 -0
  3. data/GPL +340 -0
  4. data/Rakefile +334 -0
  5. data/THANKS +18 -0
  6. data/bin/webgen +12 -0
  7. data/data/webgen/resources.yaml +3 -0
  8. data/data/webgen/webgui/controller/main.rb +135 -0
  9. data/data/webgen/webgui/overrides/win32console.rb +0 -0
  10. data/data/webgen/webgui/public/css/jquery.autocomplete.css +50 -0
  11. data/data/webgen/webgui/public/css/ramaze_error.css +90 -0
  12. data/data/webgen/webgui/public/css/style.css +55 -0
  13. data/data/webgen/webgui/public/img/headerbg.jpg +0 -0
  14. data/data/webgen/webgui/public/img/webgen_logo.png +0 -0
  15. data/data/webgen/webgui/public/js/jquery.autocomplete.js +15 -0
  16. data/data/webgen/webgui/public/js/jquery.js +32 -0
  17. data/data/webgen/webgui/view/create_website.xhtml +22 -0
  18. data/data/webgen/webgui/view/error.xhtml +64 -0
  19. data/data/webgen/webgui/view/index.xhtml +22 -0
  20. data/data/webgen/webgui/view/manage_website.xhtml +18 -0
  21. data/data/webgen/webgui/view/page.xhtml +40 -0
  22. data/data/webgen/website_skeleton/README +10 -0
  23. data/data/webgen/website_skeleton/Rakefile +40 -0
  24. data/data/webgen/website_skeleton/config.yaml +17 -0
  25. data/data/webgen/website_skeleton/ext/init.rb +10 -0
  26. data/data/webgen/website_styles/1024px/README +13 -0
  27. data/data/webgen/website_styles/1024px/src/default.css +188 -0
  28. data/data/webgen/website_styles/1024px/src/default.template +60 -0
  29. data/data/webgen/website_styles/1024px/src/images/background.gif +0 -0
  30. data/data/webgen/website_styles/andreas00/README +13 -0
  31. data/data/webgen/website_styles/andreas00/src/default.css +290 -0
  32. data/data/webgen/website_styles/andreas00/src/default.template +60 -0
  33. data/data/webgen/website_styles/andreas00/src/images/bg.gif +0 -0
  34. data/data/webgen/website_styles/andreas00/src/images/front.jpg +0 -0
  35. data/data/webgen/website_styles/andreas00/src/images/menubg.gif +0 -0
  36. data/data/webgen/website_styles/andreas00/src/images/menubg2.gif +0 -0
  37. data/data/webgen/website_styles/andreas01/README +14 -0
  38. data/data/webgen/website_styles/andreas01/src/default.css +310 -0
  39. data/data/webgen/website_styles/andreas01/src/default.template +62 -0
  40. data/data/webgen/website_styles/andreas01/src/images/bg.gif +0 -0
  41. data/data/webgen/website_styles/andreas01/src/images/front.jpg +0 -0
  42. data/data/webgen/website_styles/andreas01/src/print.css +35 -0
  43. data/data/webgen/website_styles/andreas03/README +14 -0
  44. data/data/webgen/website_styles/andreas03/src/default.css +223 -0
  45. data/data/webgen/website_styles/andreas03/src/default.template +58 -0
  46. data/data/webgen/website_styles/andreas03/src/images/bodybg.png +0 -0
  47. data/data/webgen/website_styles/andreas03/src/images/contbg.png +0 -0
  48. data/data/webgen/website_styles/andreas03/src/images/footerbg.png +0 -0
  49. data/data/webgen/website_styles/andreas03/src/images/gradient1.png +0 -0
  50. data/data/webgen/website_styles/andreas03/src/images/gradient2.png +0 -0
  51. data/data/webgen/website_styles/andreas04/README +15 -0
  52. data/data/webgen/website_styles/andreas04/src/default.css +290 -0
  53. data/data/webgen/website_styles/andreas04/src/default.template +81 -0
  54. data/data/webgen/website_styles/andreas04/src/images/blinkarrow.gif +0 -0
  55. data/data/webgen/website_styles/andreas04/src/images/bodybg.png +0 -0
  56. data/data/webgen/website_styles/andreas04/src/images/contentbg.png +0 -0
  57. data/data/webgen/website_styles/andreas04/src/images/entrybg.png +0 -0
  58. data/data/webgen/website_styles/andreas04/src/images/flash.gif +0 -0
  59. data/data/webgen/website_styles/andreas04/src/images/flash2.gif +0 -0
  60. data/data/webgen/website_styles/andreas04/src/images/globe.gif +0 -0
  61. data/data/webgen/website_styles/andreas04/src/images/globebottom.gif +0 -0
  62. data/data/webgen/website_styles/andreas04/src/images/linkarrow.gif +0 -0
  63. data/data/webgen/website_styles/andreas04/src/images/menuhover.png +0 -0
  64. data/data/webgen/website_styles/andreas05/README +14 -0
  65. data/data/webgen/website_styles/andreas05/src/default.css +33 -0
  66. data/data/webgen/website_styles/andreas05/src/default.template +40 -0
  67. data/data/webgen/website_styles/andreas05/src/images/bodybg.gif +0 -0
  68. data/data/webgen/website_styles/andreas05/src/images/front.png +0 -0
  69. data/data/webgen/website_styles/andreas06/README +14 -0
  70. data/data/webgen/website_styles/andreas06/src/default.css +354 -0
  71. data/data/webgen/website_styles/andreas06/src/default.template +70 -0
  72. data/data/webgen/website_styles/andreas06/src/images/bodybg.gif +0 -0
  73. data/data/webgen/website_styles/andreas06/src/images/boxbg.gif +0 -0
  74. data/data/webgen/website_styles/andreas06/src/images/greypx.gif +0 -0
  75. data/data/webgen/website_styles/andreas06/src/images/header.jpg +0 -0
  76. data/data/webgen/website_styles/andreas06/src/images/innerbg.gif +0 -0
  77. data/data/webgen/website_styles/andreas06/src/images/leaves.jpg +0 -0
  78. data/data/webgen/website_styles/andreas06/src/images/tabs.gif +0 -0
  79. data/data/webgen/website_styles/andreas07/README +15 -0
  80. data/data/webgen/website_styles/andreas07/src/browserfix.css +7 -0
  81. data/data/webgen/website_styles/andreas07/src/default.css +92 -0
  82. data/data/webgen/website_styles/andreas07/src/default.template +42 -0
  83. data/data/webgen/website_styles/andreas07/src/images/bodybg.gif +0 -0
  84. data/data/webgen/website_styles/andreas07/src/images/sidebarbg.gif +0 -0
  85. data/data/webgen/website_styles/andreas08/README +14 -0
  86. data/data/webgen/website_styles/andreas08/src/default.css +224 -0
  87. data/data/webgen/website_styles/andreas08/src/default.template +51 -0
  88. data/data/webgen/website_styles/andreas09/README +14 -0
  89. data/data/webgen/website_styles/andreas09/src/default.css +308 -0
  90. data/data/webgen/website_styles/andreas09/src/default.template +68 -0
  91. data/data/webgen/website_styles/andreas09/src/images/bodybg-black.jpg +0 -0
  92. data/data/webgen/website_styles/andreas09/src/images/bodybg-green.jpg +0 -0
  93. data/data/webgen/website_styles/andreas09/src/images/bodybg-orange.jpg +0 -0
  94. data/data/webgen/website_styles/andreas09/src/images/bodybg-purple.jpg +0 -0
  95. data/data/webgen/website_styles/andreas09/src/images/bodybg-red.jpg +0 -0
  96. data/data/webgen/website_styles/andreas09/src/images/bodybg.jpg +0 -0
  97. data/data/webgen/website_styles/andreas09/src/images/footerbg.jpg +0 -0
  98. data/data/webgen/website_styles/andreas09/src/images/menuhover-black.jpg +0 -0
  99. data/data/webgen/website_styles/andreas09/src/images/menuhover-green.jpg +0 -0
  100. data/data/webgen/website_styles/andreas09/src/images/menuhover-orange.jpg +0 -0
  101. data/data/webgen/website_styles/andreas09/src/images/menuhover-purple.jpg +0 -0
  102. data/data/webgen/website_styles/andreas09/src/images/menuhover-red.jpg +0 -0
  103. data/data/webgen/website_styles/andreas09/src/images/menuhover.jpg +0 -0
  104. data/data/webgen/website_styles/simple/README +6 -0
  105. data/data/webgen/website_styles/simple/src/default.css +84 -0
  106. data/data/webgen/website_styles/simple/src/default.template +36 -0
  107. data/data/webgen/website_templates/default/README +6 -0
  108. data/data/webgen/website_templates/default/src/index.page +8 -0
  109. data/data/webgen/website_templates/project/README +5 -0
  110. data/data/webgen/website_templates/project/src/about.page +12 -0
  111. data/data/webgen/website_templates/project/src/download.page +15 -0
  112. data/data/webgen/website_templates/project/src/features.page +8 -0
  113. data/data/webgen/website_templates/project/src/index.page +9 -0
  114. data/data/webgen/website_templates/project/src/screenshots.page +18 -0
  115. data/doc/contentprocessor.template +11 -0
  116. data/doc/contentprocessor/blocks.page +129 -0
  117. data/doc/contentprocessor/builder.page +80 -0
  118. data/doc/contentprocessor/erb.page +59 -0
  119. data/doc/contentprocessor/erubis.page +46 -0
  120. data/doc/contentprocessor/fragments.page +25 -0
  121. data/doc/contentprocessor/haml.page +47 -0
  122. data/doc/contentprocessor/maruku.page +41 -0
  123. data/doc/contentprocessor/rdiscount.page +37 -0
  124. data/doc/contentprocessor/rdoc.page +36 -0
  125. data/doc/contentprocessor/redcloth.page +39 -0
  126. data/doc/contentprocessor/sass.page +31 -0
  127. data/doc/contentprocessor/tags.page +73 -0
  128. data/doc/extensions.metainfo +29 -0
  129. data/doc/extensions.page +16 -0
  130. data/doc/extensions.template +17 -0
  131. data/doc/faq.page +219 -0
  132. data/doc/getting_started.page +135 -0
  133. data/doc/index.page +65 -0
  134. data/doc/manual.page +589 -0
  135. data/doc/reference_configuration.page +959 -0
  136. data/doc/reference_metainfo.page +222 -0
  137. data/doc/source/filesystem.page +39 -0
  138. data/doc/source/tararchive.page +40 -0
  139. data/doc/sourcehandler.template +21 -0
  140. data/doc/sourcehandler/copy.page +19 -0
  141. data/doc/sourcehandler/directory.page +27 -0
  142. data/doc/sourcehandler/feed.page +105 -0
  143. data/doc/sourcehandler/metainfo.page +41 -0
  144. data/doc/sourcehandler/page.page +14 -0
  145. data/doc/sourcehandler/sitemap.page +46 -0
  146. data/doc/sourcehandler/template.page +45 -0
  147. data/doc/sourcehandler/virtual.page +49 -0
  148. data/doc/tag.template +25 -0
  149. data/doc/tag/breadcrumbtrail.page +40 -0
  150. data/doc/tag/coderay.page +49 -0
  151. data/doc/tag/date.page +31 -0
  152. data/doc/tag/executecommand.page +26 -0
  153. data/doc/tag/includefile.page +32 -0
  154. data/doc/tag/langbar.page +44 -0
  155. data/doc/tag/link.page +44 -0
  156. data/doc/tag/menu.page +106 -0
  157. data/doc/tag/metainfo.page +29 -0
  158. data/doc/tag/relocatable.page +38 -0
  159. data/doc/tag/sitemap.page +31 -0
  160. data/doc/tag/tikz.page +158 -0
  161. data/doc/upgrading.page +139 -0
  162. data/doc/webgen_page_format.page +129 -0
  163. data/lib/webgen/blackboard.rb +78 -0
  164. data/lib/webgen/cache.rb +87 -0
  165. data/lib/webgen/cli.rb +124 -0
  166. data/lib/webgen/cli/apply_command.rb +64 -0
  167. data/lib/webgen/cli/create_command.rb +66 -0
  168. data/lib/webgen/cli/run_command.rb +22 -0
  169. data/lib/webgen/cli/utils.rb +88 -0
  170. data/lib/webgen/cli/webgui_command.rb +72 -0
  171. data/lib/webgen/common.rb +21 -0
  172. data/lib/webgen/common/sitemap.rb +83 -0
  173. data/lib/webgen/configuration.rb +153 -0
  174. data/lib/webgen/contentprocessor.rb +99 -0
  175. data/lib/webgen/contentprocessor/blocks.rb +60 -0
  176. data/lib/webgen/contentprocessor/builder.rb +30 -0
  177. data/lib/webgen/contentprocessor/context.rb +89 -0
  178. data/lib/webgen/contentprocessor/erb.rb +28 -0
  179. data/lib/webgen/contentprocessor/erubis.rb +40 -0
  180. data/lib/webgen/contentprocessor/fragments.rb +25 -0
  181. data/lib/webgen/contentprocessor/haml.rb +30 -0
  182. data/lib/webgen/contentprocessor/maruku.rb +20 -0
  183. data/lib/webgen/contentprocessor/rdiscount.rb +17 -0
  184. data/lib/webgen/contentprocessor/rdoc.rb +19 -0
  185. data/lib/webgen/contentprocessor/redcloth.rb +17 -0
  186. data/lib/webgen/contentprocessor/sass.rb +20 -0
  187. data/lib/webgen/contentprocessor/tags.rb +136 -0
  188. data/lib/webgen/coreext.rb +13 -0
  189. data/lib/webgen/default_config.rb +215 -0
  190. data/lib/webgen/languages.rb +589 -0
  191. data/lib/webgen/loggable.rb +25 -0
  192. data/lib/webgen/logger.rb +97 -0
  193. data/lib/webgen/node.rb +391 -0
  194. data/lib/webgen/output.rb +82 -0
  195. data/lib/webgen/output/filesystem.rb +69 -0
  196. data/lib/webgen/page.rb +153 -0
  197. data/lib/webgen/path.rb +194 -0
  198. data/lib/webgen/source.rb +54 -0
  199. data/lib/webgen/source/filesystem.rb +61 -0
  200. data/lib/webgen/source/resource.rb +44 -0
  201. data/lib/webgen/source/stacked.rb +55 -0
  202. data/lib/webgen/source/tararchive.rb +73 -0
  203. data/lib/webgen/sourcehandler.rb +226 -0
  204. data/lib/webgen/sourcehandler/base.rb +248 -0
  205. data/lib/webgen/sourcehandler/copy.rb +43 -0
  206. data/lib/webgen/sourcehandler/directory.rb +36 -0
  207. data/lib/webgen/sourcehandler/feed.rb +117 -0
  208. data/lib/webgen/sourcehandler/fragment.rb +68 -0
  209. data/lib/webgen/sourcehandler/memory.rb +43 -0
  210. data/lib/webgen/sourcehandler/metainfo.rb +128 -0
  211. data/lib/webgen/sourcehandler/page.rb +59 -0
  212. data/lib/webgen/sourcehandler/sitemap.rb +60 -0
  213. data/lib/webgen/sourcehandler/template.rb +66 -0
  214. data/lib/webgen/sourcehandler/virtual.rb +110 -0
  215. data/lib/webgen/tag.rb +27 -0
  216. data/lib/webgen/tag/base.rb +170 -0
  217. data/lib/webgen/tag/breadcrumbtrail.rb +70 -0
  218. data/lib/webgen/tag/coderay.rb +31 -0
  219. data/lib/webgen/tag/date.rb +18 -0
  220. data/lib/webgen/tag/executecommand.rb +30 -0
  221. data/lib/webgen/tag/includefile.rb +42 -0
  222. data/lib/webgen/tag/langbar.rb +52 -0
  223. data/lib/webgen/tag/link.rb +26 -0
  224. data/lib/webgen/tag/menu.rb +207 -0
  225. data/lib/webgen/tag/metainfo.rb +25 -0
  226. data/lib/webgen/tag/relocatable.rb +54 -0
  227. data/lib/webgen/tag/sitemap.rb +41 -0
  228. data/lib/webgen/tag/tikz.rb +119 -0
  229. data/lib/webgen/tree.rb +90 -0
  230. data/lib/webgen/version.rb +8 -0
  231. data/lib/webgen/webgentask.rb +152 -0
  232. data/lib/webgen/website.rb +342 -0
  233. data/lib/webgen/websiteaccess.rb +31 -0
  234. data/lib/webgen/websitemanager.rb +127 -0
  235. data/man/man1/webgen.1 +73 -0
  236. data/misc/default.css +384 -0
  237. data/misc/default.template +75 -0
  238. data/misc/htmldoc.metainfo +25 -0
  239. data/misc/htmldoc.virtual +5 -0
  240. data/misc/images/arrow.gif +0 -0
  241. data/misc/images/error.png +0 -0
  242. data/misc/images/headerbg.jpg +0 -0
  243. data/misc/images/important.png +0 -0
  244. data/misc/images/information.png +0 -0
  245. data/misc/images/quote.gif +0 -0
  246. data/misc/images/warning.png +0 -0
  247. data/setup.rb +1585 -0
  248. data/test/helper.rb +45 -0
  249. data/test/test_blackboard.rb +60 -0
  250. data/test/test_cache.rb +59 -0
  251. data/test/test_cli.rb +21 -0
  252. data/test/test_common.rb +18 -0
  253. data/test/test_common_sitemap.rb +58 -0
  254. data/test/test_configuration.rb +68 -0
  255. data/test/test_contentprocessor.rb +33 -0
  256. data/test/test_contentprocessor_blocks.rb +68 -0
  257. data/test/test_contentprocessor_builder.rb +23 -0
  258. data/test/test_contentprocessor_context.rb +40 -0
  259. data/test/test_contentprocessor_erb.rb +23 -0
  260. data/test/test_contentprocessor_erubis.rb +49 -0
  261. data/test/test_contentprocessor_fragments.rb +42 -0
  262. data/test/test_contentprocessor_haml.rb +23 -0
  263. data/test/test_contentprocessor_maruku.rb +29 -0
  264. data/test/test_contentprocessor_rdiscount.rb +17 -0
  265. data/test/test_contentprocessor_rdoc.rb +18 -0
  266. data/test/test_contentprocessor_redcloth.rb +15 -0
  267. data/test/test_contentprocessor_sass.rb +22 -0
  268. data/test/test_contentprocessor_tags.rb +99 -0
  269. data/test/test_languages.rb +67 -0
  270. data/test/test_loggable.rb +32 -0
  271. data/test/test_logger.rb +94 -0
  272. data/test/test_node.rb +367 -0
  273. data/test/test_output_filesystem.rb +60 -0
  274. data/test/test_page.rb +214 -0
  275. data/test/test_path.rb +165 -0
  276. data/test/test_source_filesystem.rb +76 -0
  277. data/test/test_source_resource.rb +28 -0
  278. data/test/test_source_stacked.rb +36 -0
  279. data/test/test_source_tararchive.rb +65 -0
  280. data/test/test_sourcehandler_base.rb +123 -0
  281. data/test/test_sourcehandler_copy.rb +47 -0
  282. data/test/test_sourcehandler_directory.rb +42 -0
  283. data/test/test_sourcehandler_feed.rb +77 -0
  284. data/test/test_sourcehandler_fragment.rb +69 -0
  285. data/test/test_sourcehandler_memory.rb +44 -0
  286. data/test/test_sourcehandler_metainfo.rb +118 -0
  287. data/test/test_sourcehandler_page.rb +65 -0
  288. data/test/test_sourcehandler_sitemap.rb +49 -0
  289. data/test/test_sourcehandler_template.rb +65 -0
  290. data/test/test_sourcehandler_virtual.rb +87 -0
  291. data/test/test_tag_base.rb +85 -0
  292. data/test/test_tag_breadcrumbtrail.rb +91 -0
  293. data/test/test_tag_coderay.rb +32 -0
  294. data/test/test_tag_date.rb +18 -0
  295. data/test/test_tag_executecommand.rb +41 -0
  296. data/test/test_tag_includefile.rb +50 -0
  297. data/test/test_tag_langbar.rb +72 -0
  298. data/test/test_tag_link.rb +69 -0
  299. data/test/test_tag_menu.rb +207 -0
  300. data/test/test_tag_metainfo.rb +19 -0
  301. data/test/test_tag_relocatable.rb +59 -0
  302. data/test/test_tag_sitemap.rb +47 -0
  303. data/test/test_tag_tikz.rb +69 -0
  304. data/test/test_tree.rb +70 -0
  305. data/test/test_webgentask.rb +23 -0
  306. data/test/test_website.rb +98 -0
  307. data/test/test_websiteaccess.rb +25 -0
  308. data/test/test_websitemanager.rb +70 -0
  309. metadata +613 -0
@@ -0,0 +1,6 @@
1
+ description:
2
+ Provides a minimalistic default style. The style defines a horizontal header, a horizontal bar with
3
+ the breadcrumb trail and the language menu, then a menu on the left and a footer.
4
+
5
+ author:
6
+ Thomas Leitner
@@ -0,0 +1,84 @@
1
+ #all { background-color: #CCCCCC; }
2
+
3
+ #header {
4
+ border-bottom: 1px solid black;
5
+ padding: 1ex;
6
+ background-color: #888888;
7
+ }
8
+
9
+ #header h1 {
10
+ margin: 0ex;
11
+ font-size: 300%;
12
+ font-style: italic;
13
+ font-weight: normal;
14
+ }
15
+
16
+ #headerbar { border-bottom: 1px solid black; }
17
+ #footer { border-top: 1px solid black; }
18
+
19
+ #body {
20
+ margin-left: 250px;
21
+ margin-right: 20px;
22
+ padding: 10px;
23
+ }
24
+
25
+ #menu {
26
+ float: left;
27
+ width: 230px;
28
+ padding: 20px 0px 0px 2px;
29
+ }
30
+
31
+ .bar {
32
+ clear: both;
33
+ padding: 3px;
34
+ text-align: center;
35
+ font-size: 90%;
36
+ background-color: #AAAAAA;
37
+ }
38
+
39
+ .left, .right {
40
+ padding: 0px 1em;
41
+ }
42
+
43
+ .left {
44
+ float: left;
45
+ text-align: left;
46
+ }
47
+
48
+ .right {
49
+ float: right;
50
+ text-align: right;
51
+ }
52
+
53
+ /* styling the menu */
54
+
55
+ #menu a, #menu span {
56
+ text-decoration: none;
57
+ font-weight: bold;
58
+ font-size: 130%;
59
+ }
60
+
61
+ #menu a:hover {
62
+ text-decoration: underline;
63
+ }
64
+
65
+ #menu .webgen-menu-item-selected {
66
+ border-left: 3px solid black;
67
+ }
68
+
69
+ #menu ul {
70
+ list-style-type: none;
71
+ padding: 0px;
72
+ margin-left: 10px;
73
+ }
74
+
75
+ #menu li > ul {
76
+ font-size: 95%;
77
+ }
78
+
79
+ #menu li {
80
+ margin: 0.0em 0px;
81
+ padding: 2px 0px;
82
+ padding-left: 5px;
83
+ border-left: 3px solid #CCCCCC;
84
+ }
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{lang:}">
4
+ <head>
5
+ <title>{title: }</title>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+ <meta name="description" content="Your description goes here..." />
8
+ <meta name="keywords" content="your,keywords,goes,here" />
9
+ <meta name="author" content="Your Name" />
10
+ <meta name="generator" content="webgen - http://webgen.rubyforge.com/" />
11
+ <link href="{relocatable: default.css}" rel="stylesheet" type="text/css" />
12
+ </head>
13
+ <body>
14
+ <div id="header">
15
+ <h1>{title: }</h1>
16
+ </div>
17
+
18
+ <div id="headerbar" class="bar">
19
+ <span class="left">Location: {breadcrumb_trail: }</span>
20
+ <span class="right">Language: {langbar: }</span>
21
+ <div style="clear:both"></div>
22
+ </div>
23
+
24
+ <div id="menu">
25
+ {menu: {used_nodes: files}}
26
+ </div>
27
+
28
+ <div id="body">
29
+ <webgen:block name="content" />
30
+ </div>
31
+
32
+ <div id="footer" class="bar">
33
+ Generated by <a href="http://webgen.rubyforge.org">webgen</a> on <b>{date: }</b>
34
+ </div>
35
+ </body>
36
+ </html>
@@ -0,0 +1,6 @@
1
+ description:
2
+ This is the default website template. It only contains the basic files and is a good
3
+ starting place for any website.
4
+
5
+ author:
6
+ Thomas Leitner
@@ -0,0 +1,8 @@
1
+ ---
2
+ title: Empty index page
3
+ in_menu: true
4
+ routed_title: New Website
5
+ ---
6
+ ## Empty index file
7
+
8
+ Fill this file with your own data!!!
@@ -0,0 +1,5 @@
1
+ description:
2
+ This template provides the basic files for a website for a software project.
3
+
4
+ author:
5
+ Thomas Leitner
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: About
3
+ in_menu: true
4
+ sort_info: 10
5
+ ---
6
+ ## About Project TODO
7
+
8
+ Description of project!
9
+
10
+ ## About the Author
11
+
12
+ Enter information about yourself here!
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: Download
3
+ in_menu: true
4
+ sort_info: 30
5
+ ---
6
+ ## Download
7
+
8
+ Download link will be here!
9
+
10
+ List of dependencies:
11
+
12
+ * Dep One v. 3.3.3
13
+ * Dep Two v. 2.5.1 (optional)
14
+
15
+
@@ -0,0 +1,8 @@
1
+ ---
2
+ title: Features
3
+ in_menu: true
4
+ sort_info: 20
5
+ ---
6
+ ## Features
7
+
8
+ Here is the place where the feature list for your project should go.
@@ -0,0 +1,9 @@
1
+ ---
2
+ title: Homepage
3
+ in_menu: true
4
+ sort_info: 0
5
+ routed_title: Project TODO
6
+ ---
7
+ ## Project TODO
8
+
9
+ This is the first page your viewers will see!
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: Screenshots
3
+ in_menu: true
4
+ sort_info: 40
5
+ ---
6
+ ## Screenshots
7
+
8
+ ### Main View
9
+
10
+ Image of Main View
11
+
12
+ Description of image
13
+
14
+ ### Next image
15
+
16
+ Image
17
+
18
+ bla bla bla
@@ -0,0 +1,11 @@
1
+ ---
2
+ template: extensions.template
3
+ --- name:summary pipeline:erb,tags,maruku,blocks
4
+
5
+ As short name for the content processor (used, for example, in the `pipeline` option of a block in a
6
+ file in [Webgen Page Format]({relocatable: webgen_page_format.html})) one of the following can be
7
+ used: `<%= context.website.config['contentprocessor.map'].select {|k,v| v ==
8
+ context.content_node['title']}.map {|k,v| k}.join(', ') %>`.
9
+
10
+ --- name:content
11
+ <webgen:block name='content' />
@@ -0,0 +1,129 @@
1
+ ---
2
+ title: Webgen::ContentProcessor::Blocks
3
+ ---
4
+ ## Description
5
+
6
+ This processor replaces a special xml tag with rendered blocks. It is used, for example, in
7
+ templates to define the place where the actual page content should be.
8
+
9
+ The general syntax is as follows:
10
+
11
+ <webgen:block name='BLOCK_NAME' chain='(L)CN;(L)CN;...' node='next|first|current' notfound='ignore' />
12
+
13
+ So it is basically an XML tag with the mandatory attribute `name` and the optional attributes
14
+ `chain`, `node` and `notfound`. The attributes are explained below but first comes a small
15
+ explanation of how this tag works.
16
+
17
+ webgen uses a node chain when rendering a page file. The default node chain is automatically
18
+ determined via the `template` meta information (see [SourceHandler::Template]({relocatable:
19
+ ../sourcehandler/template.html})) and the important thing to keep in mind is that the first node in
20
+ the node chain is always the currently rendered template/page.
21
+
22
+ For example, consider a `default.template` with a block tag of `<webgen:block name='content' />` and
23
+ an `index.page` that should be rendered. This would result in a node chain of (note that the CN of a
24
+ page file has the extension `html`)
25
+
26
+ default.template ---> index.html
27
+
28
+ During the rendering of the `index.page`, the node chain like shown above is created and rendering
29
+ is started at the *first* node in the chain, in this case at `default.template`. When the block tag
30
+ is encountered, it is replaced by the block named `content`, after rendering it according to its
31
+ render pipeline, of the `index.page`. If such a block tag was not in the template, then the content
32
+ of the `index.page` file would never be inserted into the output file! The behaviour of the block
33
+ tag can be customized by using the various attributes.
34
+
35
+ Summing up: the `template` meta information is used to create a node chain which is then used by the
36
+ block tag to render the appropriate blocks.
37
+
38
+ Following is the documentation for the available attributes of the tag:
39
+
40
+ * The `name` attribute is the only mandatory attribute and it specifies the name of the block that
41
+ should be rendered in place of the block tag. If the used node (see the `node` attribute) has no
42
+ such named block, an error is raised.
43
+
44
+ * The optional attribute `chain` specifies the node chain that should be used for rendering the
45
+ block. Its value needs to be a list of (localized) canonical names of nodes separated by
46
+ semicolons that should be used as node chain. If this attribute is not specified the default node
47
+ chain is used.
48
+
49
+ * The optional attribute `node` specifies which node in the node chain should be used.
50
+
51
+ * If this attribute is not specified or its value is `next`, the next node in the node chain (i.e.
52
+ the second node) is used. If there is only one node left in the node chain that node is used.
53
+
54
+ * If the attribute has a value of `first`, then the node chain is traversed till a node is found
55
+ that has a block with the specified name. If no such node is in the node chain, an error is
56
+ raised. If the attribute `chain` is also used, then the search starts at the first node of the
57
+ node chain. Otherwise it starts at the second node.
58
+
59
+ * If the attribute has a value of `current`, the currently processed node is used (i.e. the first
60
+ node in the node chain).
61
+
62
+ > Note that the attribute `chain` is not used in this situation!
63
+ {.important}
64
+
65
+ * If the optional attribute `notfound` has a value of `ignore`, all errors that can occur are
66
+ ignored. This is especially useful when used in templates to include blocks that may not be
67
+ defined in all page files.
68
+
69
+ All this is more easily explained with examples. Assume that we have a `default.template` file, a
70
+ `page.template` file and a `my.page` file with the following contents:
71
+
72
+ The `default.template` file:
73
+
74
+ --- name:content pipeline:blocks
75
+ before default
76
+ <webgen:block name='content' />
77
+ after default 1
78
+ <webgen:block name='content' chain='page.template;my.html' />
79
+ after default 2
80
+ <webgen:block name='optional' chain='page.template;my.html' node='first' />
81
+ after default 3
82
+ <webgen:block name='invalid' notfound='ignore' />
83
+ after default 4
84
+
85
+ The `page.template` file:
86
+
87
+ --- name:content pipeline:blocks
88
+ before page 1
89
+ <webgen:block name='content' />
90
+ after page 1
91
+
92
+ And the `my.page` file:
93
+
94
+ --- name:content pipeline:
95
+ The content of the page file.
96
+ --- name:optional pipeline:
97
+ Optional content.
98
+
99
+ When `my.page` gets rendered to `my.html`, the node chain looks like this by default:
100
+
101
+ default.template ---> my.html
102
+
103
+ The first webgen block tag just inserts the rendered block named `content` of `my.page`. The second
104
+ block tag uses a custom node chain. Therefore the block named `content` of `page.template` gets
105
+ rendered using the node chain:
106
+
107
+ page.template ---> my.html
108
+
109
+ and then inserted. The third block tag uses the same custom node chain but for a block named
110
+ `optional`. This block does not exist in `page.template` but it does exist in `my.page`. Since the
111
+ `node` attribute is set to `first`, the first node `page.template` in the node chain is ignored and
112
+ the block is found in `my.page` (if the `node` attribute is not specified, an error will be raised).
113
+
114
+ The fourth block tag specifies a block name that does not occur in `my.page`. However, since the
115
+ optional attribute `notfound` is set to `ignore`, this error is ignored.
116
+
117
+ Summing up the above, the rendered file `my.html` will then look like this:
118
+
119
+ before default 1
120
+ The content of the page file.
121
+ after default 1
122
+ before page 1
123
+ The content of the page file.
124
+ after page 1
125
+ after default 2
126
+ Optional content.
127
+ after default 3
128
+
129
+ after default 4
@@ -0,0 +1,80 @@
1
+ ---
2
+ title: Webgen::ContentProcessor::Builder
3
+ ---
4
+ ## Description
5
+
6
+ This content processor can be used to programatically create XHTML/XML documents
7
+ ([Reference][1]). The top builder object is provided through the `xml` object. There are also other
8
+ objects provided by webgen available - have a look at the [erb documentation]({relocatable:
9
+ erb.html}).
10
+
11
+ > This extension is only available if you have installed the [builder][1] library. The preferred way
12
+ > to do this is via Rubygems:
13
+ >
14
+ > gem install builder
15
+ {.warning}
16
+
17
+
18
+ ## Examples
19
+
20
+ Here is a short sample of content that is valid Ruby and uses the special `xml` object:
21
+
22
+ xml.h1("This a h1 header", :id => 'myid')
23
+
24
+ xml.p do |p|
25
+ p.text! "You can just write "
26
+ p.b "your"
27
+ p.text! "paragraphs here and"
28
+ p.a("link", :href => "http://someurl.com")
29
+ p.text! "them below. This is also a"
30
+ p.i "nice"
31
+ p.text! "format!"
32
+ end
33
+
34
+ xml.blockquote(:class => 'information') do |bq|
35
+ bq.text! "Citations are easy too."
36
+ bq.text! "Really. And you can assign them attributes."
37
+ end
38
+
39
+ xml.ul do |ul|
40
+ ul.li "Lists"
41
+ ul.li "aren't"
42
+ ul.li "difficult"
43
+ ul.li "either."
44
+ end
45
+
46
+
47
+ Following is a complete example which shows how to use this extension in a page file which generates
48
+ a custom XML document (the `content` block has to be valid Ruby!):
49
+
50
+ ---
51
+ output_path_style: [:parent, :cnbase, ['.', :lang], '.xml']
52
+ title: Person Object
53
+ template: ~
54
+ --- pipeline:builder
55
+ xml.persons(:path => node.absolute_lcn) do |p|
56
+ p.person do |b|
57
+ b.firstname('Thomas')
58
+ b.lastname('Leitner')
59
+ end
60
+ p.person do |b|
61
+ b.firstname('Other first')
62
+ b.lastname('Other last')
63
+ end
64
+ end
65
+
66
+ The above will produce the following output:
67
+
68
+ <persons path="/test.xml">
69
+ <person>
70
+ <firstname>Thomas</firstname>
71
+ <lastname>Leitner</lastname>
72
+ </person>
73
+ <person>
74
+ <firstname>Other first</firstname>
75
+ <lastname>Other last</lastname>
76
+ </person>
77
+ </persons>
78
+
79
+
80
+ [1]: http://builder.rubyforge.org "Homepage of builder library"