webgen 0.5.17 → 1.0.0.beta1

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 (408) hide show
  1. data/API.rdoc +143 -0
  2. data/AUTHORS +0 -1
  3. data/COPYING +17 -8
  4. data/ChangeLog +4456 -0
  5. data/GPL +623 -289
  6. data/README.md +71 -0
  7. data/Rakefile +87 -99
  8. data/VERSION +1 -1
  9. data/bin/webgen +1 -7
  10. data/data/webgen/basic_website_template/ext/init.rb +15 -0
  11. data/data/webgen/basic_website_template/webgen.config +18 -0
  12. data/data/webgen/bundle_template_files/README.md.erb +24 -0
  13. data/data/webgen/bundle_template_files/Rakefile.erb +36 -0
  14. data/data/webgen/bundle_template_files/info.yaml.erb +16 -0
  15. data/data/webgen/bundle_template_files/init.rb.erb +1 -0
  16. data/data/webgen/passive_sources/default.metainfo +32 -0
  17. data/data/webgen/passive_sources/stylesheets/coderay-default.css +109 -118
  18. data/data/webgen/passive_sources/templates/feed.template +62 -0
  19. data/data/webgen/passive_sources/templates/sitemap.template +3 -6
  20. data/data/webgen/passive_sources/templates/tag.template +42 -0
  21. data/data/webgen/website_bundles/default/README +2 -2
  22. data/lib/webgen/blackboard.rb +15 -51
  23. data/lib/webgen/bundle/built-in-show-changes/init.rb +54 -0
  24. data/lib/webgen/bundle/built-in/init.rb +366 -0
  25. data/lib/webgen/bundle_loader.rb +126 -0
  26. data/lib/webgen/cache.rb +9 -18
  27. data/lib/webgen/cli.rb +131 -58
  28. data/lib/webgen/cli/bundle_command.rb +30 -0
  29. data/lib/webgen/cli/create_bundle_command.rb +46 -0
  30. data/lib/webgen/cli/create_command.rb +48 -60
  31. data/lib/webgen/cli/generate_command.rb +25 -0
  32. data/lib/webgen/cli/install_bundle_command.rb +34 -0
  33. data/lib/webgen/cli/list_bundle_command.rb +108 -0
  34. data/lib/webgen/cli/logger.rb +45 -0
  35. data/lib/webgen/cli/show_command.rb +30 -0
  36. data/lib/webgen/cli/show_config_command.rb +63 -0
  37. data/lib/webgen/cli/show_dependencies_command.rb +103 -0
  38. data/lib/webgen/cli/show_extensions_command.rb +74 -0
  39. data/lib/webgen/cli/utils.rb +68 -95
  40. data/lib/webgen/configuration.rb +143 -105
  41. data/lib/webgen/content_processor.rb +160 -0
  42. data/lib/webgen/content_processor/blocks.rb +96 -0
  43. data/lib/webgen/content_processor/builder.rb +25 -0
  44. data/lib/webgen/content_processor/erb.rb +25 -0
  45. data/lib/webgen/content_processor/erubis.rb +31 -0
  46. data/lib/webgen/content_processor/fragments.rb +82 -0
  47. data/lib/webgen/content_processor/haml.rb +25 -0
  48. data/lib/webgen/content_processor/html_head.rb +157 -0
  49. data/lib/webgen/content_processor/kramdown.rb +49 -0
  50. data/lib/webgen/content_processor/maruku.rb +39 -0
  51. data/lib/webgen/content_processor/r_discount.rb +21 -0
  52. data/lib/webgen/content_processor/rdoc.rb +22 -0
  53. data/lib/webgen/content_processor/redcloth.rb +23 -0
  54. data/lib/webgen/content_processor/ruby.rb +20 -0
  55. data/lib/webgen/content_processor/sass.rb +145 -0
  56. data/lib/webgen/content_processor/scss.rb +23 -0
  57. data/lib/webgen/content_processor/tags.rb +30 -0
  58. data/lib/webgen/content_processor/tidy.rb +32 -0
  59. data/lib/webgen/content_processor/tikz.rb +116 -0
  60. data/lib/webgen/content_processor/xmllint.rb +31 -0
  61. data/lib/webgen/context.rb +57 -29
  62. data/lib/webgen/context/html_head.rb +60 -0
  63. data/lib/webgen/context/nodes.rb +32 -27
  64. data/lib/webgen/context/rendering.rb +39 -0
  65. data/lib/webgen/context/webgen_tags.rb +25 -0
  66. data/lib/webgen/core_ext.rb +25 -0
  67. data/lib/webgen/destination.rb +151 -0
  68. data/lib/webgen/destination/file_system.rb +62 -0
  69. data/lib/webgen/error.rb +59 -49
  70. data/lib/webgen/extension_manager.rb +121 -0
  71. data/lib/webgen/item_tracker.rb +237 -0
  72. data/lib/webgen/item_tracker/file.rb +39 -0
  73. data/lib/webgen/item_tracker/missing_node.rb +61 -0
  74. data/lib/webgen/item_tracker/node_content.rb +40 -0
  75. data/lib/webgen/item_tracker/node_meta_info.rb +53 -0
  76. data/lib/webgen/item_tracker/nodes.rb +92 -0
  77. data/lib/webgen/logger.rb +26 -82
  78. data/lib/webgen/node.rb +122 -367
  79. data/lib/webgen/node_finder.rb +336 -0
  80. data/lib/webgen/page.rb +48 -85
  81. data/lib/webgen/path.rb +218 -156
  82. data/lib/webgen/path_handler.rb +400 -0
  83. data/lib/webgen/path_handler/base.rb +220 -0
  84. data/lib/webgen/path_handler/copy.rb +78 -0
  85. data/lib/webgen/path_handler/directory.rb +21 -0
  86. data/lib/webgen/path_handler/feed.rb +82 -0
  87. data/lib/webgen/path_handler/meta_info.rb +84 -0
  88. data/lib/webgen/path_handler/page.rb +38 -0
  89. data/lib/webgen/path_handler/page_utils.rb +79 -0
  90. data/lib/webgen/path_handler/sitemap.rb +52 -0
  91. data/lib/webgen/path_handler/template.rb +96 -0
  92. data/lib/webgen/path_handler/virtual.rb +85 -0
  93. data/lib/webgen/{webgentask.rb → rake_task.rb} +31 -27
  94. data/lib/webgen/source.rb +106 -24
  95. data/lib/webgen/source/file_system.rb +41 -0
  96. data/lib/webgen/source/stacked.rb +49 -53
  97. data/lib/webgen/source/tar_archive.rb +59 -0
  98. data/lib/webgen/tag.rb +250 -19
  99. data/lib/webgen/tag/breadcrumb_trail.rb +65 -0
  100. data/lib/webgen/tag/coderay.rb +32 -35
  101. data/lib/webgen/tag/date.rb +9 -9
  102. data/lib/webgen/tag/execute_command.rb +31 -0
  103. data/lib/webgen/tag/include_file.rb +32 -0
  104. data/lib/webgen/tag/langbar.rb +31 -47
  105. data/lib/webgen/tag/link.rb +17 -18
  106. data/lib/webgen/tag/menu.rb +27 -189
  107. data/lib/webgen/tag/meta_info.rb +31 -0
  108. data/lib/webgen/tag/relocatable.rb +48 -39
  109. data/lib/webgen/tag/tikz.rb +24 -100
  110. data/lib/webgen/task.rb +99 -0
  111. data/lib/webgen/task/create_bundle.rb +73 -0
  112. data/lib/webgen/task/create_website.rb +94 -0
  113. data/lib/webgen/task/generate_website.rb +47 -0
  114. data/lib/webgen/test_helper.rb +183 -0
  115. data/lib/webgen/tree.rb +95 -46
  116. data/lib/webgen/utils.rb +39 -0
  117. data/lib/webgen/utils/external_command.rb +27 -0
  118. data/lib/webgen/utils/tag_parser.rb +124 -0
  119. data/lib/webgen/version.rb +1 -1
  120. data/lib/webgen/website.rb +134 -296
  121. data/setup.rb +1 -1
  122. data/test/test_documentation.rb +43 -0
  123. data/test/webgen/cli/test_logger.rb +41 -0
  124. data/test/{test_contentprocessor_blocks.rb → webgen/content_processor/test_blocks.rb} +30 -28
  125. data/test/webgen/content_processor/test_builder.rb +25 -0
  126. data/test/webgen/content_processor/test_erb.rb +21 -0
  127. data/test/webgen/content_processor/test_erubis.rb +33 -0
  128. data/test/webgen/content_processor/test_fragments.rb +96 -0
  129. data/test/webgen/content_processor/test_haml.rb +24 -0
  130. data/test/webgen/content_processor/test_html_head.rb +78 -0
  131. data/test/webgen/content_processor/test_kramdown.rb +49 -0
  132. data/test/webgen/content_processor/test_maruku.rb +30 -0
  133. data/test/webgen/content_processor/test_r_discount.rb +18 -0
  134. data/test/webgen/content_processor/test_rdoc.rb +18 -0
  135. data/test/webgen/content_processor/test_redcloth.rb +23 -0
  136. data/test/webgen/content_processor/test_ruby.rb +24 -0
  137. data/test/webgen/content_processor/test_sass.rb +44 -0
  138. data/test/webgen/content_processor/test_scss.rb +23 -0
  139. data/test/webgen/content_processor/test_tags.rb +44 -0
  140. data/test/webgen/content_processor/test_tidy.rb +31 -0
  141. data/test/webgen/content_processor/test_tikz.rb +33 -0
  142. data/test/webgen/content_processor/test_xmllint.rb +32 -0
  143. data/test/webgen/destination/test_file_system.rb +54 -0
  144. data/test/webgen/item_tracker/test_file.rb +31 -0
  145. data/test/webgen/item_tracker/test_missing_node.rb +70 -0
  146. data/test/webgen/item_tracker/test_node_content.rb +42 -0
  147. data/test/webgen/item_tracker/test_node_meta_info.rb +44 -0
  148. data/test/webgen/item_tracker/test_nodes.rb +61 -0
  149. data/test/webgen/path_handler/test_base.rb +153 -0
  150. data/test/webgen/path_handler/test_copy.rb +56 -0
  151. data/test/webgen/path_handler/test_feed.rb +85 -0
  152. data/test/webgen/path_handler/test_meta_info.rb +98 -0
  153. data/test/webgen/path_handler/test_page.rb +25 -0
  154. data/test/webgen/path_handler/test_page_utils.rb +59 -0
  155. data/test/webgen/path_handler/test_sitemap.rb +95 -0
  156. data/test/webgen/path_handler/test_template.rb +64 -0
  157. data/test/webgen/path_handler/test_virtual.rb +87 -0
  158. data/test/webgen/source/test_file_system.rb +51 -0
  159. data/test/webgen/source/test_stacked.rb +35 -0
  160. data/test/{test_source_tararchive.rb → webgen/source/test_tar_archive.rb} +10 -25
  161. data/test/webgen/tag/test_breadcrumb_trail.rb +66 -0
  162. data/test/webgen/tag/test_coderay.rb +34 -0
  163. data/test/webgen/tag/test_date.rb +18 -0
  164. data/test/webgen/tag/test_execute_command.rb +36 -0
  165. data/test/webgen/tag/test_include_file.rb +35 -0
  166. data/test/webgen/tag/test_langbar.rb +50 -0
  167. data/test/webgen/tag/test_link.rb +40 -0
  168. data/test/webgen/tag/test_menu.rb +61 -0
  169. data/test/webgen/tag/test_meta_info.rb +25 -0
  170. data/test/webgen/tag/test_relocatable.rb +50 -0
  171. data/test/webgen/tag/test_tikz.rb +41 -0
  172. data/test/webgen/task/test_create_website.rb +46 -0
  173. data/test/webgen/test_blackboard.rb +31 -0
  174. data/test/webgen/test_bundle_loader.rb +55 -0
  175. data/test/{test_cache.rb → webgen/test_cache.rb} +3 -15
  176. data/test/webgen/test_cli.rb +41 -0
  177. data/test/webgen/test_configuration.rb +131 -0
  178. data/test/webgen/test_content_processor.rb +86 -0
  179. data/test/webgen/test_context.rb +73 -0
  180. data/test/webgen/test_core_ext.rb +20 -0
  181. data/test/webgen/test_destination.rb +48 -0
  182. data/test/webgen/test_error.rb +121 -0
  183. data/test/webgen/test_extension_manager.rb +70 -0
  184. data/test/webgen/test_item_tracker.rb +106 -0
  185. data/test/{test_languages.rb → webgen/test_languages.rb} +4 -4
  186. data/test/webgen/test_logger.rb +46 -0
  187. data/test/webgen/test_node.rb +178 -0
  188. data/test/webgen/test_node_finder.rb +127 -0
  189. data/test/{test_page.rb → webgen/test_page.rb} +44 -48
  190. data/test/webgen/test_path.rb +271 -0
  191. data/test/{test_webgentask.rb → webgen/test_rake_task.rb} +4 -4
  192. data/test/webgen/test_source.rb +59 -0
  193. data/test/webgen/test_tag.rb +137 -0
  194. data/test/webgen/test_task.rb +40 -0
  195. data/test/webgen/test_tree.rb +147 -0
  196. data/test/webgen/test_utils.rb +16 -0
  197. data/test/webgen/test_website.rb +45 -0
  198. data/test/webgen/utils/test_tag_parser.rb +99 -0
  199. metadata +292 -344
  200. data/data/webgen/passive_sources/templates/atom_feed.template +0 -39
  201. data/data/webgen/passive_sources/templates/rss_feed.template +0 -28
  202. data/data/webgen/resources.yaml +0 -4
  203. data/data/webgen/webgui/app.rb +0 -11
  204. data/data/webgen/webgui/controller/main.rb +0 -135
  205. data/data/webgen/webgui/layout/default.xhtml +0 -40
  206. data/data/webgen/webgui/overrides/win32console.rb +0 -0
  207. data/data/webgen/webgui/public/css/jquery.autocomplete.css +0 -50
  208. data/data/webgen/webgui/public/css/ramaze_error.css +0 -90
  209. data/data/webgen/webgui/public/css/style.css +0 -55
  210. data/data/webgen/webgui/public/img/headerbg.jpg +0 -0
  211. data/data/webgen/webgui/public/img/webgen_logo.png +0 -0
  212. data/data/webgen/webgui/public/js/jquery.autocomplete.js +0 -15
  213. data/data/webgen/webgui/public/js/jquery.js +0 -32
  214. data/data/webgen/webgui/start.rb +0 -9
  215. data/data/webgen/webgui/view/create_website.xhtml +0 -14
  216. data/data/webgen/webgui/view/error.xhtml +0 -64
  217. data/data/webgen/webgui/view/index.xhtml +0 -22
  218. data/data/webgen/webgui/view/manage_website.xhtml +0 -18
  219. data/data/webgen/website_skeleton/README +0 -10
  220. data/data/webgen/website_skeleton/Rakefile +0 -69
  221. data/data/webgen/website_skeleton/config.yaml +0 -35
  222. data/data/webgen/website_skeleton/ext/init.rb +0 -10
  223. data/doc/contentprocessor.template +0 -11
  224. data/doc/contentprocessor/blocks.page +0 -129
  225. data/doc/contentprocessor/builder.page +0 -79
  226. data/doc/contentprocessor/erb.page +0 -60
  227. data/doc/contentprocessor/erubis.page +0 -46
  228. data/doc/contentprocessor/fragments.page +0 -26
  229. data/doc/contentprocessor/haml.page +0 -46
  230. data/doc/contentprocessor/head.page +0 -31
  231. data/doc/contentprocessor/kramdown.page +0 -49
  232. data/doc/contentprocessor/less.page +0 -34
  233. data/doc/contentprocessor/maruku.page +0 -44
  234. data/doc/contentprocessor/rdiscount.page +0 -37
  235. data/doc/contentprocessor/rdoc.page +0 -36
  236. data/doc/contentprocessor/redcloth.page +0 -41
  237. data/doc/contentprocessor/sass.page +0 -31
  238. data/doc/contentprocessor/scss.page +0 -39
  239. data/doc/contentprocessor/tags.page +0 -73
  240. data/doc/contentprocessor/tidy.page +0 -14
  241. data/doc/contentprocessor/xmllint.page +0 -14
  242. data/doc/extensions.metainfo +0 -29
  243. data/doc/extensions.page +0 -15
  244. data/doc/extensions.template +0 -17
  245. data/doc/faq.page +0 -222
  246. data/doc/getting_started.page +0 -135
  247. data/doc/index.page +0 -71
  248. data/doc/manual.page +0 -727
  249. data/doc/reference_configuration.page +0 -1254
  250. data/doc/reference_metainfo.page +0 -265
  251. data/doc/reference_website_styles.page +0 -32
  252. data/doc/source/filesystem.page +0 -41
  253. data/doc/source/tararchive.page +0 -40
  254. data/doc/sourcehandler.template +0 -23
  255. data/doc/sourcehandler/copy.page +0 -19
  256. data/doc/sourcehandler/directory.page +0 -27
  257. data/doc/sourcehandler/feed.page +0 -102
  258. data/doc/sourcehandler/metainfo.page +0 -48
  259. data/doc/sourcehandler/page.page +0 -14
  260. data/doc/sourcehandler/sitemap.page +0 -46
  261. data/doc/sourcehandler/template.page +0 -45
  262. data/doc/sourcehandler/virtual.page +0 -49
  263. data/doc/tag.template +0 -25
  264. data/doc/tag/breadcrumbtrail.page +0 -40
  265. data/doc/tag/coderay.page +0 -53
  266. data/doc/tag/date.page +0 -31
  267. data/doc/tag/executecommand.page +0 -26
  268. data/doc/tag/includefile.page +0 -32
  269. data/doc/tag/langbar.page +0 -47
  270. data/doc/tag/link.page +0 -44
  271. data/doc/tag/menu.page +0 -109
  272. data/doc/tag/metainfo.page +0 -29
  273. data/doc/tag/relocatable.page +0 -38
  274. data/doc/tag/sitemap.page +0 -31
  275. data/doc/tag/tikz.page +0 -159
  276. data/doc/upgrading.page +0 -138
  277. data/doc/webgen_page_format.page +0 -129
  278. data/doc/website_styles.metainfo +0 -8
  279. data/lib/webgen/cli/apply_command.rb +0 -66
  280. data/lib/webgen/cli/run_command.rb +0 -22
  281. data/lib/webgen/cli/webgui_command.rb +0 -68
  282. data/lib/webgen/common.rb +0 -27
  283. data/lib/webgen/common/sitemap.rb +0 -83
  284. data/lib/webgen/contentprocessor.rb +0 -117
  285. data/lib/webgen/contentprocessor/blocks.rb +0 -92
  286. data/lib/webgen/contentprocessor/builder.rb +0 -29
  287. data/lib/webgen/contentprocessor/erb.rb +0 -26
  288. data/lib/webgen/contentprocessor/erubis.rb +0 -39
  289. data/lib/webgen/contentprocessor/fragments.rb +0 -25
  290. data/lib/webgen/contentprocessor/haml.rb +0 -34
  291. data/lib/webgen/contentprocessor/head.rb +0 -128
  292. data/lib/webgen/contentprocessor/kramdown.rb +0 -27
  293. data/lib/webgen/contentprocessor/kramdown/html.rb +0 -36
  294. data/lib/webgen/contentprocessor/less.rb +0 -35
  295. data/lib/webgen/contentprocessor/maruku.rb +0 -36
  296. data/lib/webgen/contentprocessor/rdiscount.rb +0 -19
  297. data/lib/webgen/contentprocessor/rdoc.rb +0 -20
  298. data/lib/webgen/contentprocessor/redcloth.rb +0 -21
  299. data/lib/webgen/contentprocessor/sass.rb +0 -22
  300. data/lib/webgen/contentprocessor/scss.rb +0 -22
  301. data/lib/webgen/contentprocessor/tags.rb +0 -170
  302. data/lib/webgen/contentprocessor/tidy.rb +0 -38
  303. data/lib/webgen/contentprocessor/xmllint.rb +0 -37
  304. data/lib/webgen/context/render.rb +0 -32
  305. data/lib/webgen/context/tags.rb +0 -20
  306. data/lib/webgen/coreext.rb +0 -13
  307. data/lib/webgen/default_config.rb +0 -240
  308. data/lib/webgen/loggable.rb +0 -25
  309. data/lib/webgen/output.rb +0 -86
  310. data/lib/webgen/output/filesystem.rb +0 -69
  311. data/lib/webgen/source/filesystem.rb +0 -61
  312. data/lib/webgen/source/resource.rb +0 -45
  313. data/lib/webgen/source/tararchive.rb +0 -78
  314. data/lib/webgen/sourcehandler.rb +0 -275
  315. data/lib/webgen/sourcehandler/base.rb +0 -281
  316. data/lib/webgen/sourcehandler/copy.rb +0 -44
  317. data/lib/webgen/sourcehandler/directory.rb +0 -30
  318. data/lib/webgen/sourcehandler/feed.rb +0 -92
  319. data/lib/webgen/sourcehandler/fragment.rb +0 -70
  320. data/lib/webgen/sourcehandler/memory.rb +0 -42
  321. data/lib/webgen/sourcehandler/metainfo.rb +0 -128
  322. data/lib/webgen/sourcehandler/page.rb +0 -64
  323. data/lib/webgen/sourcehandler/sitemap.rb +0 -60
  324. data/lib/webgen/sourcehandler/template.rb +0 -66
  325. data/lib/webgen/sourcehandler/virtual.rb +0 -117
  326. data/lib/webgen/tag/base.rb +0 -170
  327. data/lib/webgen/tag/breadcrumbtrail.rb +0 -70
  328. data/lib/webgen/tag/executecommand.rb +0 -31
  329. data/lib/webgen/tag/includefile.rb +0 -42
  330. data/lib/webgen/tag/metainfo.rb +0 -27
  331. data/lib/webgen/tag/sitemap.rb +0 -41
  332. data/lib/webgen/websiteaccess.rb +0 -31
  333. data/lib/webgen/websitemanager.rb +0 -125
  334. data/misc/default.css +0 -403
  335. data/misc/default.template +0 -76
  336. data/misc/htmldoc.metainfo +0 -26
  337. data/misc/htmldoc.virtual +0 -17
  338. data/misc/images/arrow.gif +0 -0
  339. data/misc/images/error.png +0 -0
  340. data/misc/images/headerbg.jpg +0 -0
  341. data/misc/images/important.png +0 -0
  342. data/misc/images/information.png +0 -0
  343. data/misc/images/quote.gif +0 -0
  344. data/misc/images/warning.png +0 -0
  345. data/misc/logo.svg +0 -313
  346. data/misc/style.page +0 -33
  347. data/test/helper.rb +0 -61
  348. data/test/test_blackboard.rb +0 -60
  349. data/test/test_cli.rb +0 -119
  350. data/test/test_common_sitemap.rb +0 -58
  351. data/test/test_configuration.rb +0 -68
  352. data/test/test_contentprocessor.rb +0 -39
  353. data/test/test_contentprocessor_builder.rb +0 -41
  354. data/test/test_contentprocessor_erb.rb +0 -33
  355. data/test/test_contentprocessor_erubis.rb +0 -62
  356. data/test/test_contentprocessor_fragments.rb +0 -43
  357. data/test/test_contentprocessor_haml.rb +0 -39
  358. data/test/test_contentprocessor_head.rb +0 -96
  359. data/test/test_contentprocessor_kramdown.rb +0 -56
  360. data/test/test_contentprocessor_less.rb +0 -40
  361. data/test/test_contentprocessor_maruku.rb +0 -33
  362. data/test/test_contentprocessor_rdiscount.rb +0 -21
  363. data/test/test_contentprocessor_rdoc.rb +0 -22
  364. data/test/test_contentprocessor_redcloth.rb +0 -26
  365. data/test/test_contentprocessor_sass.rb +0 -28
  366. data/test/test_contentprocessor_scss.rb +0 -28
  367. data/test/test_contentprocessor_tags.rb +0 -122
  368. data/test/test_contentprocessor_tidy.rb +0 -34
  369. data/test/test_contentprocessor_xmllint.rb +0 -38
  370. data/test/test_context.rb +0 -81
  371. data/test/test_error.rb +0 -93
  372. data/test/test_loggable.rb +0 -32
  373. data/test/test_logger.rb +0 -94
  374. data/test/test_node.rb +0 -469
  375. data/test/test_output_filesystem.rb +0 -60
  376. data/test/test_path.rb +0 -241
  377. data/test/test_source_filesystem.rb +0 -76
  378. data/test/test_source_resource.rb +0 -28
  379. data/test/test_source_stacked.rb +0 -49
  380. data/test/test_sourcehandler_base.rb +0 -136
  381. data/test/test_sourcehandler_copy.rb +0 -47
  382. data/test/test_sourcehandler_directory.rb +0 -38
  383. data/test/test_sourcehandler_feed.rb +0 -88
  384. data/test/test_sourcehandler_fragment.rb +0 -70
  385. data/test/test_sourcehandler_main.rb +0 -39
  386. data/test/test_sourcehandler_memory.rb +0 -44
  387. data/test/test_sourcehandler_metainfo.rb +0 -127
  388. data/test/test_sourcehandler_page.rb +0 -73
  389. data/test/test_sourcehandler_sitemap.rb +0 -68
  390. data/test/test_sourcehandler_template.rb +0 -68
  391. data/test/test_sourcehandler_virtual.rb +0 -106
  392. data/test/test_tag_base.rb +0 -62
  393. data/test/test_tag_breadcrumbtrail.rb +0 -91
  394. data/test/test_tag_coderay.rb +0 -45
  395. data/test/test_tag_date.rb +0 -18
  396. data/test/test_tag_executecommand.rb +0 -41
  397. data/test/test_tag_includefile.rb +0 -50
  398. data/test/test_tag_langbar.rb +0 -71
  399. data/test/test_tag_link.rb +0 -70
  400. data/test/test_tag_menu.rb +0 -207
  401. data/test/test_tag_metainfo.rb +0 -26
  402. data/test/test_tag_relocatable.rb +0 -60
  403. data/test/test_tag_sitemap.rb +0 -47
  404. data/test/test_tag_tikz.rb +0 -69
  405. data/test/test_tree.rb +0 -70
  406. data/test/test_website.rb +0 -130
  407. data/test/test_websiteaccess.rb +0 -25
  408. data/test/test_websitemanager.rb +0 -65
