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,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::RDoc
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This content processors converts content written in RDoc markup (the default documentation format
|
|
7
|
-
for Ruby source files, [reference][1]) to HTML.
|
|
8
|
-
|
|
9
|
-
> This extension needs the [new RDoc implementation][2] and is not compatible with the
|
|
10
|
-
> implementation included in the Ruby distribution. The preferred way to install the new
|
|
11
|
-
> implementation is via Rubygems:
|
|
12
|
-
>
|
|
13
|
-
> gem install rdoc
|
|
14
|
-
{:.warning}
|
|
15
|
-
|
|
16
|
-
[1]: http://rdoc.rubyforge.org/rdoc/ "RDoc Reference"
|
|
17
|
-
[2]: http://rubyforge.org/projects/rdoc/ "New RDoc implementation"
|
|
18
|
-
|
|
19
|
-
## Example
|
|
20
|
-
|
|
21
|
-
Here is a short sample of a text in RDoc markup:
|
|
22
|
-
|
|
23
|
-
= This a h1 header
|
|
24
|
-
|
|
25
|
-
You can just write *your* paragraphs here and <a href="http://someurl.com">link</a> them below.
|
|
26
|
-
This is also a _nice_ format!
|
|
27
|
-
|
|
28
|
-
<blockquote class='information>
|
|
29
|
-
Citations are easy too.
|
|
30
|
-
Really. And you can assign them attributes.
|
|
31
|
-
</blockquote>
|
|
32
|
-
|
|
33
|
-
* Lists
|
|
34
|
-
* aren't
|
|
35
|
-
* difficult
|
|
36
|
-
* either.
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::RedCloth
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This processor converts the content, which is assumed to be in Textile markup, to HTML by using the
|
|
7
|
-
RedCloth library. For detailed information about Textile have a look at the [Textile Reference][1]!
|
|
8
|
-
|
|
9
|
-
> This extension is only available if you have installed the [redcloth][2] library. The preferred
|
|
10
|
-
> way to do this is via Rubygems:
|
|
11
|
-
>
|
|
12
|
-
> gem install RedCloth
|
|
13
|
-
{:.warning}
|
|
14
|
-
|
|
15
|
-
You can use the configuration option `contentprocessor.redcloth.hard_breaks` to enable/disable the
|
|
16
|
-
conversion of single newlines into HTML break tags.
|
|
17
|
-
|
|
18
|
-
Example
|
|
19
|
-
-------
|
|
20
|
-
|
|
21
|
-
Here is a short sample of a text in Textile markup:
|
|
22
|
-
|
|
23
|
-
h1(#myid). This a h1 header
|
|
24
|
-
|
|
25
|
-
You can just write *your* paragraphs here and
|
|
26
|
-
"link":http://someurl.com them below. This is also a
|
|
27
|
-
**nice** format!
|
|
28
|
-
|
|
29
|
-
<blockquote class='information>
|
|
30
|
-
Citations are easy too.
|
|
31
|
-
Really. And you can assign them attributes.
|
|
32
|
-
</blockquote>
|
|
33
|
-
|
|
34
|
-
* Lists
|
|
35
|
-
* aren't
|
|
36
|
-
* difficult
|
|
37
|
-
* either.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
[1]: http://hobix.com/textile/
|
|
41
|
-
[2]: http://whytheluckystiff.net/ruby/redcloth/
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Sass
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This processor converts the content, which is assumed to be in the Sass meta language, to valid CSS
|
|
7
|
-
using the Haml library. For detailed information about Sass have a look at the [Haml Homepage][1]!
|
|
8
|
-
|
|
9
|
-
> This extension is only available if you have installed the [haml][1] library. The preferred way to
|
|
10
|
-
> do this is via Rubygems:
|
|
11
|
-
>
|
|
12
|
-
> gem install haml
|
|
13
|
-
{:.warning}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
## Example
|
|
17
|
-
|
|
18
|
-
Here is a short sample of a text in the Sass meta language:
|
|
19
|
-
|
|
20
|
-
#main
|
|
21
|
-
:width 90%
|
|
22
|
-
p
|
|
23
|
-
:border-style solid
|
|
24
|
-
:border-color #00f
|
|
25
|
-
a
|
|
26
|
-
:font-weight bold
|
|
27
|
-
a:hover
|
|
28
|
-
:text-decoration underline
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
[1]: http://haml.hamptoncatlin.com/
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Scss
|
|
3
|
-
summary: Converts content written in the Sassy CSS language to valid CSS
|
|
4
|
-
---
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
This processor converts the content, which is assumed to be in the Sassy CSS language, to valid CSS
|
|
8
|
-
using the Haml library. This is basically a syntax based on CSS but additionally using features from
|
|
9
|
-
Sass. For detailed information about Sass and Sassy CSS have a look at the [Haml Homepage][1]!
|
|
10
|
-
|
|
11
|
-
> This extension is only available if you have installed the [haml][1] library. The preferred way to
|
|
12
|
-
> do this is via Rubygems:
|
|
13
|
-
>
|
|
14
|
-
> gem install haml
|
|
15
|
-
{:.warning}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
## Example
|
|
19
|
-
|
|
20
|
-
Here is a short sample of a text in the Sassy CSS language:
|
|
21
|
-
|
|
22
|
-
#main {
|
|
23
|
-
width: 90%;
|
|
24
|
-
|
|
25
|
-
p {
|
|
26
|
-
border-style: solid;
|
|
27
|
-
border-color: #00f;
|
|
28
|
-
|
|
29
|
-
a {
|
|
30
|
-
font-weight: bold;
|
|
31
|
-
}
|
|
32
|
-
a:hover {
|
|
33
|
-
:ext-decoration: underline;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
[1]: http://haml.hamptoncatlin.com/
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Tags
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This processor provides an easy method for adding dynamic content to web pages. It uses so called
|
|
7
|
-
webgen tags to replace special markup constructs with dynamic content. This system allows webgen to
|
|
8
|
-
generate menus and breadcrumb trails, include files and much more. webgen already comes with many
|
|
9
|
-
tags that handle simple things, like including a file, to advanced things, like generating a
|
|
10
|
-
menu.
|
|
11
|
-
|
|
12
|
-
Each webgen tag is defined using a unique name and handled by a tag class. A tag can have zero or
|
|
13
|
-
more parameters some of which are mandatory. Tag parameters map directly to configuration options,
|
|
14
|
-
so you can temporarily (for the rendering of the tag) override some configuration options. Since
|
|
15
|
-
normally only the special configuration options for the tag itself are used, a shorter form can be
|
|
16
|
-
used for them: just remove the tag class name part (without the `Webgen::` prefix) from the
|
|
17
|
-
configuration option. For example, the relocatable tag handled by Webgen::Tag::Relocatable specifies
|
|
18
|
-
the configuration option `tag.relocatable.path` and the short name for it (when used as parameter
|
|
19
|
-
for the relocatable tag, not when used for other tags) is therefore just `path`. The supported
|
|
20
|
-
parameters (and if they are mandatory) are listed for each tag on its documentation page. The
|
|
21
|
-
default mandatory parameter can be specified in a special way, see the following section. When spe
|
|
22
|
-
|
|
23
|
-
When content is parsed and a webgen tag is encountered, the registered class for this tag is
|
|
24
|
-
called. If no class for a tag exists there are two possibilities: if a default tag class exists,
|
|
25
|
-
then this default class is called. Otherwise an error is raised.
|
|
26
|
-
|
|
27
|
-
For information on how to create such a tag classes have a look at the API documentation of the
|
|
28
|
-
class Webgen::Tag::Base.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
## Syntax for webgen Tags {#syntax}
|
|
32
|
-
|
|
33
|
-
webgen tags are defined using a special markup construct which consists of the tag name, a parameter
|
|
34
|
-
part and a body part.
|
|
35
|
-
|
|
36
|
-
A tag can be specified in one of the following ways:
|
|
37
|
-
|
|
38
|
-
* The simplest form of a webgen tag just consists of the tag name itself. This form can only be used
|
|
39
|
-
if the tag does not have any mandatory parameters.
|
|
40
|
-
|
|
41
|
-
\{tagname:}
|
|
42
|
-
|
|
43
|
-
* If a plugin has only one mandatory parameter, there is a short-cut syntax for specifying its
|
|
44
|
-
value.
|
|
45
|
-
|
|
46
|
-
\{tagname: value}
|
|
47
|
-
|
|
48
|
-
* If a plugin has more than one mandatory parameter or if some default parameter values should be
|
|
49
|
-
overwritten, one needs to use the following general form.
|
|
50
|
-
|
|
51
|
-
\{tagname: {option: value, other_option: other_value}}
|
|
52
|
-
|
|
53
|
-
> The parameters defined using this syntax are actually specified using a hash in YAML
|
|
54
|
-
> markup. So you can use any valid YAML construct in the YAML hash definition.
|
|
55
|
-
{:.information}
|
|
56
|
-
|
|
57
|
-
* Additionally, you can use a body part with any of the above forms. To specify that the tag has a
|
|
58
|
-
body part, just use two colons instead of one after the tag name and don't forget the closing
|
|
59
|
-
tag.
|
|
60
|
-
|
|
61
|
-
\{tagname::}Here comes the body{tagname}
|
|
62
|
-
|
|
63
|
-
Although you can always specify a body part, only some tags actually use it - the documentation
|
|
64
|
-
for each tag states if the body part is used or not.
|
|
65
|
-
|
|
66
|
-
Sometimes you need to specify something which looks like a webgen tag but should not be processed
|
|
67
|
-
like one. In such cases, you need to escape the tag with a backslash, like this:
|
|
68
|
-
|
|
69
|
-
\\\{tagname: {key:value}}
|
|
70
|
-
|
|
71
|
-
Another solution to this is to specify a general prefix for all webgen tags using the configuration
|
|
72
|
-
option `contentprocessor.tags.prefix`. Let's imagine that you set the prefix to `webgen:`; then this
|
|
73
|
-
content processor will only process webgen tags of the form `\{webgen:tagname: {key: value}}`.
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Tidy
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This content processor uses the [`tidy`][1] program to convert the input into valid (X)HTML. It
|
|
7
|
-
supports a vast amount of options for specifying how the input should be processed. These options
|
|
8
|
-
can be set throught the configuration option
|
|
9
|
-
[`contentprocessor.tidy.options`](../reference_configuration.html#contentprocessortidyoptions).
|
|
10
|
-
|
|
11
|
-
The options `-q` and `-f FILE` are always set because they are needed internally and should
|
|
12
|
-
therefore not be set through `contentprocessor.tidy.options`!
|
|
13
|
-
|
|
14
|
-
[1]: http://tidy.sf.net
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Webgen::ContentProcessor::Xmllint
|
|
3
|
-
---
|
|
4
|
-
## Description
|
|
5
|
-
|
|
6
|
-
This content processor uses the `xmllint` program from the ["libxml2" package][1] to check the input
|
|
7
|
-
for well-formedness and/or validness. `xmllint` can validate an XML (and therefore an XHTML) file
|
|
8
|
-
against a DTD, a RelaxNG schema or a WXS schema. For more information about where to put the DTD or
|
|
9
|
-
schema files, have a look at the `libxml2` documentation.
|
|
10
|
-
|
|
11
|
-
The configuration option `contentprocessor.xmllint.options` can be used to change the default
|
|
12
|
-
command line options that are used for the `xmllint` program.
|
|
13
|
-
|
|
14
|
-
[1]: http://www.xmlsoft.org
|
data/doc/extensions.metainfo
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
contentprocessor/:
|
|
2
|
-
index_path: ~
|
|
3
|
-
|
|
4
|
-
contentprocessor/*:
|
|
5
|
-
template: ../contentprocessor.template
|
|
6
|
-
|
|
7
|
-
sourcehandler/:
|
|
8
|
-
index_path: ~
|
|
9
|
-
|
|
10
|
-
sourcehandler/*:
|
|
11
|
-
template: ../sourcehandler.template
|
|
12
|
-
|
|
13
|
-
tag/:
|
|
14
|
-
index_path: ~
|
|
15
|
-
|
|
16
|
-
tag/*:
|
|
17
|
-
template: ../tag.template
|
|
18
|
-
|
|
19
|
-
source/:
|
|
20
|
-
index_path: ~
|
|
21
|
-
|
|
22
|
-
source/*:
|
|
23
|
-
template: ../extensions.template
|
|
24
|
-
|
|
25
|
-
output/:
|
|
26
|
-
index_path: ~
|
|
27
|
-
|
|
28
|
-
output/*:
|
|
29
|
-
template: ../extensions.template
|
data/doc/extensions.page
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Extensions
|
|
3
|
-
---
|
|
4
|
-
# Extension Listing
|
|
5
|
-
|
|
6
|
-
Following is a listing of all available extensions:
|
|
7
|
-
|
|
8
|
-
<%
|
|
9
|
-
pattern = /#{File.join(context.node.parent.alcn, '/')}(contentprocessor|output|source|sourcehandler|tag|)\/.*html$/
|
|
10
|
-
context.node.tree.node_access[:alcn].select {|alcn, n| alcn =~ pattern}.sort.each do |alcn, n|
|
|
11
|
-
next if n.is_fragment?
|
|
12
|
-
%>
|
|
13
|
-
* <%= context.dest_node.link_to(n) %><%
|
|
14
|
-
end
|
|
15
|
-
%>
|
data/doc/extensions.template
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
--- pipeline:erb,tags,kramdown,blocks
|
|
2
|
-
[Back](extensions.html) to the extension listing.
|
|
3
|
-
{:.backlink}
|
|
4
|
-
|
|
5
|
-
# {title:}
|
|
6
|
-
|
|
7
|
-
<% if (context[:chain][1] || context[:chain][0]).node_info[:page].blocks.has_key?('summary') %>
|
|
8
|
-
## Summary
|
|
9
|
-
|
|
10
|
-
<webgen:block name='summary' />
|
|
11
|
-
|
|
12
|
-
<% end %>
|
|
13
|
-
|
|
14
|
-
<webgen:block name='content' />
|
|
15
|
-
|
|
16
|
-
[Back](extensions.html) to the extension listing.
|
|
17
|
-
{:.backlink}
|
data/doc/faq.page
DELETED
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: FAQ
|
|
3
|
-
---
|
|
4
|
-
# General Questions
|
|
5
|
-
|
|
6
|
-
* **webgen fails with an error after upgrading to a newer version - what to do?**
|
|
7
|
-
|
|
8
|
-
Delete the cache file and try again. The structure of the cache may not be valid anymore after a
|
|
9
|
-
version update. So it is always good to delete the cache after installing a new webgen version.
|
|
10
|
-
|
|
11
|
-
* **Why can I specify multiple blocks in a page/template file?**
|
|
12
|
-
|
|
13
|
-
This allows you to provide different content parts for one page. For example, imagine you have a
|
|
14
|
-
layout with a sidebar and you want to have page specific sidebar contents. The easiest way to
|
|
15
|
-
achieve that is to add a `sidebar` block to the page files that provide a page specific sidebar
|
|
16
|
-
content and include the `sidebar` block in your `default.template`, like this:
|
|
17
|
-
|
|
18
|
-
<webgen:block name='sidebar' notfound="ignore" chain="first" />
|
|
19
|
-
|
|
20
|
-
By using `notfound="ignore"` we tell webgen to ignore errors when such a block is not found and
|
|
21
|
-
the `chain="first"` attribute tells webgen to search through the whole node chain for such a
|
|
22
|
-
block. The latter is needed when nested templates are used because by default only the next node
|
|
23
|
-
in the chain is inspected.
|
|
24
|
-
|
|
25
|
-
* **What do I have to do to use the extensions?**
|
|
26
|
-
|
|
27
|
-
Nothing! Extensions are initialized and used automatically when needed. So, for example, if you
|
|
28
|
-
add a `my.feed` file to your website, the `Webgen::SourceHandler::Feed` extension gets
|
|
29
|
-
automatically used. The same is true for all types of extensions (source handler, content
|
|
30
|
-
processors, tags, ...).
|
|
31
|
-
|
|
32
|
-
* **Is there any way to add comments to my webgen website?**
|
|
33
|
-
|
|
34
|
-
Surely! There are several comment engines out there, however, the following two look very
|
|
35
|
-
promising:
|
|
36
|
-
|
|
37
|
-
* [JS-Kit](http://js-kit.com/comments/)
|
|
38
|
-
* [DISQUS](http://disqus.com)
|
|
39
|
-
|
|
40
|
-
# How to ...
|
|
41
|
-
|
|
42
|
-
This section provides quick answers and links to more information for the most commonly asked
|
|
43
|
-
questions.
|
|
44
|
-
|
|
45
|
-
### ... create a website?
|
|
46
|
-
|
|
47
|
-
Use the `webgen` command to create the needed directories
|
|
48
|
-
|
|
49
|
-
webgen create -b default -b andreas07 my_site
|
|
50
|
-
|
|
51
|
-
This will create a webgen website in the directory `my_site` using the specified bundles.
|
|
52
|
-
|
|
53
|
-
### ... set configuration options?
|
|
54
|
-
|
|
55
|
-
You can set any configuration options via the configuration file called `config.yaml`. For example,
|
|
56
|
-
say you want to set the option `website.link_to_current_page` to `true`, then you would add the
|
|
57
|
-
following to the configuration file:
|
|
58
|
-
|
|
59
|
-
website.link_to_current_page: true
|
|
60
|
-
|
|
61
|
-
There is a second possibility for webgen tags: you can set the options directly in the tag
|
|
62
|
-
definition, like this:
|
|
63
|
-
|
|
64
|
-
\{menu: {start_level: 2, min_levels: 3}}
|
|
65
|
-
|
|
66
|
-
And if you want to have complete control over the configuration options, you can use the file
|
|
67
|
-
`ext/init.rb`. For example, the following specifies that all page files should be in the menu by
|
|
68
|
-
default:
|
|
69
|
-
|
|
70
|
-
config = Webgen::WebsiteAccess.website.config
|
|
71
|
-
config['sourcehandler.default_meta_info']['Webgen::SourceHandler::Page']['in_menu'] = true
|
|
72
|
-
|
|
73
|
-
### ... change the default language?
|
|
74
|
-
|
|
75
|
-
To use, for example, German as the default language, put the following into the configuration file:
|
|
76
|
-
|
|
77
|
-
website.lang: de
|
|
78
|
-
|
|
79
|
-
The value needs to be a valid ISO-639-1/2 language code.
|
|
80
|
-
|
|
81
|
-
### ... use a different processing pipeline for page files?
|
|
82
|
-
|
|
83
|
-
If you want to change the processing pipeline (ie. how a page file get rendered), you need to add
|
|
84
|
-
the following to your configuration file:
|
|
85
|
-
|
|
86
|
-
default_processing_pipeline:
|
|
87
|
-
Page: erb,tags,textile,blocks
|
|
88
|
-
|
|
89
|
-
The `default_processing_pipeline` key is a special key which allows to directly set the processing
|
|
90
|
-
pipeline (instead of going through all the meta information).
|
|
91
|
-
|
|
92
|
-
If you just want to change the pipeline for one block, you can do it like this:
|
|
93
|
-
|
|
94
|
-
--- pipeline:erb,tags,textile,blocks
|
|
95
|
-
This is the content of the block
|
|
96
|
-
|
|
97
|
-
### ... set the default meta information for files created by a specific source handler?
|
|
98
|
-
|
|
99
|
-
Use the configuration file! For example, to change the meta information `in-menu` sothat it defaults
|
|
100
|
-
to `true` for all page files use the following in your configuration file:
|
|
101
|
-
|
|
102
|
-
default_meta_info:
|
|
103
|
-
Page:
|
|
104
|
-
in_menu: true
|
|
105
|
-
|
|
106
|
-
The key `default_meta_info` is a special key in the configuration file which allows to update the
|
|
107
|
-
default meta information for a source handler and not to substitute it.
|
|
108
|
-
|
|
109
|
-
### ... ignore files in the source directory?
|
|
110
|
-
|
|
111
|
-
This can be done using the `sourcehandler.ignore` configuration options. For example, to ignore all
|
|
112
|
-
files starting with `core`, you would put the following in the configuration file:
|
|
113
|
-
|
|
114
|
-
sourcehandler.ignore: [**/core*]
|
|
115
|
-
|
|
116
|
-
The value of this option has to be an array of path patterns. Be aware that this overwrites the
|
|
117
|
-
default setting.
|
|
118
|
-
|
|
119
|
-
### ... change the output name style?
|
|
120
|
-
|
|
121
|
-
You have several options of varying granularity:
|
|
122
|
-
|
|
123
|
-
* Set the meta information `output_path_style` for all source handlers:
|
|
124
|
-
|
|
125
|
-
default_meta_info:
|
|
126
|
-
:all:
|
|
127
|
-
output_path_style: [:parent, :basename, [., :lang], :ext]
|
|
128
|
-
|
|
129
|
-
* Set the meta information `output_path_style` for a specific source handler to only change the
|
|
130
|
-
output paths of this source handler (the page source handler in the following example):
|
|
131
|
-
|
|
132
|
-
default_meta_info:
|
|
133
|
-
Page:
|
|
134
|
-
output_path_style: [:parent, :basename, [., :lang], :ext]
|
|
135
|
-
|
|
136
|
-
* Add the meta information `output_path_style` to a single file via, for example, a meta information
|
|
137
|
-
backing file.
|
|
138
|
-
|
|
139
|
-
### ... modify the template chain?
|
|
140
|
-
|
|
141
|
-
To stop the template chain at a specific template or even at the page file itself, specify a
|
|
142
|
-
null template in the meta information, like this:
|
|
143
|
-
|
|
144
|
-
template: ~
|
|
145
|
-
|
|
146
|
-
To nest templates, you just need to specify the template, in which this template/page file should be
|
|
147
|
-
nested, in the meta information:
|
|
148
|
-
|
|
149
|
-
template: my_special.template
|
|
150
|
-
|
|
151
|
-
Be aware that if no `template` meta information is specified for a page or template file, the
|
|
152
|
-
template handler automatically searches for a default template in the directory and the parent
|
|
153
|
-
directories of the file!
|
|
154
|
-
|
|
155
|
-
### ... localize a directory name?
|
|
156
|
-
|
|
157
|
-
Just set the `routed_title` meta information on the correct localized directory index files.
|
|
158
|
-
|
|
159
|
-
### ... provide additional attributes on links to a file?
|
|
160
|
-
|
|
161
|
-
You can specify additional attributes for a link to a file by using the `link_attrs` meta
|
|
162
|
-
information. Take the following page file:
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
title: Tutorial
|
|
166
|
-
in_menu: true
|
|
167
|
-
link_attrs:
|
|
168
|
-
title: This is a rather large tutorial
|
|
169
|
-
accesskey: D
|
|
170
|
-
tabindex: 5
|
|
171
|
-
---
|
|
172
|
-
Yippieh, this is my tutorial!
|
|
173
|
-
|
|
174
|
-
When a link to this page is created, the specified attributes get additionally set on the link!
|
|
175
|
-
|
|
176
|
-
### ... add page specific sidebar content?
|
|
177
|
-
|
|
178
|
-
There are many ways to accomplish this, I will show only one way here using blocks. Add the
|
|
179
|
-
following to the sidebar part in your `default.template` (ensure that you haven't disabled `erb` in
|
|
180
|
-
the processing pipeline):
|
|
181
|
-
|
|
182
|
-
<%% if context.node.node_info[:page].blocks.has_key?('sidebar') %>
|
|
183
|
-
<webgen:block name='sidebar' />
|
|
184
|
-
<%% end %>
|
|
185
|
-
|
|
186
|
-
This will include the contents of the block `sidebar` in the sidebar if such a block exists for a
|
|
187
|
-
page. You can then add a sidebar block to each page file which needs it. Following is such a sample
|
|
188
|
-
page file:
|
|
189
|
-
|
|
190
|
-
This is the main content block
|
|
191
|
-
--- name:sidebar
|
|
192
|
-
This is the sidebar block and everything in here goes to the sidebar!
|
|
193
|
-
|
|
194
|
-
You can avoid using the ERB processor if you use the following syntax (available from version 0.5.7
|
|
195
|
-
upwards):
|
|
196
|
-
|
|
197
|
-
<webgen:block name='sidebar' node='first' notfound='ignore' />
|
|
198
|
-
|
|
199
|
-
### ... create XML output?
|
|
200
|
-
|
|
201
|
-
This can be achieved manually (by removing any markup processor in the processing pipeline of the
|
|
202
|
-
page file and then directly creating the XML elements) or by changing the processing pipeline to
|
|
203
|
-
include content processor `builder` which provides an easy way of programmatically creating an XML
|
|
204
|
-
compliant file. More information on this can be found on the documentation page of
|
|
205
|
-
Webgen::ContentProcessor::Builder!
|
|
206
|
-
|
|
207
|
-
### ... create a static menu?
|
|
208
|
-
|
|
209
|
-
You can use virtual nodes to define virtually any menu structure you like, including things like
|
|
210
|
-
having menu entries that point to the same page and links to external pages.
|
|
211
|
-
|
|
212
|
-
### ... use short menu title?
|
|
213
|
-
|
|
214
|
-
You can use the special meta information key `link_attrs` to achieve that. Just use the following in
|
|
215
|
-
the meta information block of the page file for which you want a short menu title:
|
|
216
|
-
|
|
217
|
-
link_attrs:
|
|
218
|
-
:link_text: Short title
|
|
219
|
-
|
|
220
|
-
> Be aware that this changes not only how the page appears in a menu but also how it appears in
|
|
221
|
-
> breadcrumb trails and other links generated by webgen.
|
|
222
|
-
{.important}
|