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/doc/upgrading.page DELETED
@@ -1,138 +0,0 @@
1
- ---
2
- title: Upgrading from 0.4.x
3
- ---
4
- # Upgrading
5
-
6
- Here are step-by-step instructions on how to update your webgen website from 0.4.x to 0.5.x:
7
-
8
- * **Update the configuration file `config.yaml`**
9
-
10
- The configuration file syntax as well as the names of the configuration options and some defaults
11
- changed. For example, the default processing pipeline now uses kramdown (a Markdown converter) as
12
- markup language processor instead of Textile. You can find an overview over all available
13
- configuration options in the [configuration option reference](reference_configuration.html). Also
14
- have a look at the [configuration file documentation](manual.html#website-configfile) for more
15
- information on the syntax of this file and the available helpers.
16
-
17
- * Name changes: All configuration options now use underscores to separate word parts instead of
18
- camelCase.
19
- * Syntax changes: The configuration options are not specific to a certain extension anymore. You
20
- now need the full configuration option name to specify it. So instead of
21
-
22
- Tag/Menu:
23
- maxLevels: 4
24
-
25
- you now use
26
-
27
- tag.menu.max_levels: 4
28
-
29
- * **Convert your `metainfo.yaml`**
30
-
31
- This file is not supported anymore since webgen 0.5.x uses a more flexible way for specifying meta
32
- information and virtual paths. You need to migrate its data to `metainfo` and `virtual` files in
33
- the source directory. Have a look at the documentation of the [metainfo source
34
- handler](sourcehandler/metainfo.html) and the [virtual source
35
- handler](sourcehandler/virtual.html).
36
-
37
- * **Update meta information names and values**
38
-
39
- The names of some meta information keys have been changed. Meta information names are not
40
- specified in camelCase anymore but with under_scores. You can find a complete list of supported
41
- meta information names in the [meta information reference](reference_metainfo.html). The most
42
- notable changes are:
43
-
44
- * directoryName → routed_title
45
- * inMenu → in_menu
46
- * indexFile → index_path
47
- * omitIndexPath → omit_index_path
48
- * outputNameStyle → output_path_style
49
- * orderInfo → sort_info
50
-
51
- Also be aware that the syntax of some meta information keys has changed. For example, all meta
52
- information keys that took a source path name, e.g. `index_path`, now take an localized canonical
53
- name.
54
-
55
- You need to change the names/value in all places where meta information can be specified:
56
-
57
- * `metainfo` files
58
- * `virtual` files
59
- * page and template files
60
-
61
- * **Files in [Webgen Page Format](webgen_page_format.html)**
62
-
63
- Since the format of these files changed a little bit you may need to adapt all your files that use
64
- it, that are primarily page and template files. The main change in the format was a different use
65
- of the block start line. Whereas before you would write
66
-
67
- --- content, textile
68
-
69
- for specifying the name of the block and its processor, you now can specify any number of
70
- options. Two options are currently used by webgen: `name` and `pipeline`. So you could change the
71
- name and the processing pipeline of a block by using a block start line like:
72
-
73
- --- name:other pipeline:tags,kramdown,blocks
74
-
75
- * **Block inclusion in template/page files**
76
-
77
- The way how named blocks are included has changed. This feature is now provided by the content
78
- processor [blocks](contentprocessor/blocks.html) instead of the tag `block`. This allows you to
79
- specify the point in the processing pipeline when a block should be included. So you definitely
80
- need to update your `default.template` file as well as any other page/template file where you used
81
- the `block` tag.
82
-
83
- So you need to look for `\{block: content}` tags (where `content` is just a place holder for the
84
- name of the block that should be included) and replace them with `<webgen:block name='content'
85
- />`.
86
-
87
- * **Update tag names and parameters**
88
-
89
- Since the names of the configuration options changed (from using camelCase to using under_scores)
90
- and some tags have different options, you need to change all tag parameters. You may also need to
91
- convert old tag names to new ones (same reason: camelCase to under_score), for example,
92
- `includeFile` is now `include_file`.
93
-
94
- * **Update your ERB code**
95
-
96
- If you have any ERB code in your template or page files you will most certainly have to adapt them
97
- to the new [API](api.html). One thing that has been used often is the check if a page file has a
98
- certain block:
99
-
100
- <%% if node.node_info[:page_data].blocks.has_key?('NAME') %>
101
- ...
102
- <%% end %>
103
-
104
- This needs to be changed into the following:
105
-
106
- <%% if context.content_node.node_info[:page].blocks.has_key?('NAME') %>
107
- ...
108
- <%% end %>
109
-
110
- * **Extensions development**
111
-
112
- Since the complete core of webgen has changed you need to rewrite all your plugins for the 0.5.x
113
- series. Howver, webgen has complete [API documentation](api.html) now which provides you with all
114
- needed information as well as examples on how to implement source handlers, tags, content
115
- processors, ... If you still have any questions, don't hesitate to contact me or write a mail to
116
- the mailing list!
117
-
118
- * **Running webgen on the converted website**
119
-
120
- You now can run webgen 0.5.x on the converted website. This helps in ironing out the remaining
121
- errors, for example:
122
-
123
- * If you have forgotten to change a block start line, you will get an application error and the
124
- name of the file where the error occured.
125
-
126
- * If you have overlooked changing a tag parameter, you will find `ERROR` and `WARN` lines in the
127
- log output showing you what still needs to be changed.
128
-
129
- * **Not Implement Yet**: There are several features of the 0.4.x series which are currently not
130
- implemented in the 0.5.x series:
131
-
132
- * source handlers: gallery, sipttra
133
- * tags: customvar (won't be ported), download, htmlmetainfo, news (won't be ported, superceded
134
- by blogging support), resource, wikilink
135
- * misc: smiley replacer, html validators
136
- * CLI commands: check, show, use
137
-
138
- If you need any of those you have to wait till they are implemented or port them on your on.
@@ -1,129 +0,0 @@
1
- ---
2
- title: Webgen Page Format
3
- ---
4
- ## Webgen Page Format
5
-
6
- The Webgen Page Format is a custom format designed primarily for page and template files. It
7
- consists of an optional meta information block and one or more blocks of data; it is very simple and
8
- easy to use.
9
-
10
- ## Structure
11
-
12
- A file using the Webgen Page Format consists of one or more blocks which are the smallest units
13
- recognized. Blocks are separated from each other through a line containing three dashes. This is
14
- illustrated in the following examples which are all valid files in WebPage Format:
15
-
16
- Example 1:
17
-
18
- Here is a block!
19
-
20
- Example 2:
21
-
22
- This is one block of the file
23
- ---
24
- This is another block.
25
-
26
- Example 3:
27
-
28
- Block 1
29
- --- name:block2
30
- Block 2
31
- --- name:block3
32
- Block 3...
33
-
34
- If you want to use three dashes in a block but you don't want to end the block, you have to escape
35
- them with a backslash character, like this:
36
-
37
- Block 1
38
- \---
39
- still Block 1
40
- --- name:block2
41
- Block 2
42
-
43
- All of the above examples show one kind of block, the content block. However, there may also be
44
- another type of block: the meta information block. Following is a short description of both kinds,
45
- starting with the meta information block.
46
-
47
-
48
- ### Meta Information Block
49
-
50
- Each file in Webgen Page Format can have zero or one meta information blocks. This block is
51
- specified at the beginning of the file. To tell the parser that the first block is the meta
52
- information block and not a content block, you have to start the file with three dashes:
53
-
54
- ---
55
- title: The title set by Meta info
56
- ---
57
- This is the content of the file
58
-
59
- The above defines a meta information block and a content block. The meta information block has to be
60
- in YAML format and should contain key-value pairs of meta information. [YAML](http://www.yaml.org)
61
- is a simple markup language designed for ease of use and although you define structured data with
62
- it, it feels like just writing a plain text document.
63
-
64
-
65
- ### Content Blocks
66
-
67
- A content block is used to provide content in a specific format. Each file in Webgen Page Format
68
- needs to have at least one content block which may be empty. However, it can have as many content
69
- blocks as necessary. This functionality can be used, for example, to provide the main content of an
70
- HTML page in one block and sidebar content in another one.
71
-
72
- Each content block needs to have a unique name and additional options can also be set. The name
73
- uniquely identifies a content block and is used to access it. The only option used by webgen is the
74
- `pipeline` option which specifies the processing pipeline for the block. The processing pipeline is
75
- used for rendering the block by using the specified content processors in the specified order. There
76
- are many different content processors available - have a look at the [extensions
77
- page](extensions.html) for an overview.
78
-
79
- webgen extensions that use files in Webgen Page Format may specify defaults for the name and the
80
- options of a block but these defaults can be overwritten. You can use one of two ways to do this:
81
-
82
- * you either specify the name and additional options of the block on the starting line with the
83
- three dashes
84
-
85
- * or you use the special meta information `block` to define the names and options of one or all
86
- blocks.
87
-
88
- The following example uses the first technique to override the name and/or the `pipeline` option:
89
-
90
- 1. content block of the file
91
- --- name:sidebar pipeline:kramdown,tags
92
- 2. content block of the file
93
- --- name:other
94
- 3. content block of the file
95
-
96
- The first block has no identifieres set (there is no line with three dashes and the identifieres).
97
- Therefore the default value for the name is used: `content`. The second block is named `sidebar` and
98
- uses the processing pipeline `kramdown,tags`. As you can see, the name of a block as well as
99
- additional options are specified by stating the key (e.g. `name` or `pipeline`) followed by a colon
100
- and the value. Multiple options are separated via one or more spaces. The value of a block option is
101
- parsed with YAML. For example, when specifying `use_something:true` the value `true` is
102
- automatically converted from the string `true` to the boolean `true`.
103
-
104
- > Only the first block gets the default name of `content`. The second and following blocks have
105
- > numbered names like `block2`, `block3` and so on.
106
- {:.information}
107
-
108
- You can also set the name and additional options of the content blocks by using the special `blocks`
109
- meta information. It is a hash using the index of a block (or the special value `default`) as key
110
- and the options as values. The above example can therefore also be written like this:
111
-
112
- ---
113
- blocks: \{2: {name: sidebar, pipeline: kramdown,tags}, 3: {name: other}}
114
- ---
115
- 1. content block of the file
116
- ---
117
- 2. content block of the file
118
- ---
119
- 3. content block of the file
120
-
121
- When selecting a value for the name of a block or an option, the following precedence is used (from
122
- low to high):
123
-
124
- * global defaults set via the `default` key of the meta information `blocks`
125
- * block defaults set via the meta information `blocks`
126
- * the `--- line` options
127
-
128
- As stated above, the "option" `name` is special insofar that when it is not set, an automatic name
129
- gets generated.
@@ -1,8 +0,0 @@
1
- website_styles/*/default.template:
2
- template: ~
3
-
4
- website_styles/*/:
5
- index_path: style.html
6
-
7
- website_styles/:
8
- index_path: ~
@@ -1,66 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- require 'webgen/cli'
4
- require 'webgen/websitemanager'
5
-
6
- module Webgen::CLI
7
-
8
- # The CLI command for applying a bundle to a webgen website.
9
- class ApplyCommand < CmdParse::Command
10
-
11
- def initialize #:nodoc:
12
- super('apply', false)
13
- @force = false
14
-
15
- self.short_desc = 'Apply a website bundle to an existing webgen website'
16
- self.options = CmdParse::OptionParserWrapper.new do |opts|
17
- opts.separator "Options:"
18
- opts.on('-f', '--[no-]force', 'Specifies whether files should be overwritten (default: no)') do |val|
19
- @force = val
20
- end
21
- opts.separator ""
22
- opts.separator "Arguments:"
23
- opts.separator opts.summary_indent + "BUNDLE_NAME: The name of a bundle shipped with webgen. The name is "
24
- opts.separator opts.summary_indent + " matched against all possible bundle names and if there is only "
25
- opts.separator opts.summary_indent + " match the bundle is applied."
26
- opts.separator opts.summary_indent + "BUNDLE_URL: The URL of a bundle (needs to be a tar archive"
27
- end
28
- end
29
-
30
- def usage # :nodoc:
31
- "Usage: #{commandparser.program_name} [global options] apply [options] (BUNDLE_NAME|BUNDLE_URL)"
32
- end
33
-
34
- def show_help # :nodoc:
35
- super
36
- wm = Webgen::WebsiteManager.new(commandparser.directory)
37
-
38
- puts
39
- puts "Available bundles:"
40
- puts Utils.headline('Bundles')
41
- wm.bundles.sort.each {|name, entry| Utils.hash_output(name, entry.instance_eval { @table }) }
42
- end
43
-
44
- # Apply the style specified in <tt>args[0]</tt> to the webgen website.
45
- def execute(args)
46
- wm = Webgen::WebsiteManager.new(commandparser.directory)
47
- if !File.directory?(wm.website.directory)
48
- raise "You need to specify a valid webgen website directory!"
49
- elsif args.length == 0
50
- raise OptionParser::MissingArgument.new('STYLE')
51
- else
52
- name = Utils.match_bundle_name(wm, args[0])
53
- puts "The following files in the website directory will be created or overwritten:"
54
- puts wm.bundles[name].paths.sort.join("\n")
55
- continue = @force
56
- if !continue
57
- print "Procede? (yes/no): "
58
- continue = ($stdin.readline =~ /y(es)?/)
59
- end
60
- wm.apply_bundle(name) if continue
61
- end
62
- end
63
-
64
- end
65
-
66
- end
@@ -1,22 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- require 'webgen/cli'
4
-
5
- module Webgen::CLI
6
-
7
- # The CLI command for rendering a webgen website.
8
- class RunCommand < CmdParse::Command
9
-
10
- def initialize # :nodoc:
11
- super('render', false)
12
- self.short_desc = 'Render the webgen website'
13
- end
14
-
15
- # Render the website.
16
- def execute(args)
17
- commandparser.create_website.render
18
- end
19
-
20
- end
21
-
22
- end
@@ -1,68 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- require 'webgen/cli'
4
-
5
- module Webgen::CLI
6
-
7
- # The CLI command for starting the webgen webgui.
8
- class WebguiCommand < CmdParse::Command
9
-
10
- def initialize # :nodoc:
11
- super('webgui', false)
12
- self.short_desc = 'Starts the webgen webgui'
13
- end
14
-
15
- # Render the website.
16
- def execute(args)
17
- # some fixes for ramaze-2009.04
18
- # - fix for Windows when win32console is not installed
19
- # - fix for message displayed on shutdown
20
- # - fix for warning message
21
- $:.unshift File.join(Webgen.data_dir, 'webgui', 'overrides')
22
- require 'win32console'
23
- $:.shift
24
- begin
25
- oldv, $VERBOSE = $VERBOSE, nil
26
- begin
27
- require 'ramaze/snippets/object/__dir__'
28
- Object.__send__(:include, Ramaze::CoreExtensions::Object)
29
- require 'ramaze'
30
- rescue LoadError
31
- puts "The Ramaze web framework which is needed for the webgui was not found."
32
- puts "You can install it via 'gem install ramaze --version 2009.04'"
33
- return
34
- end
35
- ensure
36
- $VERBOSE = oldv
37
- end
38
- def Ramaze.shutdown; # :nodoc:
39
- end
40
-
41
- require File.join(Webgen.data_dir, 'webgui', 'app.rb')
42
- Ramaze::Log.loggers = []
43
- Ramaze.options[:middleware_compiler]::COMPILED[:dev].middlewares.delete_if do |app, args, block|
44
- app == Rack::CommonLogger
45
- end
46
-
47
- puts 'Starting webgui on http://localhost:7000, press Control-C to stop'
48
-
49
- Thread.new do
50
- begin
51
- require 'launchy'
52
- sleep 1
53
- puts 'Launching web browser'
54
- Launchy.open('http://localhost:7000')
55
- rescue LoadError
56
- puts "Can't open browser because the launchy library was not found."
57
- puts "You can install it via 'gem install launchy'"
58
- puts "Please open a browser window and enter 'http://localhost:7000' into the address bar!"
59
- end
60
- end
61
-
62
- Ramaze.start(:adapter => :webrick, :port => 7000, :file => File.join(Webgen.data_dir, 'webgui', 'app.rb'))
63
- puts 'webgui finished'
64
- end
65
-
66
- end
67
-
68
- end
data/lib/webgen/common.rb DELETED
@@ -1,27 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- module Webgen
4
-
5
- # Namespace for classes and methods that provide common functionality.
6
- module Common
7
-
8
- autoload :Sitemap, 'webgen/common/sitemap'
9
-
10
- # Return the constant object for the given absolute constant +name+.
11
- def self.const_for_name(name)
12
- name.split('::').inject(Object) {|b,n| b.const_get(n)}
13
- end
14
-
15
- # Return the error line by inspecting the backtrace of the given +error+ instance.
16
- def self.error_line(error)
17
- (error.is_a?(::SyntaxError) ? error.message : error.backtrace[0]).scan(/:(\d+)/).first.first.to_i rescue nil
18
- end
19
-
20
- # Return the file name where the error occured.
21
- def self.error_file(error)
22
- (error.is_a?(::SyntaxError) ? error.message : error.backtrace[0]).scan(/(?:^|\s)(.*?):(\d+)/).first.first
23
- end
24
-
25
- end
26
-
27
- end