webgen 0.5.17 → 1.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|