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.
- data/API.rdoc +143 -0
- data/AUTHORS +0 -1
- data/COPYING +17 -8
- data/ChangeLog +4456 -0
- data/GPL +623 -289
- data/README.md +71 -0
- data/Rakefile +87 -99
- data/VERSION +1 -1
- data/bin/webgen +1 -7
- data/data/webgen/basic_website_template/ext/init.rb +15 -0
- data/data/webgen/basic_website_template/webgen.config +18 -0
- data/data/webgen/bundle_template_files/README.md.erb +24 -0
- data/data/webgen/bundle_template_files/Rakefile.erb +36 -0
- data/data/webgen/bundle_template_files/info.yaml.erb +16 -0
- data/data/webgen/bundle_template_files/init.rb.erb +1 -0
- data/data/webgen/passive_sources/default.metainfo +32 -0
- data/data/webgen/passive_sources/stylesheets/coderay-default.css +109 -118
- data/data/webgen/passive_sources/templates/feed.template +62 -0
- data/data/webgen/passive_sources/templates/sitemap.template +3 -6
- data/data/webgen/passive_sources/templates/tag.template +42 -0
- data/data/webgen/website_bundles/default/README +2 -2
- data/lib/webgen/blackboard.rb +15 -51
- data/lib/webgen/bundle/built-in-show-changes/init.rb +54 -0
- data/lib/webgen/bundle/built-in/init.rb +366 -0
- data/lib/webgen/bundle_loader.rb +126 -0
- data/lib/webgen/cache.rb +9 -18
- data/lib/webgen/cli.rb +131 -58
- data/lib/webgen/cli/bundle_command.rb +30 -0
- data/lib/webgen/cli/create_bundle_command.rb +46 -0
- data/lib/webgen/cli/create_command.rb +48 -60
- data/lib/webgen/cli/generate_command.rb +25 -0
- data/lib/webgen/cli/install_bundle_command.rb +34 -0
- data/lib/webgen/cli/list_bundle_command.rb +108 -0
- data/lib/webgen/cli/logger.rb +45 -0
- data/lib/webgen/cli/show_command.rb +30 -0
- data/lib/webgen/cli/show_config_command.rb +63 -0
- data/lib/webgen/cli/show_dependencies_command.rb +103 -0
- data/lib/webgen/cli/show_extensions_command.rb +74 -0
- data/lib/webgen/cli/utils.rb +68 -95
- data/lib/webgen/configuration.rb +143 -105
- data/lib/webgen/content_processor.rb +160 -0
- data/lib/webgen/content_processor/blocks.rb +96 -0
- data/lib/webgen/content_processor/builder.rb +25 -0
- data/lib/webgen/content_processor/erb.rb +25 -0
- data/lib/webgen/content_processor/erubis.rb +31 -0
- data/lib/webgen/content_processor/fragments.rb +82 -0
- data/lib/webgen/content_processor/haml.rb +25 -0
- data/lib/webgen/content_processor/html_head.rb +157 -0
- data/lib/webgen/content_processor/kramdown.rb +49 -0
- data/lib/webgen/content_processor/maruku.rb +39 -0
- data/lib/webgen/content_processor/r_discount.rb +21 -0
- data/lib/webgen/content_processor/rdoc.rb +22 -0
- data/lib/webgen/content_processor/redcloth.rb +23 -0
- data/lib/webgen/content_processor/ruby.rb +20 -0
- data/lib/webgen/content_processor/sass.rb +145 -0
- data/lib/webgen/content_processor/scss.rb +23 -0
- data/lib/webgen/content_processor/tags.rb +30 -0
- data/lib/webgen/content_processor/tidy.rb +32 -0
- data/lib/webgen/content_processor/tikz.rb +116 -0
- data/lib/webgen/content_processor/xmllint.rb +31 -0
- data/lib/webgen/context.rb +57 -29
- data/lib/webgen/context/html_head.rb +60 -0
- data/lib/webgen/context/nodes.rb +32 -27
- data/lib/webgen/context/rendering.rb +39 -0
- data/lib/webgen/context/webgen_tags.rb +25 -0
- data/lib/webgen/core_ext.rb +25 -0
- data/lib/webgen/destination.rb +151 -0
- data/lib/webgen/destination/file_system.rb +62 -0
- data/lib/webgen/error.rb +59 -49
- data/lib/webgen/extension_manager.rb +121 -0
- data/lib/webgen/item_tracker.rb +237 -0
- data/lib/webgen/item_tracker/file.rb +39 -0
- data/lib/webgen/item_tracker/missing_node.rb +61 -0
- data/lib/webgen/item_tracker/node_content.rb +40 -0
- data/lib/webgen/item_tracker/node_meta_info.rb +53 -0
- data/lib/webgen/item_tracker/nodes.rb +92 -0
- data/lib/webgen/logger.rb +26 -82
- data/lib/webgen/node.rb +122 -367
- data/lib/webgen/node_finder.rb +336 -0
- data/lib/webgen/page.rb +48 -85
- data/lib/webgen/path.rb +218 -156
- data/lib/webgen/path_handler.rb +400 -0
- data/lib/webgen/path_handler/base.rb +220 -0
- data/lib/webgen/path_handler/copy.rb +78 -0
- data/lib/webgen/path_handler/directory.rb +21 -0
- data/lib/webgen/path_handler/feed.rb +82 -0
- data/lib/webgen/path_handler/meta_info.rb +84 -0
- data/lib/webgen/path_handler/page.rb +38 -0
- data/lib/webgen/path_handler/page_utils.rb +79 -0
- data/lib/webgen/path_handler/sitemap.rb +52 -0
- data/lib/webgen/path_handler/template.rb +96 -0
- data/lib/webgen/path_handler/virtual.rb +85 -0
- data/lib/webgen/{webgentask.rb → rake_task.rb} +31 -27
- data/lib/webgen/source.rb +106 -24
- data/lib/webgen/source/file_system.rb +41 -0
- data/lib/webgen/source/stacked.rb +49 -53
- data/lib/webgen/source/tar_archive.rb +59 -0
- data/lib/webgen/tag.rb +250 -19
- data/lib/webgen/tag/breadcrumb_trail.rb +65 -0
- data/lib/webgen/tag/coderay.rb +32 -35
- data/lib/webgen/tag/date.rb +9 -9
- data/lib/webgen/tag/execute_command.rb +31 -0
- data/lib/webgen/tag/include_file.rb +32 -0
- data/lib/webgen/tag/langbar.rb +31 -47
- data/lib/webgen/tag/link.rb +17 -18
- data/lib/webgen/tag/menu.rb +27 -189
- data/lib/webgen/tag/meta_info.rb +31 -0
- data/lib/webgen/tag/relocatable.rb +48 -39
- data/lib/webgen/tag/tikz.rb +24 -100
- data/lib/webgen/task.rb +99 -0
- data/lib/webgen/task/create_bundle.rb +73 -0
- data/lib/webgen/task/create_website.rb +94 -0
- data/lib/webgen/task/generate_website.rb +47 -0
- data/lib/webgen/test_helper.rb +183 -0
- data/lib/webgen/tree.rb +95 -46
- data/lib/webgen/utils.rb +39 -0
- data/lib/webgen/utils/external_command.rb +27 -0
- data/lib/webgen/utils/tag_parser.rb +124 -0
- data/lib/webgen/version.rb +1 -1
- data/lib/webgen/website.rb +134 -296
- data/setup.rb +1 -1
- data/test/test_documentation.rb +43 -0
- data/test/webgen/cli/test_logger.rb +41 -0
- data/test/{test_contentprocessor_blocks.rb → webgen/content_processor/test_blocks.rb} +30 -28
- data/test/webgen/content_processor/test_builder.rb +25 -0
- data/test/webgen/content_processor/test_erb.rb +21 -0
- data/test/webgen/content_processor/test_erubis.rb +33 -0
- data/test/webgen/content_processor/test_fragments.rb +96 -0
- data/test/webgen/content_processor/test_haml.rb +24 -0
- data/test/webgen/content_processor/test_html_head.rb +78 -0
- data/test/webgen/content_processor/test_kramdown.rb +49 -0
- data/test/webgen/content_processor/test_maruku.rb +30 -0
- data/test/webgen/content_processor/test_r_discount.rb +18 -0
- data/test/webgen/content_processor/test_rdoc.rb +18 -0
- data/test/webgen/content_processor/test_redcloth.rb +23 -0
- data/test/webgen/content_processor/test_ruby.rb +24 -0
- data/test/webgen/content_processor/test_sass.rb +44 -0
- data/test/webgen/content_processor/test_scss.rb +23 -0
- data/test/webgen/content_processor/test_tags.rb +44 -0
- data/test/webgen/content_processor/test_tidy.rb +31 -0
- data/test/webgen/content_processor/test_tikz.rb +33 -0
- data/test/webgen/content_processor/test_xmllint.rb +32 -0
- data/test/webgen/destination/test_file_system.rb +54 -0
- data/test/webgen/item_tracker/test_file.rb +31 -0
- data/test/webgen/item_tracker/test_missing_node.rb +70 -0
- data/test/webgen/item_tracker/test_node_content.rb +42 -0
- data/test/webgen/item_tracker/test_node_meta_info.rb +44 -0
- data/test/webgen/item_tracker/test_nodes.rb +61 -0
- data/test/webgen/path_handler/test_base.rb +153 -0
- data/test/webgen/path_handler/test_copy.rb +56 -0
- data/test/webgen/path_handler/test_feed.rb +85 -0
- data/test/webgen/path_handler/test_meta_info.rb +98 -0
- data/test/webgen/path_handler/test_page.rb +25 -0
- data/test/webgen/path_handler/test_page_utils.rb +59 -0
- data/test/webgen/path_handler/test_sitemap.rb +95 -0
- data/test/webgen/path_handler/test_template.rb +64 -0
- data/test/webgen/path_handler/test_virtual.rb +87 -0
- data/test/webgen/source/test_file_system.rb +51 -0
- data/test/webgen/source/test_stacked.rb +35 -0
- data/test/{test_source_tararchive.rb → webgen/source/test_tar_archive.rb} +10 -25
- data/test/webgen/tag/test_breadcrumb_trail.rb +66 -0
- data/test/webgen/tag/test_coderay.rb +34 -0
- data/test/webgen/tag/test_date.rb +18 -0
- data/test/webgen/tag/test_execute_command.rb +36 -0
- data/test/webgen/tag/test_include_file.rb +35 -0
- data/test/webgen/tag/test_langbar.rb +50 -0
- data/test/webgen/tag/test_link.rb +40 -0
- data/test/webgen/tag/test_menu.rb +61 -0
- data/test/webgen/tag/test_meta_info.rb +25 -0
- data/test/webgen/tag/test_relocatable.rb +50 -0
- data/test/webgen/tag/test_tikz.rb +41 -0
- data/test/webgen/task/test_create_website.rb +46 -0
- data/test/webgen/test_blackboard.rb +31 -0
- data/test/webgen/test_bundle_loader.rb +55 -0
- data/test/{test_cache.rb → webgen/test_cache.rb} +3 -15
- data/test/webgen/test_cli.rb +41 -0
- data/test/webgen/test_configuration.rb +131 -0
- data/test/webgen/test_content_processor.rb +86 -0
- data/test/webgen/test_context.rb +73 -0
- data/test/webgen/test_core_ext.rb +20 -0
- data/test/webgen/test_destination.rb +48 -0
- data/test/webgen/test_error.rb +121 -0
- data/test/webgen/test_extension_manager.rb +70 -0
- data/test/webgen/test_item_tracker.rb +106 -0
- data/test/{test_languages.rb → webgen/test_languages.rb} +4 -4
- data/test/webgen/test_logger.rb +46 -0
- data/test/webgen/test_node.rb +178 -0
- data/test/webgen/test_node_finder.rb +127 -0
- data/test/{test_page.rb → webgen/test_page.rb} +44 -48
- data/test/webgen/test_path.rb +271 -0
- data/test/{test_webgentask.rb → webgen/test_rake_task.rb} +4 -4
- data/test/webgen/test_source.rb +59 -0
- data/test/webgen/test_tag.rb +137 -0
- data/test/webgen/test_task.rb +40 -0
- data/test/webgen/test_tree.rb +147 -0
- data/test/webgen/test_utils.rb +16 -0
- data/test/webgen/test_website.rb +45 -0
- data/test/webgen/utils/test_tag_parser.rb +99 -0
- metadata +292 -344
- data/data/webgen/passive_sources/templates/atom_feed.template +0 -39
- data/data/webgen/passive_sources/templates/rss_feed.template +0 -28
- data/data/webgen/resources.yaml +0 -4
- data/data/webgen/webgui/app.rb +0 -11
- data/data/webgen/webgui/controller/main.rb +0 -135
- data/data/webgen/webgui/layout/default.xhtml +0 -40
- data/data/webgen/webgui/overrides/win32console.rb +0 -0
- data/data/webgen/webgui/public/css/jquery.autocomplete.css +0 -50
- data/data/webgen/webgui/public/css/ramaze_error.css +0 -90
- data/data/webgen/webgui/public/css/style.css +0 -55
- data/data/webgen/webgui/public/img/headerbg.jpg +0 -0
- data/data/webgen/webgui/public/img/webgen_logo.png +0 -0
- data/data/webgen/webgui/public/js/jquery.autocomplete.js +0 -15
- data/data/webgen/webgui/public/js/jquery.js +0 -32
- data/data/webgen/webgui/start.rb +0 -9
- data/data/webgen/webgui/view/create_website.xhtml +0 -14
- data/data/webgen/webgui/view/error.xhtml +0 -64
- data/data/webgen/webgui/view/index.xhtml +0 -22
- data/data/webgen/webgui/view/manage_website.xhtml +0 -18
- data/data/webgen/website_skeleton/README +0 -10
- data/data/webgen/website_skeleton/Rakefile +0 -69
- data/data/webgen/website_skeleton/config.yaml +0 -35
- data/data/webgen/website_skeleton/ext/init.rb +0 -10
- data/doc/contentprocessor.template +0 -11
- data/doc/contentprocessor/blocks.page +0 -129
- data/doc/contentprocessor/builder.page +0 -79
- data/doc/contentprocessor/erb.page +0 -60
- data/doc/contentprocessor/erubis.page +0 -46
- data/doc/contentprocessor/fragments.page +0 -26
- data/doc/contentprocessor/haml.page +0 -46
- data/doc/contentprocessor/head.page +0 -31
- data/doc/contentprocessor/kramdown.page +0 -49
- data/doc/contentprocessor/less.page +0 -34
- data/doc/contentprocessor/maruku.page +0 -44
- data/doc/contentprocessor/rdiscount.page +0 -37
- data/doc/contentprocessor/rdoc.page +0 -36
- data/doc/contentprocessor/redcloth.page +0 -41
- data/doc/contentprocessor/sass.page +0 -31
- data/doc/contentprocessor/scss.page +0 -39
- data/doc/contentprocessor/tags.page +0 -73
- data/doc/contentprocessor/tidy.page +0 -14
- data/doc/contentprocessor/xmllint.page +0 -14
- data/doc/extensions.metainfo +0 -29
- data/doc/extensions.page +0 -15
- data/doc/extensions.template +0 -17
- data/doc/faq.page +0 -222
- data/doc/getting_started.page +0 -135
- data/doc/index.page +0 -71
- data/doc/manual.page +0 -727
- data/doc/reference_configuration.page +0 -1254
- data/doc/reference_metainfo.page +0 -265
- data/doc/reference_website_styles.page +0 -32
- data/doc/source/filesystem.page +0 -41
- data/doc/source/tararchive.page +0 -40
- data/doc/sourcehandler.template +0 -23
- data/doc/sourcehandler/copy.page +0 -19
- data/doc/sourcehandler/directory.page +0 -27
- data/doc/sourcehandler/feed.page +0 -102
- data/doc/sourcehandler/metainfo.page +0 -48
- data/doc/sourcehandler/page.page +0 -14
- data/doc/sourcehandler/sitemap.page +0 -46
- data/doc/sourcehandler/template.page +0 -45
- data/doc/sourcehandler/virtual.page +0 -49
- data/doc/tag.template +0 -25
- data/doc/tag/breadcrumbtrail.page +0 -40
- data/doc/tag/coderay.page +0 -53
- data/doc/tag/date.page +0 -31
- data/doc/tag/executecommand.page +0 -26
- data/doc/tag/includefile.page +0 -32
- data/doc/tag/langbar.page +0 -47
- data/doc/tag/link.page +0 -44
- data/doc/tag/menu.page +0 -109
- data/doc/tag/metainfo.page +0 -29
- data/doc/tag/relocatable.page +0 -38
- data/doc/tag/sitemap.page +0 -31
- data/doc/tag/tikz.page +0 -159
- data/doc/upgrading.page +0 -138
- data/doc/webgen_page_format.page +0 -129
- data/doc/website_styles.metainfo +0 -8
- data/lib/webgen/cli/apply_command.rb +0 -66
- data/lib/webgen/cli/run_command.rb +0 -22
- data/lib/webgen/cli/webgui_command.rb +0 -68
- data/lib/webgen/common.rb +0 -27
- data/lib/webgen/common/sitemap.rb +0 -83
- data/lib/webgen/contentprocessor.rb +0 -117
- data/lib/webgen/contentprocessor/blocks.rb +0 -92
- data/lib/webgen/contentprocessor/builder.rb +0 -29
- data/lib/webgen/contentprocessor/erb.rb +0 -26
- data/lib/webgen/contentprocessor/erubis.rb +0 -39
- data/lib/webgen/contentprocessor/fragments.rb +0 -25
- data/lib/webgen/contentprocessor/haml.rb +0 -34
- data/lib/webgen/contentprocessor/head.rb +0 -128
- data/lib/webgen/contentprocessor/kramdown.rb +0 -27
- data/lib/webgen/contentprocessor/kramdown/html.rb +0 -36
- data/lib/webgen/contentprocessor/less.rb +0 -35
- data/lib/webgen/contentprocessor/maruku.rb +0 -36
- data/lib/webgen/contentprocessor/rdiscount.rb +0 -19
- data/lib/webgen/contentprocessor/rdoc.rb +0 -20
- data/lib/webgen/contentprocessor/redcloth.rb +0 -21
- data/lib/webgen/contentprocessor/sass.rb +0 -22
- data/lib/webgen/contentprocessor/scss.rb +0 -22
- data/lib/webgen/contentprocessor/tags.rb +0 -170
- data/lib/webgen/contentprocessor/tidy.rb +0 -38
- data/lib/webgen/contentprocessor/xmllint.rb +0 -37
- data/lib/webgen/context/render.rb +0 -32
- data/lib/webgen/context/tags.rb +0 -20
- data/lib/webgen/coreext.rb +0 -13
- data/lib/webgen/default_config.rb +0 -240
- data/lib/webgen/loggable.rb +0 -25
- data/lib/webgen/output.rb +0 -86
- data/lib/webgen/output/filesystem.rb +0 -69
- data/lib/webgen/source/filesystem.rb +0 -61
- data/lib/webgen/source/resource.rb +0 -45
- data/lib/webgen/source/tararchive.rb +0 -78
- data/lib/webgen/sourcehandler.rb +0 -275
- data/lib/webgen/sourcehandler/base.rb +0 -281
- data/lib/webgen/sourcehandler/copy.rb +0 -44
- data/lib/webgen/sourcehandler/directory.rb +0 -30
- data/lib/webgen/sourcehandler/feed.rb +0 -92
- data/lib/webgen/sourcehandler/fragment.rb +0 -70
- data/lib/webgen/sourcehandler/memory.rb +0 -42
- data/lib/webgen/sourcehandler/metainfo.rb +0 -128
- data/lib/webgen/sourcehandler/page.rb +0 -64
- data/lib/webgen/sourcehandler/sitemap.rb +0 -60
- data/lib/webgen/sourcehandler/template.rb +0 -66
- data/lib/webgen/sourcehandler/virtual.rb +0 -117
- data/lib/webgen/tag/base.rb +0 -170
- data/lib/webgen/tag/breadcrumbtrail.rb +0 -70
- data/lib/webgen/tag/executecommand.rb +0 -31
- data/lib/webgen/tag/includefile.rb +0 -42
- data/lib/webgen/tag/metainfo.rb +0 -27
- data/lib/webgen/tag/sitemap.rb +0 -41
- data/lib/webgen/websiteaccess.rb +0 -31
- data/lib/webgen/websitemanager.rb +0 -125
- data/misc/default.css +0 -403
- data/misc/default.template +0 -76
- data/misc/htmldoc.metainfo +0 -26
- data/misc/htmldoc.virtual +0 -17
- data/misc/images/arrow.gif +0 -0
- data/misc/images/error.png +0 -0
- data/misc/images/headerbg.jpg +0 -0
- data/misc/images/important.png +0 -0
- data/misc/images/information.png +0 -0
- data/misc/images/quote.gif +0 -0
- data/misc/images/warning.png +0 -0
- data/misc/logo.svg +0 -313
- data/misc/style.page +0 -33
- data/test/helper.rb +0 -61
- data/test/test_blackboard.rb +0 -60
- data/test/test_cli.rb +0 -119
- data/test/test_common_sitemap.rb +0 -58
- data/test/test_configuration.rb +0 -68
- data/test/test_contentprocessor.rb +0 -39
- data/test/test_contentprocessor_builder.rb +0 -41
- data/test/test_contentprocessor_erb.rb +0 -33
- data/test/test_contentprocessor_erubis.rb +0 -62
- data/test/test_contentprocessor_fragments.rb +0 -43
- data/test/test_contentprocessor_haml.rb +0 -39
- data/test/test_contentprocessor_head.rb +0 -96
- data/test/test_contentprocessor_kramdown.rb +0 -56
- data/test/test_contentprocessor_less.rb +0 -40
- data/test/test_contentprocessor_maruku.rb +0 -33
- data/test/test_contentprocessor_rdiscount.rb +0 -21
- data/test/test_contentprocessor_rdoc.rb +0 -22
- data/test/test_contentprocessor_redcloth.rb +0 -26
- data/test/test_contentprocessor_sass.rb +0 -28
- data/test/test_contentprocessor_scss.rb +0 -28
- data/test/test_contentprocessor_tags.rb +0 -122
- data/test/test_contentprocessor_tidy.rb +0 -34
- data/test/test_contentprocessor_xmllint.rb +0 -38
- data/test/test_context.rb +0 -81
- data/test/test_error.rb +0 -93
- data/test/test_loggable.rb +0 -32
- data/test/test_logger.rb +0 -94
- data/test/test_node.rb +0 -469
- data/test/test_output_filesystem.rb +0 -60
- data/test/test_path.rb +0 -241
- data/test/test_source_filesystem.rb +0 -76
- data/test/test_source_resource.rb +0 -28
- data/test/test_source_stacked.rb +0 -49
- data/test/test_sourcehandler_base.rb +0 -136
- data/test/test_sourcehandler_copy.rb +0 -47
- data/test/test_sourcehandler_directory.rb +0 -38
- data/test/test_sourcehandler_feed.rb +0 -88
- data/test/test_sourcehandler_fragment.rb +0 -70
- data/test/test_sourcehandler_main.rb +0 -39
- data/test/test_sourcehandler_memory.rb +0 -44
- data/test/test_sourcehandler_metainfo.rb +0 -127
- data/test/test_sourcehandler_page.rb +0 -73
- data/test/test_sourcehandler_sitemap.rb +0 -68
- data/test/test_sourcehandler_template.rb +0 -68
- data/test/test_sourcehandler_virtual.rb +0 -106
- data/test/test_tag_base.rb +0 -62
- data/test/test_tag_breadcrumbtrail.rb +0 -91
- data/test/test_tag_coderay.rb +0 -45
- data/test/test_tag_date.rb +0 -18
- data/test/test_tag_executecommand.rb +0 -41
- data/test/test_tag_includefile.rb +0 -50
- data/test/test_tag_langbar.rb +0 -71
- data/test/test_tag_link.rb +0 -70
- data/test/test_tag_menu.rb +0 -207
- data/test/test_tag_metainfo.rb +0 -26
- data/test/test_tag_relocatable.rb +0 -60
- data/test/test_tag_sitemap.rb +0 -47
- data/test/test_tag_tikz.rb +0 -69
- data/test/test_tree.rb +0 -70
- data/test/test_website.rb +0 -130
- data/test/test_websiteaccess.rb +0 -25
- 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
|
-
|
|
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/
|
|
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::
|
|
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
|
-
|
|
62
|
+
RDoc::Task.new do |rdoc|
|
|
73
63
|
rdoc.rdoc_dir = 'htmldoc/rdoc'
|
|
74
64
|
rdoc.title = 'webgen'
|
|
75
|
-
rdoc.main = '
|
|
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
|
-
|
|
81
|
-
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
|
-
'
|
|
117
|
-
'test/test_*.rb',
|
|
118
|
-
'test/helper.rb',
|
|
107
|
+
'test/**/*',
|
|
119
108
|
]) do |fl|
|
|
120
|
-
fl.exclude('
|
|
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
|
-
|
|
142
|
-
spec = Gem::Specification.new do |s|
|
|
130
|
+
spec = Gem::Specification.new do |s|
|
|
143
131
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
|
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
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
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::
|
|
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
|
|
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(
|
|
276
|
+
failed.each {|file| puts "Problem with" + file.rjust(60) }
|
|
288
277
|
end
|
|
289
278
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
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{*,**/*}',
|
|
303
|
-
'lib/webgen/*/base.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/
|
|
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.
|
|
1
|
+
1.0.0.beta1
|
data/bin/webgen
CHANGED
|
@@ -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
|