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,222 @@
1
+ ---
2
+ title: Meta Information Reference
3
+ ---
4
+ # Meta Information Reference
5
+
6
+ Following is a list of all the meta information items that are used in one way or another by an
7
+ extension, be it a source handler, a tag or any other extension. Each meta information description
8
+ follows the same pattern:
9
+
10
+ * First the type of the value and an example value are listed.
11
+ * Then the paths for which this item is valid are listed.
12
+ * And at last follows a detailed description.
13
+
14
+
15
+ {:miref: .meta-information-ref}
16
+
17
+ ### author
18
+
19
+ {:miref}
20
+ * String: `Thomas Leitner`
21
+ * Any
22
+
23
+ Sets the author of the path. This information is used, for example, by Webgen::SourceHandler::Feed.
24
+
25
+ ### author\_url
26
+
27
+ {:miref}
28
+ * String: `http://webgen.rubyforge.org`
29
+ * Any where `author` is also set
30
+
31
+ Sets the homepage of the author of the path. This information is used, for example, by
32
+ Webgen::SourceHandler::Feed and normally only when `author` is also set.
33
+
34
+ ### blocks
35
+
36
+ {:miref}
37
+ * Hash of Hashes: `\{default: {pipeline:textile}, 1: {name: content, pipeline:maruku,erb,tags}}`
38
+ * Files in Webgen Page Format
39
+
40
+ Specifies the default names and additional options for the blocks. The special key `default` is used
41
+ to set default options for all blocks. Specific options for (or the name of) a block can be set by
42
+ using the block index as key (numbering starts from one).
43
+
44
+ ### change\_freq
45
+
46
+ {:miref}
47
+ * String: `hourly`
48
+ * Any
49
+
50
+ Sets the change frequency of the page. This information is used, for example, by the sitemap source
51
+ handler. You can use the following values for this key: `hourly, daily, weekly, monthly, yearly,
52
+ never`.
53
+
54
+ ### created\_at
55
+
56
+ {:miref}
57
+ * Time: `2008-08-14 10:25:34 +02:00`
58
+ * Any
59
+
60
+ Sets the time when the path was created. This information cannot automatically be derived for paths
61
+ provided by Webgen::Source::FileSystem, so this has to be set manually.
62
+
63
+ > Note that the value needs to be a valid [YAML timestamp](http://yaml.org/type/timestamp.html) and
64
+ > needs to include the time part.
65
+ {.information}
66
+
67
+ ### draft
68
+
69
+ {:miref}
70
+ * Boolean: `true`
71
+ * Any
72
+
73
+ If this meta information is set on a path, no node will be created from it. This is useful to add
74
+ content to a website which should only be used later on.
75
+
76
+ ### fragments\_in\_menu
77
+
78
+ {:miref}
79
+ * Boolean: `false`
80
+ * Page files
81
+
82
+ Specifies if the fragment nodes of the page file should be in the menu.
83
+
84
+ ### index\_path
85
+
86
+ {:miref}
87
+ * String: `myindex.html`
88
+ * Directories
89
+
90
+ Sets the directory index path for the directory overriding the default value.
91
+
92
+ ### in\_menu
93
+
94
+ {:miref}
95
+ * Boolean: `true`
96
+ * Any
97
+
98
+ Specifies if the path should appear in menus.
99
+
100
+ ### kind
101
+
102
+ {:miref}
103
+ * String: `page`
104
+ * Any
105
+
106
+ Specifies the kind of the path. Some source handlers define a default value for this meta
107
+ information for nodes created by them.
108
+
109
+ ### lang
110
+
111
+ {:miref}
112
+ * String: `de`
113
+ * Page files
114
+
115
+ Sets the language for the path. Has to be a valid ISO-639-1/2 character code for the language. This
116
+ meta information needs to be set before a node gets created.
117
+
118
+ ### link\_attrs
119
+
120
+ {:miref}
121
+ * Hash: `\{title: Hallo, class: extra}`
122
+ * Any
123
+
124
+ Specifies additional attribute-value pairs (in form of a Hash) that should be added to a link to the
125
+ path.
126
+
127
+ ### modified\_at
128
+
129
+ {:miref}
130
+ * Time: `2008-08-14 10:25:34 +02:00`
131
+ * Any
132
+
133
+ Sets the time when the path was last modified. This information is automatically set for paths
134
+ provided by Webgen::Source::FileSystem (the file modification is used) but can be overridden by
135
+ setting it manually. If not set to a valid time, the time when webgen is executed is used for this
136
+ meta information.
137
+
138
+ > Note that the value needs to be a valid [YAML timestamp](http://yaml.org/type/timestamp.html) and
139
+ > needs to include the time part.
140
+ {.information}
141
+
142
+ ### no\_output
143
+
144
+ {:miref}
145
+ * Boolean: `true`
146
+ * Any
147
+
148
+ Specifies whether an output path for the node should be written or not. This differs from `draft`
149
+ that a node for the path gets created nonetheless.
150
+
151
+ ### omit\_index\_path
152
+
153
+ {:miref}
154
+ * Boolean: `false`
155
+ * Index paths
156
+
157
+ Controls whether the index path should appear in a breadcrumb trail despite the setting of the
158
+ `tag.breadcrumbtrail.omit_index_path` option.
159
+
160
+ ### output\_path\_style
161
+
162
+ {:miref}
163
+ * Array: `[:parent, :cnbase, [., :lang], .html]`
164
+ * Any
165
+
166
+ Sets a custom output path style for the specified path. The basename is substituted for the value
167
+ `:cnbase` and the language for the value `:lang`. Strings are used verbatim. If `:lang` is specified
168
+ in a sub-array, the whole sub-array is omitted, if the configuration option
169
+ `sourcehandler.default_lang_in_output_path` is false. For more and detailed information, have look
170
+ at the [output path creation section]({relocatable: manual.html#source-output}) of the manual!
171
+
172
+ > This meta information has to be set BEFORE a node gets created. Setting this value is therefore
173
+ > only useful, for example, in the `paths` block of a meta information backing file.
174
+ {.important}
175
+
176
+ ### priority
177
+
178
+ {:miref}
179
+ * Float: `0.5`
180
+ * Any
181
+
182
+ Specifies the priority of this file in respect to all the other files of the website. This
183
+ information is used, for example, by the sitemap source handler.
184
+
185
+ ### routed\_title
186
+
187
+ {:miref}
188
+ * String: `Image Directory`
189
+ * Any
190
+
191
+ Only used if set on a directory index path; specifies the title of the directory for which it is the
192
+ index path. If this meta information is not specified, the title of the directory will be used
193
+ instead.
194
+
195
+ ### sort\_info
196
+
197
+ {:miref}
198
+ * Integer or String: `15`
199
+ * Any
200
+
201
+ Sets the sort information for the path. Any String or Integer value can be used here. When two nodes
202
+ are compared using this information and both have Integers, then an Integer comparision is
203
+ done. Otherwise a String comparision is done.
204
+
205
+ Setting a String value is useful, for example, for specifying dates as sort information.
206
+
207
+ ### template
208
+
209
+ {:miref}
210
+ * String or null: `my.template` or `~`
211
+ * Page/Template files
212
+
213
+ Sets the template for the page/template file overriding the default value. If set to null
214
+ (i.e. `~`), no template is used for the page/template file!
215
+
216
+ ### title
217
+
218
+ {:miref}
219
+ * String: `New Title`
220
+ * Any
221
+
222
+ Sets the title for the path.
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: Webgen::Source::FileSystem
3
+ ---
4
+ ## Description
5
+
6
+ This is the default source extension used when creating a new webgen website. It uses files that
7
+ match a certain glob (default value for the glob is to match all files) under a specific directory.
8
+
9
+ > The default configuration for a new website uses all files under the `src` directory.
10
+ {.information}
11
+
12
+ The first parameter for the file system source is the directory under which the to-be-used files are
13
+ and the second, optional, parameter specifies a glob (see [Dir.glob]).
14
+
15
+ [Dir.glob]: http://ruby-doc.org/core/classes/Dir.html#M002375
16
+
17
+ ## Examples
18
+
19
+ The used sources can be specified via the [`sources` configuration option]({relocatable:
20
+ ../reference_configuration.html#sources}), so each of the examples below can be specified in the
21
+ `config.yaml` file.
22
+
23
+ 1. The default configuration: all files under the `src` folder of the website directory
24
+
25
+ sources: [[/, Webgen::Source::FileSystem, src]]
26
+
27
+ 2. The default configuration and additionally all files under a `misc` directory:
28
+
29
+ sources:
30
+ - [/, Webgen::Source::FileSystem, src]
31
+ - [/, Webgen::Source::FileSystem, misc]
32
+
33
+ 3. The default configuration and mounting all image files from an external directory under the
34
+ `/images/` directory:
35
+
36
+ sources:
37
+ - [/, Webgen::Source::FileSystem, src]
38
+ - [/images/, Webgen::Source::FileSystem, /media/storage/pictures, **/*.jpg]
39
+
@@ -0,0 +1,40 @@
1
+ ---
2
+ title: Webgen::Source::TarArchive
3
+ ---
4
+ ## Description
5
+
6
+ The tar archive source can be used to include the files from a (possibly gzipped) tar archive. The
7
+ used archive can be stored locally on the file system but it is also possible to use archives
8
+ accessible via the http(s) and ftp protcols.
9
+
10
+ > This extension is only available if you have installed the [archive-tar-minitar][1] library. The
11
+ > preferred way to do this is via Rubygems:
12
+ >
13
+ > gem install archive-tar-minitar
14
+ {.warning}
15
+
16
+ The first parameter for the tar archive source is the URL of the archive and the second, optional,
17
+ parameter specifies a glob (see [File.fnmatch]) for selecting the to-be-used files/directories in the
18
+ tar archive.
19
+
20
+ [File.fnmatch]: http://ruby-doc.org/core/classes/File.html#M002603
21
+ [1]: http://raa.ruby-lang.org/project/minitar/
22
+
23
+ ## Examples
24
+
25
+ The used sources can be specified via the [`sources` configuration option]({relocatable:
26
+ ../reference_configuration.html#sources}), so each of the examples below can be specified in the
27
+ `config.yaml` file.
28
+
29
+ 1. Using all files/directories from a local tar archive in addition the default configuration:
30
+
31
+ sources:
32
+ - [/, Webgen::Source::FileSystem, src]
33
+ - [/, Webgen::Source::TarArchive, archive.tar]
34
+
35
+ 2. Using images stored in a remote gzipped tar archive in addition to the default configuration:
36
+
37
+ sources:
38
+ - [/, Webgen::Source::FileSystem, src]
39
+ - [/, Webgen::Source::TarArchive, http://www.example.com/archive/data.tgz, **/*.jpg]
40
+
@@ -0,0 +1,21 @@
1
+ ---
2
+ template: extensions.template
3
+ --- name:summary pipeline:erb,tags,maruku,blocks
4
+ <%
5
+ patterns = context.website.config['sourcehandler.patterns'][context.content_node['title']]
6
+ if patterns
7
+ %>
8
+ This source handler operates on paths that match one of the following path patterns (see the [path pattern documentation]({relocatable: manual.html#source-pathpattern}) for more information): `<%= patterns.join(', ') %>`
9
+ <% end %>
10
+
11
+ <%
12
+ meta_info = context.website.config['sourcehandler.default_meta_info'][context.content_node['title']]
13
+ if meta_info
14
+ %>
15
+ Following is the default meta information set on any node created by this source handler:
16
+ <pre>
17
+ <%= meta_info.to_yaml.gsub(/^---/, '').strip %>
18
+ </pre>
19
+ <% end %>
20
+ --- name:content
21
+ <webgen:block name='content' />
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: Webgen::SourceHandler::Copy
3
+ ---
4
+ ## Description
5
+
6
+ This source handler copies files from the source to the output directory, optionally running a
7
+ content processor over the content. It is useful, for example, for CSS stylesheets, javascript files
8
+ and images.
9
+
10
+ It decides using the file extension if a content processor should be used and which one. If the
11
+ short name of a content processor is the first part of the file extension, the file is processed by
12
+ this content processor and the first part is removed from the file extension. Otherwise no
13
+ processing is done at all. For example, a file named `hello.jpg` just gets copied verbatimly but a
14
+ file named `usage.erb.html` gets preprocessed by the `erb` content processor and written to a file
15
+ named `usage.html`. As you can see in this example, the processor name gets stripped from the file
16
+ extension.
17
+
18
+ If you want to use a specific content processor for processing a file, have a look at its
19
+ documentation page which shows the unique short name that needs to be used in the file extension.
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: Webgen::SourceHandler::Directory
3
+ ---
4
+ ## Description
5
+
6
+ The directory handler is used for handling directories, ie. it creates the target directories.
7
+ Additionally an index path for each directory can be specified which is used instead of the plain
8
+ directory index for displaying purposes. This means that when the directory path is specified
9
+ (e.g. by Webgen::Tag::Relocatable) the index path is returned.
10
+
11
+ The name of the index path is specified with the meta information `index_path` which is set to
12
+ `index.html` by default. This meta information needs to be set directly on the directory node (for
13
+ example, via a meta information backing file).
14
+
15
+ The title for a directory can be set via the `title` meta information on the directory itself.
16
+ However, if the directory has an index path, the meta information `routed_title` of the index path
17
+ is used for the directory title. This enables webgen to provide correctly localized directory names.
18
+
19
+ Normally, webgen shows a warning if it could not find the directory index path for a directory.
20
+ However, there are most certainly directories which should not have an index path, for example, a
21
+ directory containing only images. To prevent webgen from displaying warnings for such directories,
22
+ you can set a null index path using a meta information backing file:
23
+
24
+ dirWithOnlyImages:
25
+ index_path: ~
26
+
27
+ This will prevent webgen from showing warnings because you explicitly define a null index path.
@@ -0,0 +1,105 @@
1
+ ---
2
+ title: Webgen::SourceHandler::Feed
3
+ ---
4
+ ## Description
5
+
6
+ This source handler automatically generates an atom or RSS feed for a set of files from a file in
7
+ [Webgen Page Format]({relocatable: ../webgen_page_format.html}) (the format which is also used for
8
+ page files).
9
+
10
+ > This extension is only available if you have installed the [feedtools][1] library. The preferred
11
+ > way to do this is via Rubygems:
12
+ >
13
+ > gem install feedtools
14
+ {.warning}
15
+
16
+ The following meta information keys are supported:
17
+
18
+ * `entries` (MANDATORY)
19
+
20
+ A LCN pattern (or an array of LCN patterns) which specify the page files that should be
21
+ used. Other matched files are excluded from the list.
22
+
23
+ > Be aware that if you want to include a single file or files in a specific language only you
24
+ > need to include the language part since this is a LCN and not a CN pattern, eg. `mypage.html`
25
+ > won't work but `mypage.en.html` will!
26
+ {.information}
27
+
28
+ * `number_of_entries` (OPTIONAL)
29
+
30
+ The number of entries that should be included in the feed. Defaults to 10.
31
+
32
+ * `atom` (OPTIONAL)
33
+
34
+ An atom feed is generated if this key is set to `true`. Defaults to `true`.
35
+
36
+ * `rss` (OPTIONAL)
37
+
38
+ A RSS feed is generated if this key is set to `true`. Defaults to `true`.
39
+
40
+ * `rss_version` (OPTIONAL)
41
+
42
+ The RSS version that should be used for generating the RSS feed. Defaults to `2.0`.
43
+
44
+ * `site_url` (MANDATORY)
45
+
46
+ The base url of the website for which the feed is generated.
47
+
48
+ * `author` (MANDATORY)
49
+
50
+ Specifies the author of the feed.
51
+
52
+ * `author_url` (OPTIONAL)
53
+
54
+ Specifies the URL of the homepage of the author.
55
+
56
+ * `title` (MANDATORY)
57
+
58
+ The title of the feed.
59
+
60
+ * `description` (OPTIONAL)
61
+
62
+ A short description of the feed.
63
+
64
+ * `created_at` (OPTIONAL)
65
+
66
+ The time at which this feed was created. Defaults to the current time if not set. Has the same
67
+ format as the meta information `created_at`.
68
+
69
+ * `content_block_name` (OPTIONAL)
70
+
71
+ The name of the block that should be used for the content of the feed entries. If not specified
72
+ the name `content` is used. Be aware that each page file that can appear in the feed needs to
73
+ have such a block!
74
+
75
+ The following meta information keys of page files are used if they are specified:
76
+
77
+ * `created_at`
78
+
79
+ The time at which the page file was created, used as the publication time.
80
+
81
+ * `modified_at`
82
+
83
+ The time at which the page file was last modified, used as the time at which this feed entry was
84
+ updated.
85
+
86
+ > This is the field that is used to sort the entries.
87
+ {.information}
88
+
89
+ * `title`
90
+
91
+ The title of the page file, used as title of the feed entry.
92
+
93
+ * `author`
94
+
95
+ The name of the author of the page file, used as the author of the feed entry.
96
+
97
+ * `author_url`
98
+
99
+ The URL of the homepage of the author. Only used if the `author` meta information is also set.
100
+
101
+ The default implementation supports the generation of atom and RSS feeds. You can override the
102
+ default generation mechanism by adding an `atom_template` and/or `rss_template` block in the feed
103
+ file which are then used to generate the atom or the RSS feed respectively.
104
+
105
+ [1]: http://sporkmonger.com/projects/feedtools