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
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Builder
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This content processor can be used to programatically create XHTML/XML documents
|
|
7
|
-
([Reference][1]). The top builder object is provided through the `xml` object. There are also other
|
|
8
|
-
objects provided by webgen available - have a look at the [erb documentation](erb.html).
|
|
9
|
-
|
|
10
|
-
> This extension is only available if you have installed the [builder][1] library. The preferred way
|
|
11
|
-
> to do this is via Rubygems:
|
|
12
|
-
>
|
|
13
|
-
> gem install builder
|
|
14
|
-
{:.warning}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
## Examples
|
|
18
|
-
|
|
19
|
-
Here is a short sample of content that is valid Ruby and uses the special `xml` object:
|
|
20
|
-
|
|
21
|
-
xml.h1("This a h1 header", :id => 'myid')
|
|
22
|
-
|
|
23
|
-
xml.p do |p|
|
|
24
|
-
p.text! "You can just write "
|
|
25
|
-
p.b "your"
|
|
26
|
-
p.text! "paragraphs here and"
|
|
27
|
-
p.a("link", :href => "http://someurl.com")
|
|
28
|
-
p.text! "them below. This is also a"
|
|
29
|
-
p.i "nice"
|
|
30
|
-
p.text! "format!"
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
xml.blockquote(:class => 'information') do |bq|
|
|
34
|
-
bq.text! "Citations are easy too."
|
|
35
|
-
bq.text! "Really. And you can assign them attributes."
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
xml.ul do |ul|
|
|
39
|
-
ul.li "Lists"
|
|
40
|
-
ul.li "aren't"
|
|
41
|
-
ul.li "difficult"
|
|
42
|
-
ul.li "either."
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
Following is a complete example which shows how to use this extension in a page file which generates
|
|
47
|
-
a custom XML document (the `content` block has to be valid Ruby!):
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
output_path_style: [:parent, :basename, ['.', :lang], '.xml']
|
|
51
|
-
title: Person Object
|
|
52
|
-
template: ~
|
|
53
|
-
--- pipeline:builder
|
|
54
|
-
xml.persons(:path => context.node.alcn) do |p|
|
|
55
|
-
p.person do |b|
|
|
56
|
-
b.firstname('Thomas')
|
|
57
|
-
b.lastname('Leitner')
|
|
58
|
-
end
|
|
59
|
-
p.person do |b|
|
|
60
|
-
b.firstname('Other first')
|
|
61
|
-
b.lastname('Other last')
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
The above will produce the following output:
|
|
66
|
-
|
|
67
|
-
<persons path="/test.xml">
|
|
68
|
-
<person>
|
|
69
|
-
<firstname>Thomas</firstname>
|
|
70
|
-
<lastname>Leitner</lastname>
|
|
71
|
-
</person>
|
|
72
|
-
<person>
|
|
73
|
-
<firstname>Other first</firstname>
|
|
74
|
-
<lastname>Other last</lastname>
|
|
75
|
-
</person>
|
|
76
|
-
</persons>
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
[1]: http://builder.rubyforge.org "Homepage of builder library"
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Erb
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This processer uses ERB (embedded Ruby) to process content. For detailed information about ERB have
|
|
7
|
-
a look at its documentation by executing `ri ERB` or the [ruby documentation
|
|
8
|
-
site](http://www.ruby-doc.org/)!
|
|
9
|
-
|
|
10
|
-
You can use the special object `context` in your ERB code which provides the whole rendering context
|
|
11
|
-
and, for example, the following useful methods:
|
|
12
|
-
|
|
13
|
-
* `website`: Provides access to the `Webgen::Website` object which can be used to access all aspects
|
|
14
|
-
of the currently rendered website.
|
|
15
|
-
|
|
16
|
-
* `node` (or `content_node`): The node that gets currently rendered. Should be used for retrieving
|
|
17
|
-
meta information.
|
|
18
|
-
|
|
19
|
-
* `ref_node`: The reference node which is the source of the ERB code that is executed. Should be
|
|
20
|
-
used, for example, for resolving paths.
|
|
21
|
-
|
|
22
|
-
* `dest_node`: The node in which the result gets inserted. Should be used for calculating relative
|
|
23
|
-
paths.
|
|
24
|
-
|
|
25
|
-
For a complete list of supported methods have a look at the API documentation for
|
|
26
|
-
[Webgen::Context](../rdoc/Webgen/Context.html).
|
|
27
|
-
|
|
28
|
-
Here is a small usage example. The following put in a page file
|
|
29
|
-
|
|
30
|
-
Counting 5 items dynamically:
|
|
31
|
-
<%% for i in 1..5 %>
|
|
32
|
-
* item <%%= i %>
|
|
33
|
-
<%% end %>
|
|
34
|
-
|
|
35
|
-
Outputting all meta information:
|
|
36
|
-
<%% context.node.meta_info.each do |k,v| %>
|
|
37
|
-
* <%%= k %> = <%%= v %>
|
|
38
|
-
<%% end %>
|
|
39
|
-
|
|
40
|
-
... will give the result:
|
|
41
|
-
|
|
42
|
-
Counting 5 items dynamically:
|
|
43
|
-
<% for i in 1..5 %>
|
|
44
|
-
* item <%= i %>
|
|
45
|
-
<% end %>
|
|
46
|
-
|
|
47
|
-
Outputting all meta information:
|
|
48
|
-
<% context.node.meta_info.each do |k,v| %>
|
|
49
|
-
* <%= k %> = <%= v %>
|
|
50
|
-
<% end %>
|
|
51
|
-
|
|
52
|
-
The second line shows the first form of the ERB tags which executes Ruby code but does not output
|
|
53
|
-
anything: it just starts a `for` loop. On the third line the second form of ERB tags is used to
|
|
54
|
-
output the result of the Ruby code (note the equation sign!). And the fourth line completes the
|
|
55
|
-
`for` loop by adding the needed `end` keyword.
|
|
56
|
-
|
|
57
|
-
> You may need to ensure that the ERB start and end tags are not processed by the content
|
|
58
|
-
> processor. For example, when using the RedCloth content processor, you may need to surround the
|
|
59
|
-
> ERB code with `<notextile>` tags!
|
|
60
|
-
{:.important}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Erubis
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This processor uses the [Erubis][1] library to process embedded Ruby statements. Erubis is quite a
|
|
7
|
-
bit faster than the standard ERB library that is shipped with Ruby and provides many other useful
|
|
8
|
-
options.
|
|
9
|
-
|
|
10
|
-
> This extension is only available if you have installed the [erubis][1] library. The preferred
|
|
11
|
-
> way to do this is via Rubygems:
|
|
12
|
-
>
|
|
13
|
-
> gem install erubis
|
|
14
|
-
{:.warning}
|
|
15
|
-
|
|
16
|
-
[1]: http://www.kuwata-lab.com/erubis/ "Erubis Homepage"
|
|
17
|
-
|
|
18
|
-
You can use some special objects provided by webgen in your embedded Ruby code. These are the same
|
|
19
|
-
objects that are available to the `erb` processor, have a look at its [documentation
|
|
20
|
-
page](erb.html).
|
|
21
|
-
|
|
22
|
-
The default mode of Erubis works like ERB. So everyting said on the [erb page](erb.html) is also
|
|
23
|
-
true for Erubis. However, you can customize how this processor works by using the following
|
|
24
|
-
configuration options:
|
|
25
|
-
|
|
26
|
-
* `contentprocessor.erubis.use_pi`: Use processing instructions instead of ERB like
|
|
27
|
-
instructions. Normally you use statements like `<%% result = some_method_call(opts) %>` or `<%%=
|
|
28
|
-
context.content_node.alcn %>` in your content. When setting this option to `true`, you can
|
|
29
|
-
use XML processing instructions instead, like this: `<?rb result = some_method_call(opts) ?>` or
|
|
30
|
-
`@{context.content_node.alcn}@`.
|
|
31
|
-
|
|
32
|
-
* `contentprocessor.erubis.options`: This is hash which is passed to the Erubis interpreter and
|
|
33
|
-
which can be used to set additional options.
|
|
34
|
-
|
|
35
|
-
For more information on the additional options or on how to use the processing instructions mode of
|
|
36
|
-
Erubis, have a look at the [Erubis User Guide](http://www.kuwata-lab.com/erubis/users-guide.html)!
|
|
37
|
-
|
|
38
|
-
You can also use block options to modify the behavior of Erubis. The block option `erubis_use_pi` is
|
|
39
|
-
used instead of the configuration option `contentprocessor.erubis.use_pi` and all other block
|
|
40
|
-
options starting with `erubis_` are added the options hash that is passed to the Erubis
|
|
41
|
-
interpreter. For example, the following page tells the Erubis interpreter to use the processing
|
|
42
|
-
instructions mode and to trim spaces:
|
|
43
|
-
|
|
44
|
-
--- erubis_use_pi:true erubis_trim:true
|
|
45
|
-
Here are the numbers from 1 to 5:
|
|
46
|
-
<?rb for i in [1,2,3,4,5] ?>@{i}@<?rb end ?>
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Fragments
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This processor generates nested fragment nodes from all headers `h1` to `h6` which have an `id`
|
|
7
|
-
attribute set.
|
|
8
|
-
|
|
9
|
-
> This is only done for the block named `content` or if no block is associated with the given render
|
|
10
|
-
> context! This is to ensure that fragment nodes are not created from multiple block of one page
|
|
11
|
-
> file. So this content processor has no effect when used in the pipeline of blocks except if the
|
|
12
|
-
> block is named `content`.
|
|
13
|
-
{:.warning}
|
|
14
|
-
|
|
15
|
-
The default markup language kramdown automatically generates an `id` attribute for all headers. If
|
|
16
|
-
you use another markup language or plain old HTML, you might need to set the `id` attributes by
|
|
17
|
-
hand.
|
|
18
|
-
|
|
19
|
-
> The reason why only header tags with an `id` attribute are used is that only those can be
|
|
20
|
-
> referenced and linked to later.
|
|
21
|
-
{:.information}
|
|
22
|
-
|
|
23
|
-
The generated fragment nodes can be used like any other node. So you can link to them and use them
|
|
24
|
-
in a menu. Concerning the menu, there is a setting for the `tag.menu.used_nodes` option called
|
|
25
|
-
`fragments` which only uses the fragment node of the current page to generate a menu. This allows to
|
|
26
|
-
generate a nice overview of the page.
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Haml
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This processor converts the content, which is assumed to be in the Haml markup language, to valid
|
|
7
|
-
XHTML by using the Haml library. For detailed information about Haml have a look at the [Haml
|
|
8
|
-
Homepage][1]!
|
|
9
|
-
|
|
10
|
-
You can use some special objects provided by webgen in your Haml markup. These are the same objects
|
|
11
|
-
that are available to the `erb` processor, have a look at its [documentation page](erb.html).
|
|
12
|
-
|
|
13
|
-
> This extension is only available if you have installed the [haml][1] library. The preferred way to
|
|
14
|
-
> do this is via Rubygems:
|
|
15
|
-
>
|
|
16
|
-
> gem install haml
|
|
17
|
-
{:.warning}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
## Example
|
|
21
|
-
|
|
22
|
-
Here is a short sample of a text in Haml markup:
|
|
23
|
-
|
|
24
|
-
%h1#myid This a h1 header
|
|
25
|
-
|
|
26
|
-
%p
|
|
27
|
-
You can just write
|
|
28
|
-
%b your
|
|
29
|
-
paragraphs here and
|
|
30
|
-
%a{:href => 'http://someurl.com'} link
|
|
31
|
-
them below. This is a
|
|
32
|
-
%strong nice
|
|
33
|
-
format!
|
|
34
|
-
|
|
35
|
-
%blockquote.information
|
|
36
|
-
Citations are easy too.
|
|
37
|
-
Really. And you can assign them attributes.
|
|
38
|
-
|
|
39
|
-
%ul
|
|
40
|
-
%li Lists
|
|
41
|
-
%li aren't
|
|
42
|
-
%li difficult
|
|
43
|
-
%li either.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
[1]: http://haml.hamptoncatlin.com/
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Head
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This processor is used to insert various HTML tags (`link`, `script` and `meta`) before the end of
|
|
7
|
-
the HTML head section. The tags that tags are inserted can be specified in various ways:
|
|
8
|
-
|
|
9
|
-
* Links to used javascript and css files, inline javascript and css content and general meta tags
|
|
10
|
-
can be set by webgen tags (or by any other webgen extension) on a page-per-page basis.
|
|
11
|
-
|
|
12
|
-
* Arbitrary meta tags can be inserted on a page-per-page basis by the user by setting the meta
|
|
13
|
-
information named [`meta`](../reference_metainfo.html#meta) on a page file.
|
|
14
|
-
|
|
15
|
-
* Links to javascript and/or CSS files can be inserted by the user by setting the meta information
|
|
16
|
-
named [`link`](../reference_metainfo.html#link).
|
|
17
|
-
|
|
18
|
-
* Arbitrary link tags can also be inserted by setting the meta information named
|
|
19
|
-
[`link`](../reference_metainfo.html#link). This allows one, for example, to specify which page
|
|
20
|
-
file logically follows or precedes a given page file.
|
|
21
|
-
|
|
22
|
-
The processor also automatically inserts `link` tags to translations of the rendered page file.
|
|
23
|
-
|
|
24
|
-
This content processor should be used on template files since its output is only useful in the head
|
|
25
|
-
section of an HTML file. And it should be the last content processor in the pipeline because
|
|
26
|
-
otherwise not all needed information is available! There is no need for a special markup since the
|
|
27
|
-
HTML head end tag is unique in a HTML element and therefore the insertion place can easily be found.
|
|
28
|
-
|
|
29
|
-
Developers wanting to use the functionality of this content processor should have a look at its [API
|
|
30
|
-
documentation](../rdoc/Webgen/ContentProcessor/Head.html).
|
|
31
|
-
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Kramdown
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This processor converts the content, which is assumed to be in kramdown format, to HTML by using the
|
|
7
|
-
[kramdown][1] library. The kramdown format is basically Markdown with some extensions like automatic
|
|
8
|
-
header ID generation, using markup inside HTML elements and some more. There are a [quick
|
|
9
|
-
reference][2] and a detailed [syntax documentation][3] available on the kramdown homepage.
|
|
10
|
-
|
|
11
|
-
One can customize how this processor works by using the following configuration options:
|
|
12
|
-
|
|
13
|
-
* `contentprocessor.kramdown.handle_links`: If `true` (the default), then all link URLs created via
|
|
14
|
-
kramdown syntax are automatically run through the [relocatable tag](../tag/relocatable.html). This
|
|
15
|
-
avoids using the `relocatable` tag explicitly but ensures valid links nonetheless.
|
|
16
|
-
|
|
17
|
-
* `contentprocesoor.kramdown.options`: This configuration option can be used to customize the
|
|
18
|
-
kramdown processor. Have a look at the [kramdown homepage][1] for available options.
|
|
19
|
-
|
|
20
|
-
> kramdown is the default markup content processor for webgen as its markup syntax is easy to learn
|
|
21
|
-
> and nice to look at. Give it a try!
|
|
22
|
-
{:.info}
|
|
23
|
-
|
|
24
|
-
Example
|
|
25
|
-
-------
|
|
26
|
-
|
|
27
|
-
Here is a short sample of a text in kramdown markup:
|
|
28
|
-
|
|
29
|
-
# This a h1 header
|
|
30
|
-
{:#myid}
|
|
31
|
-
|
|
32
|
-
You can just write *your* paragraphs here and
|
|
33
|
-
[link][1] them below. This is **nice** format!
|
|
34
|
-
|
|
35
|
-
> Citations are easy too.
|
|
36
|
-
> Really. And you can assign them attributes.
|
|
37
|
-
{:.information}
|
|
38
|
-
|
|
39
|
-
* Lists
|
|
40
|
-
* aren't
|
|
41
|
-
* difficult
|
|
42
|
-
* either.
|
|
43
|
-
|
|
44
|
-
[1]: http://someurl.com
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
[1]: http://kramdown.rubyforge.org/
|
|
48
|
-
[2]: http://kramdown.rubyforge.org/syntax.html
|
|
49
|
-
[3]: http://kramdown.rubyforge.org/quickref.html
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Less
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This content processor converts content in LESS format to valid CSS using the [LESS library][1].
|
|
7
|
-
|
|
8
|
-
LESS is an extension of CSS which allows the use of variables, mixins, operations and nested rules.
|
|
9
|
-
Since a normal CSS file is a valid LESS file, the transition to LESS is very easy. For detailed
|
|
10
|
-
information about LESS have a look at its [documentation page][2]!
|
|
11
|
-
|
|
12
|
-
> This extension is only available if you have installed the [less][1] library. The preferred way to
|
|
13
|
-
> do this is via Rubygems:
|
|
14
|
-
>
|
|
15
|
-
> gem install less
|
|
16
|
-
{:.warning}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
## Example
|
|
20
|
-
|
|
21
|
-
Here is a short sample of a text in LESS format:
|
|
22
|
-
|
|
23
|
-
@base: #543;
|
|
24
|
-
|
|
25
|
-
#header {
|
|
26
|
-
color: @base;
|
|
27
|
-
a {
|
|
28
|
-
color: @base * 2;
|
|
29
|
-
text-decoration: underline;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
[1]: http://lesscss.org/
|
|
34
|
-
[2]: http://lesscss.org/docs.html
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Maruku
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This processor converts the content, which is assumed to be in Markdown markup, to HTML by using the
|
|
7
|
-
Maruku library. Maruku is a Markdown processor which supports a superset of Markdown, including
|
|
8
|
-
support for assigning ids and classes to every element, support for Markdown inside HTML elements
|
|
9
|
-
and footnotes.
|
|
10
|
-
|
|
11
|
-
For detailed information about Maruku have a look at the [Maruku Homepage][1]. There you will find
|
|
12
|
-
information about the general Markdown syntax as well as information about the extras added by
|
|
13
|
-
Maruku.
|
|
14
|
-
|
|
15
|
-
> This extension is only available if you have installed the [maruku][1] library. The preferred
|
|
16
|
-
> way to do this is via Rubygems:
|
|
17
|
-
>
|
|
18
|
-
> gem install maruku
|
|
19
|
-
{:.warning}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
Example
|
|
23
|
-
-------
|
|
24
|
-
|
|
25
|
-
Here is a short sample of a text in Markdown+Extras markup:
|
|
26
|
-
|
|
27
|
-
# This a h1 header {#myid}
|
|
28
|
-
|
|
29
|
-
You can just write *your* paragraphs here and
|
|
30
|
-
[link][1] them below. This is **nice** format!
|
|
31
|
-
|
|
32
|
-
> Citations are easy too.
|
|
33
|
-
> Really. And you can assign them attributes.
|
|
34
|
-
{.information}
|
|
35
|
-
|
|
36
|
-
* Lists
|
|
37
|
-
* aren't
|
|
38
|
-
* difficult
|
|
39
|
-
* either.
|
|
40
|
-
|
|
41
|
-
[1]: http://someurl.com
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
[1]: http://maruku.rubyforge.org/
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::RDiscount
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This processor converts the content, which is assumed to be in Markdown markup, to HTML by using the
|
|
7
|
-
RDiscount library. This library is based on the C based discount library which provides very fast
|
|
8
|
-
Markdown processing. However, this processor does not support advanced features like the [kramdown
|
|
9
|
-
processor](kramdown.html) or [Maruku Markdown processor](maruku.html) do.
|
|
10
|
-
|
|
11
|
-
> This extension is only available if you have installed the [rdiscount][1] library. The preferred
|
|
12
|
-
> way to do this is via Rubygems:
|
|
13
|
-
>
|
|
14
|
-
> gem install rdiscount
|
|
15
|
-
{:.warning}
|
|
16
|
-
|
|
17
|
-
[1]: http://github.com/rtomayko/rdiscount
|
|
18
|
-
|
|
19
|
-
Example
|
|
20
|
-
-------
|
|
21
|
-
|
|
22
|
-
Here is a short sample of a text in Markdown markup:
|
|
23
|
-
|
|
24
|
-
# This a h1 header
|
|
25
|
-
|
|
26
|
-
You can just write *your* paragraphs here and
|
|
27
|
-
[link][1] them below. This is **nice** format!
|
|
28
|
-
|
|
29
|
-
> Citations are easy too.
|
|
30
|
-
> Really. And you can assign them attributes.
|
|
31
|
-
|
|
32
|
-
* Lists
|
|
33
|
-
* aren't
|
|
34
|
-
* difficult
|
|
35
|
-
* either.
|
|
36
|
-
|
|
37
|
-
[1]: http://someurl.com
|