data/README.md ADDED
@@ -0,0 +1,71 @@
1
+ # webgen - static website generation made easy
2
+
3
+ webgen is used for generating static websites from templates and content
4
+ files (which can be written in any markup language). It can generate
5
+ dynamic content like menus on the fly and comes with many powerful
6
+ extensions.
7
+
8
+
9
+ ## Contact & Help
10
+
11
+ The author of webgen is Thomas Leitner -- he is reachable at <mailto:t_leitner@gmx.at>.
12
+
13
+ You can discuss webgen or find help on the [webgen-users] mailing list
14
+ which is mirrored to the [webgen-users Google group].
15
+
16
+ Or you can join the IRC channel [#webgen] on Freenode.
17
+
18
+ [webgen-users]: http://rubyforge.org/pipermail/webgen-users/
19
+ [webgen-users Google group]: https://groups.google.com/forum/?fromgroups#!forum/webgen-users
20
+ [#webgen]: irc://chat.freenode.net/#webgen
21
+
22
+
23
+ ## Description
24
+
25
+ webgen is a free (GPL-licensed) command line application for generating
26
+ static websites. It combines content with template files to generate
27
+ HTML files. This allows one to separate the content from the layout and
28
+ reuse the layout for many content files.
29
+
30
+ Apart from this basic functionality, webgen offers many features that
31
+ makes authoring websites easier:
32
+
33
+ * Multiple markup languages to choose from for writing HTML and CSS
34
+ files (Markdown, Textile, RDoc, Haml, Sass ...)
35
+
36
+ * Automatic generation of menus, breadcrumb trails, ... and more!
37
+
38
+ * Partial website regeneration (only modified items get re-generated)
39
+ which reduces website generation time enormously
40
+
41
+ * Self-contained website (all generated links are relative, so one can
42
+ view the website *without a web server*)
43
+
44
+ * Easily extendable (all major components can be extended with new
45
+ functionality)
46
+
47
+ * No need to know the Ruby language for basic websites
48
+
49
+ The main documentation lives at <http://webgen.rubyforge.org/documentation/>.
50
+
51
+
52
+ ## Installation
53
+
54
+ webgen is written in Ruby, so you need the Ruby interpreter on your
55
+ system. You can get it from http://ruby-lang.org/. See
56
+ <http://webgen.rubyforge.org/installation.html> for more information.
57
+
58
+ You can install webgen via Rubygems:
59
+
60
+ $ gem install webgen
61
+
62
+ Or via the `setup.rb` method if you have downloaded a tarball or zip file:
63
+
64
+ $ ruby setup.rb config
65
+ $ ruby setup.rb setup
66
+ $ ruby setup.rb install
67
+
68
+
69
+ ## License
70
+
71
+ GPLv3 - see the **COPYING** file.
data/Rakefile CHANGED
@@ -1,12 +1,7 @@
1
- # -*- ruby -*-
1
+ # -*- encoding: utf-8 -*- -*- ruby -*-
2
2
 
3
3
  # load all optional developer libraries
4
- begin
5
- require 'rubygems'
6
- require 'rake/gempackagetask'
7
- rescue LoadError
8
- end
9
-
4
+ require 'rubygems/package_task'
10
5
  require 'rdoc/task'
11
6
  require 'rdoc/rdoc'
12
7
 
@@ -15,22 +10,17 @@ begin
15
10
  rescue LoadError
16
11
  end
17
12
 
18
- begin
19
- require 'rcov/rcovtask'
20
- rescue LoadError
21
- end
22
-
23
13
  require 'fileutils'
24
14
  require 'rake/clean'
25
15
  require 'rake/testtask'
26
16
  require 'rake/packagetask'
27
17
 
28
18
  $:.unshift('lib')
29
- require 'webgen/webgentask'
19
+ require 'webgen/rake_task'
30
20
  require 'webgen/version'
31
21
  require 'webgen/page'
32
22
 
33
- # End user tasks ################################################################
23
+ # End user tasks ###############################################################
34
24
 
35
25
  task :default => :test
36
26
 
@@ -49,7 +39,7 @@ desc "Build the whole user documentation"
49
39
  task :doc => [:rdoc, :htmldoc]
50
40
 
51
41
  desc "Generate the HTML documentation"
52
- Webgen::WebgenTask.new('htmldoc') do |site|
42
+ Webgen::RakeTask.new('htmldoc') do |site|
53
43
  site.clobber_outdir = true
54
44
  site.config_block = lambda do |config|
55
45
  config['sources'] = [['/', "Webgen::Source::FileSystem", 'doc'],
@@ -60,25 +50,25 @@ Webgen::WebgenTask.new('htmldoc') do |site|
60
50
  prefix = "webgen-website-bundle-"
61
51
  config['resources'].select {|name, data| name =~ /^#{prefix}style/}.each do |name, data|
62
52
  config['sources'] <<
63
- ["/website_styles/#{name.sub(prefix, '')}/", "Webgen::Source::FileSystem", 'misc', 'style.page']
53
+ ["/references/website_styles/#{name.sub(prefix, '')}/", "Webgen::Source::FileSystem", 'misc', 'style.page']
64
54
  config['sources'] <<
65
- ["/website_styles/#{name.sub(prefix, '')}/", 'Webgen::Source::Resource', name, '/src/**', '/src/']
55
+ ["/references/website_styles/#{name.sub(prefix, '')}/", 'Webgen::Source::Resource', name, '/src/**', '/src/']
66
56
  end
67
57
  config['output'] = ['Webgen::Output::FileSystem', 'htmldoc']
68
58
  config.default_processing_pipeline('Page' => 'erb,tags,kramdown,blocks,fragments')
69
59
  end
70
60
  end
71
61
 
72
- rd = RDoc::Task.new do |rdoc|
62
+ RDoc::Task.new do |rdoc|
73
63
  rdoc.rdoc_dir = 'htmldoc/rdoc'
74
64
  rdoc.title = 'webgen'
75
- rdoc.main = 'lib/webgen/website.rb'
65
+ rdoc.main = 'API.rdoc'
76
66
  rdoc.options << '--line-numbers'
77
- rdoc.rdoc_files.include('lib')
67
+ rdoc.rdoc_files.include('lib', 'API.rdoc')
78
68
  end
79
69
 
80
- tt = Rake::TestTask.new do |test|
81
- test.libs << 'test'
70
+ Rake::TestTask.new do |test|
71
+ test.test_files = FileList['test/webgen/**/test_*.rb']
82
72
  end
83
73
 
84
74
  # Release tasks and development tasks ############################################
@@ -108,16 +98,15 @@ EOF
108
98
  'THANKS',
109
99
  'COPYING',
110
100
  'GPL',
101
+ 'API.rdoc',
102
+ 'README.md',
111
103
  'bin/webgen',
112
104
  'data/**/*',
113
- 'doc/**/*',
114
105
  'lib/**/*.rb',
115
106
  'man/man1/webgen.1',
116
- 'misc/**/*',
117
- 'test/test_*.rb',
118
- 'test/helper.rb',
107
+ 'test/**/*',
119
108
  ]) do |fl|
120
- fl.exclude('data/**/.gitignore')
109
+ fl.exclude('**/.gitignore')
121
110
  end
122
111
 
123
112
  CLOBBER << "VERSION"
@@ -138,69 +127,69 @@ EOF
138
127
  pkg.package_files = PKG_FILES
139
128
  end
140
129
 
141
- if defined? Gem
142
- spec = Gem::Specification.new do |s|
130
+ spec = Gem::Specification.new do |s|
143
131
 
144
- #### Basic information
145
- s.name = 'webgen'
146
- s.version = Webgen::VERSION
147
- s.summary = SUMMARY
148
- s.description = DESCRIPTION
149
- s.post_install_message = <<EOF
132
+ #### Basic information
133
+ s.name = 'webgen'
134
+ s.version = Webgen::VERSION
135
+ s.summary = SUMMARY
136
+ s.description = DESCRIPTION
137
+ s.post_install_message = <<EOF
150
138
 
151
139
  Thanks for choosing webgen! Here are some places to get you started:
152
140
  * The webgen User Documentation at <http://webgen.rubyforge.org/documentation/index.html>
153
141
  * The mailing list archive at <http://rubyforge.org/pipermail/webgen-users/>
142
+ * The webgen Wiki at <http://github.com/gettalong/webgen/wiki>
154
143
 
155
- Have a look at <http://webgen.rubyforge.org/news/index.html> for a list of changes!
144
+ Have a look at <http://webgen.rubyforge.org/> for a list of changes!
156
145
 
157
146
  Have fun!
158
147
 
159
148
  EOF
160
149
 
161
- #### Dependencies, requirements and files
162
-
163
- s.files = PKG_FILES.to_a
164
- s.add_dependency('cmdparse', '>= 2.0.2')
165
- s.add_dependency('kramdown', '>= 0.12.0')
166
- s.add_development_dependency('maruku', '>= 0.6.0')
167
- s.add_development_dependency('rake', '>= 0.8.3')
168
- s.add_development_dependency('ramaze', '>= 2009.04')
169
- s.add_development_dependency('launchy', '>= 0.3.2')
170
- s.add_development_dependency('rcov', '>= 0.8.1.2.0')
171
- s.add_development_dependency('rubyforge', '>= 2.0.2')
172
- s.add_development_dependency('RedCloth', '>= 4.1.9')
173
- s.add_development_dependency('haml', '>= 3.0.12')
174
- s.add_development_dependency('builder', '>= 2.1.0')
175
- s.add_development_dependency('rdoc', '>= 2.4.3')
176
- s.add_development_dependency('coderay', '>= 0.8.312')
177
- s.add_development_dependency('erubis', '>= 2.6.5')
178
- s.add_development_dependency('rdiscount', '>= 1.3.5')
179
- s.add_development_dependency('archive-tar-minitar', '>= 0.5.2')
180
-
181
- s.require_path = 'lib'
182
-
183
- s.executables = ['webgen']
184
- s.default_executable = 'webgen'
185
-
186
- #### Documentation
187
-
188
- s.has_rdoc = true
189
- s.rdoc_options = ['--line-numbers', '--main', 'lib/webgen/website.rb']
190
-
191
- #### Author and project details
192
-
193
- s.author = 'Thomas Leitner'
194
- s.email = 't_leitner@gmx.at'
195
- s.homepage = "http://webgen.rubyforge.org"
196
- s.rubyforge_project = 'webgen'
197
- end
198
-
199
- Rake::GemPackageTask.new(spec) do |pkg|
200
- pkg.need_zip = true
201
- pkg.need_tar = true
202
- end
150
+ #### Dependencies, requirements and files
151
+
152
+ s.required_ruby_version = '>= 1.9.2'
153
+
154
+ s.add_dependency('cmdparse', '>= 2.0.5')
155
+ s.add_dependency('systemu', '>= 2.5.0')
156
+ s.add_dependency('kramdown', '>= 0.14.0')
157
+ s.add_development_dependency('rake', '>= 0.8.3')
158
+ s.add_development_dependency('diff-lcs', '>= 1.1.0')
159
+ s.add_development_dependency('rubyforge', '>= 2.0.2')
160
+ s.add_development_dependency('maruku', '>= 0.6.0')
161
+ s.add_development_dependency('RedCloth', '>= 4.1.9')
162
+ s.add_development_dependency('haml', '>= 3.1.0')
163
+ s.add_development_dependency('sass', '>= 3.2.0')
164
+ s.add_development_dependency('builder', '>= 2.1.0')
165
+ s.add_development_dependency('rdoc', '>= 3.0')
166
+ s.add_development_dependency('coderay', '>= 1.0.0')
167
+ s.add_development_dependency('erubis', '>= 2.6.5')
168
+ s.add_development_dependency('rdiscount', '>= 1.3.5')
169
+ s.add_development_dependency('archive-tar-minitar', '>= 0.5.2')
170
+
171
+ s.files = PKG_FILES.to_a
172
+ s.require_path = 'lib'
173
+ s.executables = ['webgen']
174
+ s.default_executable = 'webgen'
175
+
176
+ #### Documentation
177
+
178
+ s.has_rdoc = true
179
+ s.rdoc_options = ['--line-numbers', '--main', 'API.rdoc']
180
+ s.extra_rdoc_files = ['API.rdoc']
181
+
182
+ #### Author and project details
183
+
184
+ s.author = 'Thomas Leitner'
185
+ s.email = 't_leitner@gmx.at'
186
+ s.homepage = "http://webgen.rubyforge.org"
187
+ s.rubyforge_project = 'webgen'
188
+ end
203
189
 
190
+ Gem::PackageTask.new(spec) do |pkg|
191
+ pkg.need_zip = true
192
+ pkg.need_tar = true
204
193
  end
205
194
 
206
195
  desc 'Release webgen version ' + Webgen::VERSION
@@ -248,20 +237,20 @@ EOF
248
237
  end
249
238
 
250
239
  desc 'Generates the webgen website'
251
- Webgen::WebgenTask.new(:website) do |site|
240
+ Webgen::RakeTask.new(:website) do |site|
252
241
  site.directory = 'website'
253
242
  site.clobber_outdir = true
254
243
  site.config_block = lambda do |config|
255
244
  config['sources'] += [['/documentation/', 'Webgen::Source::FileSystem', '../doc'],
256
- ['/', "Webgen::Source::FileSystem", '../misc', 'default.css'],
245
+ ['/', "Webgen::Source::FileSystem", '../misc', 'default.less.css'],
257
246
  ['/documentation/', "Webgen::Source::FileSystem", '../misc', 'htmldoc.virtual'],
258
247
  ['/', "Webgen::Source::FileSystem", '../misc', 'images/**/*']]
259
248
  prefix = "webgen-website-bundle-"
260
249
  config['resources'].select {|name, data| name =~ /^#{prefix}style/}.each do |name, data|
261
250
  config['sources'] <<
262
- ["/documentation/website_styles/#{name.sub(prefix, '')}/", "Webgen::Source::FileSystem", '../misc', 'style.page']
251
+ ["/documentation/references/website_styles/#{name.sub(prefix, '')}/", "Webgen::Source::FileSystem", '../misc', 'style.page']
263
252
  config['sources'] <<
264
- ["/documentation/website_styles/#{name.sub(prefix, '')}/", 'Webgen::Source::Resource', name, '/src/**', '/src/']
253
+ ["/documentation/references/website_styles/#{name.sub(prefix, '')}/", 'Webgen::Source::Resource', name, '/src/**', '/src/']
265
254
  end
266
255
  config.default_processing_pipeline('Page' => 'erb,tags,kramdown,blocks,fragments')
267
256
  end
@@ -276,31 +265,29 @@ EOF
276
265
 
277
266
  desc "Run the tests one by one to check for missing deps"
278
267
  task :test_isolated do
279
- files = Dir['test/test_*']
268
+ files = Dir['test/webgen/**/test_*']
280
269
  puts "Checking #{files.length} tests"
281
270
  failed = files.select do |file|
282
- okay = system("ruby -Ilib:test #{file} -vs &> /dev/null")
271
+ okay = system("ruby -Ilib #{file} 2>&1 >/dev/null")
283
272
  print(okay ? '.' : 'E')
284
273
  !okay
285
274
  end
286
275
  puts
287
- failed.each {|file| puts "Problem with" + file.rjust(40) }
276
+ failed.each {|file| puts "Problem with" + file.rjust(60) }
288
277
  end
289
278
 
290
- if defined? Rcov
291
- Rcov::RcovTask.new do |rcov|
292
- rcov.libs << 'test'
293
- end
294
- end
295
-
296
- EXCLUDED_FOR_TESTS=FileList.new(['lib/webgen/cli{*,**/*}', 'lib/webgen/version.rb',
297
- 'lib/webgen/output.rb', 'lib/webgen/source.rb',
298
- 'lib/webgen/tag.rb', 'lib/webgen/default_config.rb',
299
- 'lib/webgen/common.rb'
279
+ EXCLUDED_FOR_TESTS=FileList.new(['lib/webgen/bundle/**/*',
280
+ 'lib/webgen/context/*',
281
+ 'lib/webgen/cli/*',
282
+ 'lib/webgen/test_helper',
283
+ 'lib/webgen/path_handler/directory.rb',
284
+ 'lib/webgen/version.rb',
300
285
  ])
301
286
 
302
- EXCLUDED_FOR_DOCU=FileList.new(['lib/webgen/cli{*,**/*}', 'lib/webgen/contentprocessor/context.rb',
303
- 'lib/webgen/*/base.rb', 'lib/webgen/sourcehandler/fragment.rb',
287
+ EXCLUDED_FOR_DOCU=FileList.new(['lib/webgen/cli{*,**/*}',
288
+ 'lib/webgen/*/base.rb',
289
+ 'lib/webgen/context/*',
290
+ 'lib/webgen/context.rb'
304
291
  ])
305
292
 
306
293
  desc "Checks for missing test/docu"
@@ -308,10 +295,10 @@ EOF
308
295
  puts 'Files for which no test exists:'
309
296
  Dir['lib/webgen/**/*'].each do |path|
310
297
  next if File.directory?(path) || EXCLUDED_FOR_TESTS.include?(path)
311
- test_path = 'test/test_' + path.gsub(/lib\/webgen\//, "").tr('/', '_')
298
+ test_path = 'test/' + path.gsub(/lib\/(.*)\/(.*).rb/, '\1/test_\2.rb')
312
299
  puts ' '*4 + path unless File.exists?(test_path)
313
300
  end
314
-
301
+ =begin
315
302
  puts
316
303
  puts 'Files for which no docu exists:'
317
304
  Dir['lib/webgen/*/*'].each do |path|
@@ -319,6 +306,7 @@ EOF
319
306
  docu_path = 'doc/' + path.gsub(/lib\/webgen\//, "").gsub(/\.rb$/, '.page')
320
307
  puts ' '*4 + path unless File.exists?(docu_path)
321
308
  end
309
+ =end
322
310
  end
323
311
 
324
312
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.17
1
+ 1.0.0.beta1
data/bin/webgen CHANGED
@@ -2,10 +2,4 @@
2
2
  # -*- encoding: utf-8 -*-
3
3
 
4
4
  require 'webgen/cli'
5
- begin
6
- Webgen::CLI::CommandParser.new.parse
7
- rescue
8
- puts "An error has occurred:\n " + $!.message
9
- puts $!.backtrace if $DEBUG
10
- exit(-1)
11
- end
5
+ Webgen::CLI::CommandParser.new.parse
@@ -0,0 +1,15 @@
1
+ # = webgen extensions directory
2
+ #
3
+ # All init.rb files anywhere under this directory are automatically
4
+ # loaded. This allows you to add your own extensions to webgen or to
5
+ # modify webgen's core.
6
+ #
7
+ # If you don't need this feature you can savely delete this file and the
8
+ # directory in which it is!
9
+ #
10
+ # * For information on how to write extensions, have a look at the API
11
+ # documentation of webgen at http://webgen.rubyforge.org/docs/api.
12
+ #
13
+ # * Have a look at the API documentation of Webgen::BundlerLoader to see
14
+ # what methods are available in init.rb files.
15
+ #
@@ -0,0 +1,18 @@
1
+ #####
2
+ # This is a webgen configuration file which uses YAML as its syntax.
3
+ #
4
+ # The general syntax is:
5
+ #
6
+ # configuration.option.name: value
7
+ #
8
+ # Have a look at the documentation of the individual configuration options to see the allowed format
9
+ # of the values. Since this is a YAML file, you can easily set configuration options as strings,
10
+ # integers, dates, arrays, hashes and more.
11
+ #
12
+ # The available configuration options can be found on the homepage in the Configuration Option
13
+ # Reference at
14
+ #
15
+ # http://webgen.rubyforge.org/documentation/references/configuration.html
16
+ #
17
+ # More info about YAML itself can be found at http://www.yaml.org/
18
+ #####
@@ -0,0 +1,24 @@
1
+ # webgen extension bundle <%= bundle_name %>
2
+
3
+ TODO: describe the bundle here
4
+
5
+
6
+ # Installation
7
+
8
+ The easiest way to install this extension bundle is by installing the
9
+ corresponding Rubygem:
10
+
11
+ gem install webgen-<%= bundle_name %>-bundle
12
+
13
+ If you don't use Rubygems, copy the folder
14
+ `lib/webgen/bundle/<%= bundle_name %>` into your `ext` directory.
15
+
16
+ After that you just need to tell webgen to use this extension bundle by
17
+ adding the following line to your `ext/init.rb` file:
18
+
19
+ load("<%= bundle_name %>")
20
+
21
+
22
+ # Copyright and license
23
+
24
+ TODO: state copyright and used license here