webgen 0.4.7 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS +5 -0
- data/COPYING +8 -338
- data/GPL +340 -0
- data/Rakefile +188 -445
- data/THANKS +7 -22
- data/VERSION +1 -1
- data/bin/webgen +6 -1
- data/data/webgen/resources.yaml +3 -0
- data/data/webgen/website_skeleton/README +10 -0
- data/data/webgen/website_skeleton/Rakefile +40 -0
- data/data/webgen/website_skeleton/config.yaml +17 -0
- data/data/webgen/website_styles/1024px/{default.css → src/default.css} +0 -0
- data/data/webgen/website_styles/1024px/{default.template → src/default.template} +3 -5
- data/data/webgen/website_styles/1024px/{images → src/images}/background.gif +0 -0
- data/data/webgen/website_styles/andreas00/{default.css → src/default.css} +0 -0
- data/{doc/examples → data/webgen}/website_styles/andreas00/src/default.template +3 -5
- data/data/webgen/website_styles/andreas00/{images → src/images}/bg.gif +0 -0
- data/data/webgen/website_styles/andreas00/{images → src/images}/front.jpg +0 -0
- data/data/webgen/website_styles/andreas00/{images → src/images}/menubg.gif +0 -0
- data/data/webgen/website_styles/andreas00/{images → src/images}/menubg2.gif +0 -0
- data/data/webgen/website_styles/andreas01/{default.css → src/default.css} +0 -0
- data/{doc/examples → data/webgen}/website_styles/andreas01/src/default.template +3 -5
- data/data/webgen/website_styles/andreas01/{images → src/images}/bg.gif +0 -0
- data/data/webgen/website_styles/andreas01/{images → src/images}/front.jpg +0 -0
- data/data/webgen/website_styles/andreas01/{print.css → src/print.css} +0 -0
- data/data/webgen/website_styles/andreas03/{default.css → src/default.css} +0 -0
- data/data/webgen/website_styles/andreas03/{default.template → src/default.template} +2 -4
- data/data/webgen/website_styles/andreas03/{images → src/images}/bodybg.png +0 -0
- data/data/webgen/website_styles/andreas03/{images → src/images}/contbg.png +0 -0
- data/data/webgen/website_styles/andreas03/{images → src/images}/footerbg.png +0 -0
- data/data/webgen/website_styles/andreas03/{images → src/images}/gradient1.png +0 -0
- data/data/webgen/website_styles/andreas03/{images → src/images}/gradient2.png +0 -0
- data/data/webgen/website_styles/andreas04/{default.css → src/default.css} +0 -0
- data/data/webgen/website_styles/andreas04/{default.template → src/default.template} +2 -4
- data/data/webgen/website_styles/andreas04/{images → src/images}/blinkarrow.gif +0 -0
- data/data/webgen/website_styles/andreas04/{images → src/images}/bodybg.png +0 -0
- data/data/webgen/website_styles/andreas04/{images → src/images}/contentbg.png +0 -0
- data/data/webgen/website_styles/andreas04/{images → src/images}/entrybg.png +0 -0
- data/data/webgen/website_styles/andreas04/{images → src/images}/flash.gif +0 -0
- data/data/webgen/website_styles/andreas04/{images → src/images}/flash2.gif +0 -0
- data/data/webgen/website_styles/andreas04/{images → src/images}/globe.gif +0 -0
- data/data/webgen/website_styles/andreas04/{images → src/images}/globebottom.gif +0 -0
- data/data/webgen/website_styles/andreas04/{images → src/images}/linkarrow.gif +0 -0
- data/data/webgen/website_styles/andreas04/{images → src/images}/menuhover.png +0 -0
- data/data/webgen/website_styles/andreas05/{default.css → src/default.css} +0 -0
- data/data/webgen/website_styles/andreas05/{default.template → src/default.template} +2 -4
- data/data/webgen/website_styles/andreas05/{images → src/images}/bodybg.gif +0 -0
- data/data/webgen/website_styles/andreas05/{images → src/images}/front.png +0 -0
- data/data/webgen/website_styles/andreas06/{default.css → src/default.css} +0 -0
- data/{doc/examples → data/webgen}/website_styles/andreas06/src/default.template +4 -6
- data/data/webgen/website_styles/andreas06/{images → src/images}/bodybg.gif +0 -0
- data/data/webgen/website_styles/andreas06/{images → src/images}/boxbg.gif +0 -0
- data/data/webgen/website_styles/andreas06/{images → src/images}/greypx.gif +0 -0
- data/data/webgen/website_styles/andreas06/{images → src/images}/header.jpg +0 -0
- data/data/webgen/website_styles/andreas06/{images → src/images}/innerbg.gif +0 -0
- data/data/webgen/website_styles/andreas06/{images → src/images}/leaves.jpg +0 -0
- data/data/webgen/website_styles/andreas06/{images → src/images}/tabs.gif +0 -0
- data/data/webgen/website_styles/andreas07/{browserfix.css → src/browserfix.css} +0 -0
- data/data/webgen/website_styles/andreas07/{default.css → src/default.css} +0 -0
- data/{doc/examples → data/webgen}/website_styles/andreas07/src/default.template +2 -4
- data/data/webgen/website_styles/andreas07/{images → src/images}/bodybg.gif +0 -0
- data/data/webgen/website_styles/andreas07/{images → src/images}/sidebarbg.gif +0 -0
- data/data/webgen/website_styles/andreas08/{default.css → src/default.css} +0 -0
- data/{doc/examples → data/webgen}/website_styles/andreas08/src/default.template +3 -5
- data/data/webgen/website_styles/andreas09/{default.css → src/default.css} +0 -0
- data/data/webgen/website_styles/andreas09/{default.template → src/default.template} +4 -6
- data/data/webgen/website_styles/andreas09/{images → src/images}/bodybg-black.jpg +0 -0
- data/data/webgen/website_styles/andreas09/{images → src/images}/bodybg-green.jpg +0 -0
- data/data/webgen/website_styles/andreas09/{images → src/images}/bodybg-orange.jpg +0 -0
- data/data/webgen/website_styles/andreas09/{images → src/images}/bodybg-purple.jpg +0 -0
- data/data/webgen/website_styles/andreas09/{images → src/images}/bodybg-red.jpg +0 -0
- data/data/webgen/website_styles/andreas09/{images → src/images}/bodybg.jpg +0 -0
- data/data/webgen/website_styles/andreas09/{images → src/images}/footerbg.jpg +0 -0
- data/data/webgen/website_styles/andreas09/{images → src/images}/menuhover-black.jpg +0 -0
- data/data/webgen/website_styles/andreas09/{images → src/images}/menuhover-green.jpg +0 -0
- data/data/webgen/website_styles/andreas09/{images → src/images}/menuhover-orange.jpg +0 -0
- data/data/webgen/website_styles/andreas09/{images → src/images}/menuhover-purple.jpg +0 -0
- data/data/webgen/website_styles/andreas09/{images → src/images}/menuhover-red.jpg +0 -0
- data/data/webgen/website_styles/andreas09/{images → src/images}/menuhover.jpg +0 -0
- data/data/webgen/website_styles/{default → simple}/README +0 -0
- data/data/webgen/website_styles/{default → simple/src}/default.css +0 -0
- data/{doc/examples/website_styles/default → data/webgen/website_styles/simple}/src/default.template +3 -5
- data/data/webgen/website_templates/default/README +0 -2
- data/data/webgen/website_templates/default/src/index.page +3 -3
- data/data/webgen/website_templates/project/README +0 -4
- data/data/webgen/website_templates/project/src/about.page +5 -5
- data/data/webgen/website_templates/project/src/download.page +3 -3
- data/data/webgen/website_templates/project/src/features.page +3 -3
- data/data/webgen/website_templates/project/src/index.page +4 -4
- data/data/webgen/website_templates/project/src/screenshots.page +5 -5
- data/doc/contentprocessor/erb.page +38 -0
- data/doc/contentprocessor/tags.page +61 -0
- data/doc/extensions.page +11 -0
- data/doc/faq.page +177 -0
- data/doc/getting_started.page +130 -0
- data/doc/index.page +50 -0
- data/doc/manual.page +356 -0
- data/doc/reference_configuration.page +328 -0
- data/doc/reference_metainfo.page +128 -0
- data/doc/sourcehandler/metainfo.page +117 -0
- data/doc/sourcehandler/page.page +32 -0
- data/doc/webgen_page_format.page +126 -0
- data/lib/webgen/blackboard.rb +73 -0
- data/lib/webgen/cache.rb +77 -0
- data/lib/webgen/cli.rb +99 -440
- data/lib/webgen/cli/create_command.rb +64 -0
- data/lib/webgen/cli/run_command.rb +20 -0
- data/lib/webgen/cli/utils.rb +82 -0
- data/lib/webgen/configuration.rb +71 -0
- data/lib/webgen/contentprocessor.rb +89 -0
- data/lib/webgen/contentprocessor/blocks.rb +46 -0
- data/lib/webgen/contentprocessor/context.rb +86 -0
- data/lib/webgen/contentprocessor/maruku.rb +18 -0
- data/lib/webgen/contentprocessor/redcloth.rb +15 -0
- data/lib/webgen/contentprocessor/tags.rb +134 -0
- data/lib/webgen/default_config.rb +128 -0
- data/lib/webgen/languages.rb +508 -40
- data/lib/webgen/loggable.rb +23 -0
- data/lib/webgen/logger.rb +78 -0
- data/lib/webgen/node.rb +275 -237
- data/lib/webgen/output.rb +31 -0
- data/lib/webgen/output/filesystem.rb +61 -0
- data/lib/webgen/page.rb +129 -0
- data/lib/webgen/path.rb +172 -0
- data/lib/webgen/source.rb +24 -0
- data/lib/webgen/source/filesystem.rb +56 -0
- data/lib/webgen/source/resource.rb +33 -0
- data/lib/webgen/source/stacked.rb +53 -0
- data/lib/webgen/sourcehandler.rb +175 -0
- data/lib/webgen/sourcehandler/base.rb +188 -0
- data/lib/webgen/sourcehandler/copy.rb +41 -0
- data/lib/webgen/sourcehandler/directory.rb +31 -0
- data/lib/webgen/sourcehandler/fragment.rb +66 -0
- data/lib/webgen/sourcehandler/metainfo.rb +107 -0
- data/lib/webgen/sourcehandler/page.rb +47 -0
- data/lib/webgen/sourcehandler/template.rb +64 -0
- data/lib/webgen/sourcehandler/virtual.rb +72 -0
- data/lib/webgen/tag.rb +16 -0
- data/lib/webgen/tag/base.rb +162 -0
- data/lib/webgen/tag/menu.rb +187 -0
- data/lib/webgen/tag/metainfo.rb +25 -0
- data/lib/webgen/tag/relocatable.rb +53 -0
- data/lib/webgen/tree.rb +80 -0
- data/lib/webgen/version.rb +6 -0
- data/lib/webgen/webgentask.rb +153 -0
- data/lib/webgen/website.rb +166 -288
- data/lib/webgen/websiteaccess.rb +29 -0
- data/lib/webgen/websitemanager.rb +124 -0
- data/man/man1/webgen.1 +31 -42
- data/misc/default.css +337 -0
- data/misc/default.template +73 -0
- data/misc/htmldoc.metainfo +22 -0
- data/misc/htmldoc.virtual +5 -0
- data/misc/images/arrow.gif +0 -0
- data/misc/images/error.gif +0 -0
- data/misc/images/exclamation.gif +0 -0
- data/misc/images/headerbg.jpg +0 -0
- data/misc/images/information.gif +0 -0
- data/misc/images/quote.gif +0 -0
- data/test/helper.rb +28 -0
- data/test/test_blackboard.rb +58 -0
- data/test/test_cache.rb +57 -0
- data/test/test_configuration.rb +35 -0
- data/test/test_contentprocessor.rb +31 -0
- data/test/test_contentprocessor_blocks.rb +34 -0
- data/test/test_contentprocessor_context.rb +38 -0
- data/test/test_contentprocessor_maruku.rb +24 -0
- data/test/test_contentprocessor_redcloth.rb +12 -0
- data/test/test_contentprocessor_tags.rb +97 -0
- data/test/test_languages.rb +53 -0
- data/test/test_loggable.rb +30 -0
- data/test/test_logger.rb +73 -0
- data/test/test_node.rb +305 -0
- data/test/test_output_filesystem.rb +57 -0
- data/test/test_page.rb +180 -0
- data/test/test_path.rb +112 -0
- data/test/test_source_filesystem.rb +59 -0
- data/test/test_source_resource.rb +21 -0
- data/test/test_source_stacked.rb +34 -0
- data/test/test_sourcehandler_base.rb +78 -0
- data/test/test_sourcehandler_copy.rb +45 -0
- data/test/test_sourcehandler_directory.rb +25 -0
- data/test/test_sourcehandler_fragment.rb +62 -0
- data/test/test_sourcehandler_metainfo.rb +79 -0
- data/test/test_sourcehandler_page.rb +62 -0
- data/test/test_sourcehandler_template.rb +61 -0
- data/test/test_sourcehandler_virtual.rb +46 -0
- data/test/test_tag_base.rb +82 -0
- data/test/test_tag_menu.rb +196 -0
- data/test/test_tag_metainfo.rb +17 -0
- data/test/test_tag_relocatable.rb +57 -0
- data/test/test_tree.rb +69 -0
- data/test/test_website.rb +96 -0
- data/test/test_websiteaccess.rb +23 -0
- data/test/test_websitemanager.rb +68 -0
- metadata +276 -800
- data/ChangeLog +0 -46
- data/README +0 -14
- data/TODO +0 -376
- data/data/webgen/data/ISO-639-2_values_8bits.txt +0 -492
- data/data/webgen/gallery-creator/default.png +0 -0
- data/data/webgen/gallery_styles/default/README +0 -6
- data/data/webgen/gallery_styles/default/gallery_gallery.template +0 -38
- data/data/webgen/gallery_styles/default/gallery_image.template +0 -30
- data/data/webgen/gallery_styles/default/gallery_main.template +0 -18
- data/data/webgen/gallery_styles/slides/README +0 -18
- data/data/webgen/gallery_styles/slides/collage.rb +0 -337
- data/data/webgen/gallery_styles/slides/gallery_gallery.template +0 -62
- data/data/webgen/gallery_styles/slides/gallery_image.template +0 -53
- data/data/webgen/gallery_styles/slides/gallery_main.template +0 -32
- data/data/webgen/icon_mapping.yaml +0 -27
- data/data/webgen/resources/emoticons/bigeyes/angry.png +0 -0
- data/data/webgen/resources/emoticons/bigeyes/cool.png +0 -0
- data/data/webgen/resources/emoticons/bigeyes/cry.png +0 -0
- data/data/webgen/resources/emoticons/bigeyes/drunk.png +0 -0
- data/data/webgen/resources/emoticons/bigeyes/lol.png +0 -0
- data/data/webgen/resources/emoticons/bigeyes/oops.png +0 -0
- data/data/webgen/resources/emoticons/bigeyes/sad.png +0 -0
- data/data/webgen/resources/emoticons/bigeyes/sleep.png +0 -0
- data/data/webgen/resources/emoticons/bigeyes/smile.png +0 -0
- data/data/webgen/resources/emoticons/bigeyes/tongue.png +0 -0
- data/data/webgen/resources/emoticons/bigeyes/wink.png +0 -0
- data/data/webgen/resources/emoticons/crystal/angry.png +0 -0
- data/data/webgen/resources/emoticons/crystal/cool.png +0 -0
- data/data/webgen/resources/emoticons/crystal/cry.png +0 -0
- data/data/webgen/resources/emoticons/crystal/drunk.png +0 -0
- data/data/webgen/resources/emoticons/crystal/lol.png +0 -0
- data/data/webgen/resources/emoticons/crystal/oops.png +0 -0
- data/data/webgen/resources/emoticons/crystal/sad.png +0 -0
- data/data/webgen/resources/emoticons/crystal/sleep.png +0 -0
- data/data/webgen/resources/emoticons/crystal/smile.png +0 -0
- data/data/webgen/resources/emoticons/crystal/tongue.png +0 -0
- data/data/webgen/resources/emoticons/crystal/wink.png +0 -0
- data/data/webgen/resources/emoticons/cyclops/angry.png +0 -0
- data/data/webgen/resources/emoticons/cyclops/cool.png +0 -0
- data/data/webgen/resources/emoticons/cyclops/cry.png +0 -0
- data/data/webgen/resources/emoticons/cyclops/drunk.png +0 -0
- data/data/webgen/resources/emoticons/cyclops/lol.png +0 -0
- data/data/webgen/resources/emoticons/cyclops/oops.png +0 -0
- data/data/webgen/resources/emoticons/cyclops/sad.png +0 -0
- data/data/webgen/resources/emoticons/cyclops/sleep.png +0 -0
- data/data/webgen/resources/emoticons/cyclops/smile.png +0 -0
- data/data/webgen/resources/emoticons/cyclops/tongue.png +0 -0
- data/data/webgen/resources/emoticons/cyclops/wink.png +0 -0
- data/data/webgen/resources/emoticons/glass/angry.png +0 -0
- data/data/webgen/resources/emoticons/glass/cool.png +0 -0
- data/data/webgen/resources/emoticons/glass/cry.png +0 -0
- data/data/webgen/resources/emoticons/glass/drunk.png +0 -0
- data/data/webgen/resources/emoticons/glass/lol.png +0 -0
- data/data/webgen/resources/emoticons/glass/oops.png +0 -0
- data/data/webgen/resources/emoticons/glass/sad.png +0 -0
- data/data/webgen/resources/emoticons/glass/sleep.png +0 -0
- data/data/webgen/resources/emoticons/glass/smile.png +0 -0
- data/data/webgen/resources/emoticons/glass/tongue.png +0 -0
- data/data/webgen/resources/emoticons/glass/wink.png +0 -0
- data/data/webgen/resources/emoticons/icqstyle/angry.png +0 -0
- data/data/webgen/resources/emoticons/icqstyle/cool.png +0 -0
- data/data/webgen/resources/emoticons/icqstyle/cry.png +0 -0
- data/data/webgen/resources/emoticons/icqstyle/drunk.png +0 -0
- data/data/webgen/resources/emoticons/icqstyle/lol.png +0 -0
- data/data/webgen/resources/emoticons/icqstyle/oops.png +0 -0
- data/data/webgen/resources/emoticons/icqstyle/sad.png +0 -0
- data/data/webgen/resources/emoticons/icqstyle/sleep.png +0 -0
- data/data/webgen/resources/emoticons/icqstyle/smile.png +0 -0
- data/data/webgen/resources/emoticons/icqstyle/tongue.png +0 -0
- data/data/webgen/resources/emoticons/icqstyle/wink.png +0 -0
- data/data/webgen/resources/emoticons/matrix/angry.gif +0 -0
- data/data/webgen/resources/emoticons/matrix/cool.gif +0 -0
- data/data/webgen/resources/emoticons/matrix/cry.gif +0 -0
- data/data/webgen/resources/emoticons/matrix/drunk.gif +0 -0
- data/data/webgen/resources/emoticons/matrix/lol.gif +0 -0
- data/data/webgen/resources/emoticons/matrix/oops.gif +0 -0
- data/data/webgen/resources/emoticons/matrix/sad.gif +0 -0
- data/data/webgen/resources/emoticons/matrix/sleep.gif +0 -0
- data/data/webgen/resources/emoticons/matrix/smile.gif +0 -0
- data/data/webgen/resources/emoticons/matrix/tongue.gif +0 -0
- data/data/webgen/resources/emoticons/matrix/wink.gif +0 -0
- data/data/webgen/resources/emoticons/smellies/angry.gif +0 -0
- data/data/webgen/resources/emoticons/smellies/cool.gif +0 -0
- data/data/webgen/resources/emoticons/smellies/cry.gif +0 -0
- data/data/webgen/resources/emoticons/smellies/drunk.gif +0 -0
- data/data/webgen/resources/emoticons/smellies/lol.gif +0 -0
- data/data/webgen/resources/emoticons/smellies/oops.gif +0 -0
- data/data/webgen/resources/emoticons/smellies/sad.gif +0 -0
- data/data/webgen/resources/emoticons/smellies/sleep.gif +0 -0
- data/data/webgen/resources/emoticons/smellies/smile.gif +0 -0
- data/data/webgen/resources/emoticons/smellies/tongue.gif +0 -0
- data/data/webgen/resources/emoticons/smellies/wink.gif +0 -0
- data/data/webgen/resources/icons/compressed.png +0 -0
- data/data/webgen/resources/icons/document.png +0 -0
- data/data/webgen/resources/icons/download.png +0 -0
- data/data/webgen/resources/icons/image.png +0 -0
- data/data/webgen/resources/icons/linux.png +0 -0
- data/data/webgen/resources/icons/mac.png +0 -0
- data/data/webgen/resources/icons/pdf.png +0 -0
- data/data/webgen/resources/icons/penguin.png +0 -0
- data/data/webgen/resources/icons/quicktime.png +0 -0
- data/data/webgen/resources/icons/real.png +0 -0
- data/data/webgen/resources/icons/rpm.png +0 -0
- data/data/webgen/resources/icons/sound.png +0 -0
- data/data/webgen/resources/icons/source.png +0 -0
- data/data/webgen/resources/icons/spreadsheet.png +0 -0
- data/data/webgen/resources/icons/text.png +0 -0
- data/data/webgen/resources/icons/vcard.png +0 -0
- data/data/webgen/resources/icons/video.png +0 -0
- data/data/webgen/resources/icons/win.png +0 -0
- data/data/webgen/resources/images/generated_by_webgen.png +0 -0
- data/data/webgen/resources/images/valid-css.gif +0 -0
- data/data/webgen/resources/images/valid-xhtml11.png +0 -0
- data/data/webgen/resources/images/webgen_logo.png +0 -0
- data/data/webgen/sipttra_styles/default/README +0 -7
- data/data/webgen/sipttra_styles/default/css/sipttra.rcss +0 -71
- data/data/webgen/sipttra_styles/default/js/sipttra.js +0 -7
- data/data/webgen/sipttra_styles/default/sipttra.template +0 -105
- data/data/webgen/website_styles/andreas00/default.template +0 -62
- data/data/webgen/website_styles/andreas01/default.template +0 -63
- data/data/webgen/website_styles/andreas06/default.template +0 -72
- data/data/webgen/website_styles/andreas07/default.template +0 -44
- data/data/webgen/website_styles/andreas08/default.template +0 -53
- data/data/webgen/website_styles/default/default.template +0 -38
- data/data/webgen/website_templates/personal_hp/README +0 -8
- data/data/webgen/website_templates/personal_hp/src/about.page +0 -12
- data/data/webgen/website_templates/personal_hp/src/index.page +0 -9
- data/data/webgen/website_templates/personal_hp/src/links.page +0 -22
- data/data/webgen/website_templates/personal_hp/src/projects.page +0 -20
- data/doc/config.yaml +0 -8
- data/doc/examples/website_styles/1024px/README +0 -9
- data/doc/examples/website_styles/1024px/config.yaml +0 -2
- data/doc/examples/website_styles/1024px/src/about.page +0 -12
- data/doc/examples/website_styles/1024px/src/default.css +0 -188
- data/doc/examples/website_styles/1024px/src/default.template +0 -62
- data/doc/examples/website_styles/1024px/src/download.page +0 -15
- data/doc/examples/website_styles/1024px/src/features.page +0 -8
- data/doc/examples/website_styles/1024px/src/images/background.gif +0 -0
- data/doc/examples/website_styles/1024px/src/index.page +0 -9
- data/doc/examples/website_styles/1024px/src/screenshots.page +0 -18
- data/doc/examples/website_styles/andreas00/README +0 -9
- data/doc/examples/website_styles/andreas00/config.yaml +0 -2
- data/doc/examples/website_styles/andreas00/src/about.page +0 -12
- data/doc/examples/website_styles/andreas00/src/default.css +0 -290
- data/doc/examples/website_styles/andreas00/src/download.page +0 -15
- data/doc/examples/website_styles/andreas00/src/features.page +0 -8
- data/doc/examples/website_styles/andreas00/src/images/bg.gif +0 -0
- data/doc/examples/website_styles/andreas00/src/images/front.jpg +0 -0
- data/doc/examples/website_styles/andreas00/src/images/menubg.gif +0 -0
- data/doc/examples/website_styles/andreas00/src/images/menubg2.gif +0 -0
- data/doc/examples/website_styles/andreas00/src/index.page +0 -9
- data/doc/examples/website_styles/andreas00/src/screenshots.page +0 -18
- data/doc/examples/website_styles/andreas01/README +0 -9
- data/doc/examples/website_styles/andreas01/config.yaml +0 -2
- data/doc/examples/website_styles/andreas01/src/about.page +0 -12
- data/doc/examples/website_styles/andreas01/src/default.css +0 -310
- data/doc/examples/website_styles/andreas01/src/download.page +0 -15
- data/doc/examples/website_styles/andreas01/src/features.page +0 -8
- data/doc/examples/website_styles/andreas01/src/images/bg.gif +0 -0
- data/doc/examples/website_styles/andreas01/src/images/front.jpg +0 -0
- data/doc/examples/website_styles/andreas01/src/index.page +0 -9
- data/doc/examples/website_styles/andreas01/src/print.css +0 -35
- data/doc/examples/website_styles/andreas01/src/screenshots.page +0 -18
- data/doc/examples/website_styles/andreas03/README +0 -9
- data/doc/examples/website_styles/andreas03/config.yaml +0 -2
- data/doc/examples/website_styles/andreas03/src/about.page +0 -12
- data/doc/examples/website_styles/andreas03/src/default.css +0 -223
- data/doc/examples/website_styles/andreas03/src/default.template +0 -60
- data/doc/examples/website_styles/andreas03/src/download.page +0 -15
- data/doc/examples/website_styles/andreas03/src/features.page +0 -8
- data/doc/examples/website_styles/andreas03/src/images/bodybg.png +0 -0
- data/doc/examples/website_styles/andreas03/src/images/contbg.png +0 -0
- data/doc/examples/website_styles/andreas03/src/images/footerbg.png +0 -0
- data/doc/examples/website_styles/andreas03/src/images/gradient1.png +0 -0
- data/doc/examples/website_styles/andreas03/src/images/gradient2.png +0 -0
- data/doc/examples/website_styles/andreas03/src/index.page +0 -9
- data/doc/examples/website_styles/andreas03/src/screenshots.page +0 -18
- data/doc/examples/website_styles/andreas04/README +0 -9
- data/doc/examples/website_styles/andreas04/config.yaml +0 -2
- data/doc/examples/website_styles/andreas04/src/about.page +0 -12
- data/doc/examples/website_styles/andreas04/src/default.css +0 -290
- data/doc/examples/website_styles/andreas04/src/default.template +0 -83
- data/doc/examples/website_styles/andreas04/src/download.page +0 -15
- data/doc/examples/website_styles/andreas04/src/features.page +0 -8
- data/doc/examples/website_styles/andreas04/src/images/blinkarrow.gif +0 -0
- data/doc/examples/website_styles/andreas04/src/images/bodybg.png +0 -0
- data/doc/examples/website_styles/andreas04/src/images/contentbg.png +0 -0
- data/doc/examples/website_styles/andreas04/src/images/entrybg.png +0 -0
- data/doc/examples/website_styles/andreas04/src/images/flash.gif +0 -0
- data/doc/examples/website_styles/andreas04/src/images/flash2.gif +0 -0
- data/doc/examples/website_styles/andreas04/src/images/globe.gif +0 -0
- data/doc/examples/website_styles/andreas04/src/images/globebottom.gif +0 -0
- data/doc/examples/website_styles/andreas04/src/images/linkarrow.gif +0 -0
- data/doc/examples/website_styles/andreas04/src/images/menuhover.png +0 -0
- data/doc/examples/website_styles/andreas04/src/index.page +0 -9
- data/doc/examples/website_styles/andreas04/src/screenshots.page +0 -18
- data/doc/examples/website_styles/andreas05/README +0 -9
- data/doc/examples/website_styles/andreas05/config.yaml +0 -2
- data/doc/examples/website_styles/andreas05/src/about.page +0 -12
- data/doc/examples/website_styles/andreas05/src/default.css +0 -33
- data/doc/examples/website_styles/andreas05/src/default.template +0 -42
- data/doc/examples/website_styles/andreas05/src/download.page +0 -15
- data/doc/examples/website_styles/andreas05/src/features.page +0 -8
- data/doc/examples/website_styles/andreas05/src/images/bodybg.gif +0 -0
- data/doc/examples/website_styles/andreas05/src/images/front.png +0 -0
- data/doc/examples/website_styles/andreas05/src/index.page +0 -9
- data/doc/examples/website_styles/andreas05/src/screenshots.page +0 -18
- data/doc/examples/website_styles/andreas06/README +0 -9
- data/doc/examples/website_styles/andreas06/config.yaml +0 -2
- data/doc/examples/website_styles/andreas06/src/about.page +0 -12
- data/doc/examples/website_styles/andreas06/src/default.css +0 -354
- data/doc/examples/website_styles/andreas06/src/download.page +0 -15
- data/doc/examples/website_styles/andreas06/src/features.page +0 -8
- data/doc/examples/website_styles/andreas06/src/images/bodybg.gif +0 -0
- data/doc/examples/website_styles/andreas06/src/images/boxbg.gif +0 -0
- data/doc/examples/website_styles/andreas06/src/images/greypx.gif +0 -0
- data/doc/examples/website_styles/andreas06/src/images/header.jpg +0 -0
- data/doc/examples/website_styles/andreas06/src/images/innerbg.gif +0 -0
- data/doc/examples/website_styles/andreas06/src/images/leaves.jpg +0 -0
- data/doc/examples/website_styles/andreas06/src/images/tabs.gif +0 -0
- data/doc/examples/website_styles/andreas06/src/index.page +0 -9
- data/doc/examples/website_styles/andreas06/src/screenshots.page +0 -18
- data/doc/examples/website_styles/andreas07/README +0 -9
- data/doc/examples/website_styles/andreas07/config.yaml +0 -2
- data/doc/examples/website_styles/andreas07/src/about.page +0 -12
- data/doc/examples/website_styles/andreas07/src/browserfix.css +0 -7
- data/doc/examples/website_styles/andreas07/src/default.css +0 -92
- data/doc/examples/website_styles/andreas07/src/download.page +0 -15
- data/doc/examples/website_styles/andreas07/src/features.page +0 -8
- data/doc/examples/website_styles/andreas07/src/images/bodybg.gif +0 -0
- data/doc/examples/website_styles/andreas07/src/images/sidebarbg.gif +0 -0
- data/doc/examples/website_styles/andreas07/src/index.page +0 -9
- data/doc/examples/website_styles/andreas07/src/screenshots.page +0 -18
- data/doc/examples/website_styles/andreas08/README +0 -9
- data/doc/examples/website_styles/andreas08/config.yaml +0 -2
- data/doc/examples/website_styles/andreas08/src/about.page +0 -12
- data/doc/examples/website_styles/andreas08/src/default.css +0 -224
- data/doc/examples/website_styles/andreas08/src/download.page +0 -15
- data/doc/examples/website_styles/andreas08/src/features.page +0 -8
- data/doc/examples/website_styles/andreas08/src/index.page +0 -9
- data/doc/examples/website_styles/andreas08/src/screenshots.page +0 -18
- data/doc/examples/website_styles/andreas09/README +0 -9
- data/doc/examples/website_styles/andreas09/config.yaml +0 -2
- data/doc/examples/website_styles/andreas09/src/about.page +0 -12
- data/doc/examples/website_styles/andreas09/src/default.css +0 -308
- data/doc/examples/website_styles/andreas09/src/default.template +0 -70
- data/doc/examples/website_styles/andreas09/src/download.page +0 -15
- data/doc/examples/website_styles/andreas09/src/features.page +0 -8
- data/doc/examples/website_styles/andreas09/src/images/bodybg-black.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/images/bodybg-green.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/images/bodybg-orange.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/images/bodybg-purple.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/images/bodybg-red.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/images/bodybg.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/images/footerbg.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/images/menuhover-black.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/images/menuhover-green.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/images/menuhover-orange.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/images/menuhover-purple.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/images/menuhover-red.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/images/menuhover.jpg +0 -0
- data/doc/examples/website_styles/andreas09/src/index.page +0 -9
- data/doc/examples/website_styles/andreas09/src/screenshots.page +0 -18
- data/doc/examples/website_styles/default/README +0 -9
- data/doc/examples/website_styles/default/config.yaml +0 -2
- data/doc/examples/website_styles/default/src/about.page +0 -12
- data/doc/examples/website_styles/default/src/default.css +0 -84
- data/doc/examples/website_styles/default/src/download.page +0 -15
- data/doc/examples/website_styles/default/src/features.page +0 -8
- data/doc/examples/website_styles/default/src/index.page +0 -9
- data/doc/examples/website_styles/default/src/screenshots.page +0 -18
- data/doc/examples/website_templates/default/README +0 -8
- data/doc/examples/website_templates/default/config.yaml +0 -2
- data/doc/examples/website_templates/default/src/default.css +0 -84
- data/doc/examples/website_templates/default/src/default.template +0 -38
- data/doc/examples/website_templates/default/src/index.page +0 -8
- data/doc/examples/website_templates/personal_hp/README +0 -8
- data/doc/examples/website_templates/personal_hp/config.yaml +0 -2
- data/doc/examples/website_templates/personal_hp/src/about.page +0 -12
- data/doc/examples/website_templates/personal_hp/src/default.css +0 -84
- data/doc/examples/website_templates/personal_hp/src/default.template +0 -38
- data/doc/examples/website_templates/personal_hp/src/index.page +0 -9
- data/doc/examples/website_templates/personal_hp/src/links.page +0 -22
- data/doc/examples/website_templates/personal_hp/src/projects.page +0 -20
- data/doc/examples/website_templates/project/README +0 -9
- data/doc/examples/website_templates/project/config.yaml +0 -2
- data/doc/examples/website_templates/project/src/about.page +0 -12
- data/doc/examples/website_templates/project/src/default.css +0 -84
- data/doc/examples/website_templates/project/src/default.template +0 -38
- data/doc/examples/website_templates/project/src/download.page +0 -15
- data/doc/examples/website_templates/project/src/features.page +0 -8
- data/doc/examples/website_templates/project/src/index.page +0 -9
- data/doc/examples/website_templates/project/src/screenshots.page +0 -18
- data/doc/metainfo.yaml +0 -105
- data/doc/plugin/emoticon.rb +0 -27
- data/doc/plugin/extension.rb +0 -163
- data/doc/plugin/gallery/slides/collage.rb +0 -337
- data/doc/plugin/listpluginparameters.rb +0 -37
- data/doc/plugin/resources.rb +0 -28
- data/doc/src/css/sipttra.rcss +0 -71
- data/doc/src/default.css +0 -434
- data/doc/src/default.template +0 -125
- data/doc/src/documentation/basics.page +0 -148
- data/doc/src/documentation/extending_webgen.page +0 -104
- data/doc/src/documentation/howto.page +0 -221
- data/doc/src/documentation/index.page +0 -50
- data/doc/src/documentation/plugins/contentconverter/default.page +0 -16
- data/doc/src/documentation/plugins/contentconverter/haml.page +0 -21
- data/doc/src/documentation/plugins/contentconverter/html.page +0 -10
- data/doc/src/documentation/plugins/contentconverter/markdown.page +0 -21
- data/doc/src/documentation/plugins/contentconverter/maruku.page +0 -23
- data/doc/src/documentation/plugins/contentconverter/rdoc.page +0 -11
- data/doc/src/documentation/plugins/contentconverter/sass.page +0 -36
- data/doc/src/documentation/plugins/contentconverter/textile.page +0 -21
- data/doc/src/documentation/plugins/contentconverter/xmlbuilder.page +0 -61
- data/doc/src/documentation/plugins/core/configuration.page +0 -17
- data/doc/src/documentation/plugins/core/filehandler.page +0 -220
- data/doc/src/documentation/plugins/core/index.page +0 -11
- data/doc/src/documentation/plugins/core/resourcemanager.page +0 -40
- data/doc/src/documentation/plugins/core/tagprocessor.page +0 -17
- data/doc/src/documentation/plugins/file/copyhandler.page +0 -26
- data/doc/src/documentation/plugins/file/defaulthandler.page +0 -16
- data/doc/src/documentation/plugins/file/directoryhandler.page +0 -37
- data/doc/src/documentation/plugins/file/galleryhandler.page +0 -190
- data/doc/src/documentation/plugins/file/pagehandler.page +0 -154
- data/doc/src/documentation/plugins/file/sipttrahandler.page +0 -18
- data/doc/src/documentation/plugins/file/templatehandler.page +0 -51
- data/doc/src/documentation/plugins/file/thumbnailwriter.page +0 -42
- data/doc/src/documentation/plugins/htmlvalidator/default.page +0 -13
- data/doc/src/documentation/plugins/htmlvalidator/xmllint.page +0 -12
- data/doc/src/documentation/plugins/index.page +0 -53
- data/doc/src/documentation/plugins/menustyle/default.page +0 -20
- data/doc/src/documentation/plugins/menustyle/horizontal.page +0 -36
- data/doc/src/documentation/plugins/menustyle/horizontaldropdown.page +0 -48
- data/doc/src/documentation/plugins/menustyle/section.page +0 -34
- data/doc/src/documentation/plugins/menustyle/vertical.page +0 -48
- data/doc/src/documentation/plugins/menustyle/verticaldropdown.page +0 -29
- data/doc/src/documentation/plugins/misc/index.page +0 -9
- data/doc/src/documentation/plugins/misc/smileyreplacer.page +0 -39
- data/doc/src/documentation/plugins/misc/syntaxhighlighter.page +0 -26
- data/doc/src/documentation/plugins/tag/block.page +0 -29
- data/doc/src/documentation/plugins/tag/breadcrumbtrail.page +0 -41
- data/doc/src/documentation/plugins/tag/customvar.page +0 -11
- data/doc/src/documentation/plugins/tag/date.page +0 -34
- data/doc/src/documentation/plugins/tag/default.page +0 -28
- data/doc/src/documentation/plugins/tag/download.page +0 -60
- data/doc/src/documentation/plugins/tag/executecommand.page +0 -29
- data/doc/src/documentation/plugins/tag/htmlmetainfo.page +0 -32
- data/doc/src/documentation/plugins/tag/includefile.page +0 -30
- data/doc/src/documentation/plugins/tag/langbar.de.page +0 -6
- data/doc/src/documentation/plugins/tag/langbar.fr.page +0 -6
- data/doc/src/documentation/plugins/tag/langbar.page +0 -41
- data/doc/src/documentation/plugins/tag/menu.page +0 -78
- data/doc/src/documentation/plugins/tag/meta.page +0 -21
- data/doc/src/documentation/plugins/tag/news.page +0 -48
- data/doc/src/documentation/plugins/tag/relocatable.page +0 -46
- data/doc/src/documentation/plugins/tag/resource.page +0 -35
- data/doc/src/documentation/plugins/tag/sitemap.page +0 -35
- data/doc/src/documentation/plugins/tag/wikilink.page +0 -33
- data/doc/src/documentation/references/index.page +0 -34
- data/doc/src/documentation/references/meta_info_reference.page +0 -136
- data/doc/src/documentation/references/parameter_reference.page +0 -11
- data/doc/src/documentation/references/resource_reference.page +0 -18
- data/doc/src/documentation/references/sipttra_format.page +0 -241
- data/doc/src/documentation/references/webpage_format.page +0 -253
- data/doc/src/documentation/tutorial.page +0 -167
- data/doc/src/download.page +0 -74
- data/doc/src/examples/example_sites/index.page +0 -45
- data/doc/src/examples/example_sites/personal.zip +0 -0
- data/doc/src/examples/example_sites/photo_gallery.zip +0 -0
- data/doc/src/examples/gallery_styles/default/default.gallery +0 -78
- data/doc/src/examples/gallery_styles/default/gallery_gallery.template +0 -38
- data/doc/src/examples/gallery_styles/default/gallery_image.template +0 -30
- data/doc/src/examples/gallery_styles/default/gallery_main.template +0 -18
- data/doc/src/examples/gallery_styles/index.page +0 -22
- data/doc/src/examples/gallery_styles/slides/gallery_gallery.template +0 -62
- data/doc/src/examples/gallery_styles/slides/gallery_image.template +0 -53
- data/doc/src/examples/gallery_styles/slides/gallery_main.template +0 -32
- data/doc/src/examples/gallery_styles/slides/slides.gallery +0 -79
- data/doc/src/examples/images/image01.jpg +0 -0
- data/doc/src/examples/images/image02.jpg +0 -0
- data/doc/src/examples/images/image03.jpg +0 -0
- data/doc/src/examples/images/image04.jpg +0 -0
- data/doc/src/examples/images/image05.jpg +0 -0
- data/doc/src/examples/images/image06.jpg +0 -0
- data/doc/src/examples/images/image07.jpg +0 -0
- data/doc/src/examples/images/image08.jpg +0 -0
- data/doc/src/examples/images/image09.jpg +0 -0
- data/doc/src/examples/images/image10.jpg +0 -0
- data/doc/src/examples/images/image11.jpg +0 -0
- data/doc/src/examples/images/image12.jpg +0 -0
- data/doc/src/examples/images/image13.jpg +0 -0
- data/doc/src/examples/images/image14.jpg +0 -0
- data/doc/src/examples/images/image15.jpg +0 -0
- data/doc/src/examples/images/image16.jpg +0 -0
- data/doc/src/examples/images/image17.jpg +0 -0
- data/doc/src/examples/images/image18.jpg +0 -0
- data/doc/src/examples/index.page +0 -19
- data/doc/src/examples/sipttra_styles/default.page +0 -5
- data/doc/src/examples/sipttra_styles/default/css/sipttra.rcss +0 -71
- data/doc/src/examples/sipttra_styles/default/default.template +0 -16
- data/doc/src/examples/sipttra_styles/default/index.todo +0 -60
- data/doc/src/examples/sipttra_styles/default/js/sipttra.js +0 -7
- data/doc/src/examples/sipttra_styles/default/sipttra.template +0 -105
- data/doc/src/examples/sipttra_styles/index.page +0 -17
- data/doc/src/examples/website_styles/1024px.page +0 -5
- data/doc/src/examples/website_styles/andreas00.page +0 -5
- data/doc/src/examples/website_styles/andreas01.page +0 -5
- data/doc/src/examples/website_styles/andreas03.page +0 -5
- data/doc/src/examples/website_styles/andreas04.page +0 -5
- data/doc/src/examples/website_styles/andreas05.page +0 -5
- data/doc/src/examples/website_styles/andreas06.page +0 -5
- data/doc/src/examples/website_styles/andreas07.page +0 -5
- data/doc/src/examples/website_styles/andreas08.page +0 -5
- data/doc/src/examples/website_styles/andreas09.page +0 -5
- data/doc/src/examples/website_styles/default.page +0 -5
- data/doc/src/examples/website_styles/index.page +0 -76
- data/doc/src/examples/website_templates/default.page +0 -5
- data/doc/src/examples/website_templates/index.page +0 -24
- data/doc/src/examples/website_templates/personal_hp.page +0 -5
- data/doc/src/examples/website_templates/project.page +0 -5
- data/doc/src/features.page +0 -41
- data/doc/src/images/bodybg.jpg +0 -0
- data/doc/src/images/footerbg.jpg +0 -0
- data/doc/src/images/menuhover.jpg +0 -0
- data/doc/src/images/node_diagram.svg +0 -7132
- data/doc/src/images/thumb_example.jpg +0 -0
- data/doc/src/images/thumb_example_cropped.jpg +0 -0
- data/doc/src/images/thumb_example_normal.jpg +0 -0
- data/doc/src/index.page +0 -32
- data/doc/src/js/sipttra.js +0 -7
- data/doc/src/news.page +0 -256
- data/doc/src/plugin.template +0 -10
- data/doc/src/project.todo +0 -144
- data/doc/src/sipttra.template +0 -105
- data/lib/webgen/composite.rb +0 -101
- data/lib/webgen/config.rb +0 -52
- data/lib/webgen/content.rb +0 -172
- data/lib/webgen/extcommand.rb +0 -23
- data/lib/webgen/gui/common.rb +0 -38
- data/lib/webgen/gui/main.rb +0 -219
- data/lib/webgen/gui/new_website_dlg.rb +0 -125
- data/lib/webgen/listener.rb +0 -105
- data/lib/webgen/plugin.rb +0 -578
- data/lib/webgen/plugins/contentconverters/default.rb +0 -40
- data/lib/webgen/plugins/contentconverters/haml.rb +0 -71
- data/lib/webgen/plugins/contentconverters/html.rb +0 -43
- data/lib/webgen/plugins/contentconverters/markdown.rb +0 -54
- data/lib/webgen/plugins/contentconverters/maruku.rb +0 -33
- data/lib/webgen/plugins/contentconverters/rdoc.rb +0 -54
- data/lib/webgen/plugins/contentconverters/textile.rb +0 -54
- data/lib/webgen/plugins/contentconverters/xmlbuilder.rb +0 -58
- data/lib/webgen/plugins/coreplugins/configuration.rb +0 -45
- data/lib/webgen/plugins/coreplugins/resourcemanager.rb +0 -307
- data/lib/webgen/plugins/filehandlers/copy.rb +0 -82
- data/lib/webgen/plugins/filehandlers/directory.rb +0 -126
- data/lib/webgen/plugins/filehandlers/filehandler.rb +0 -486
- data/lib/webgen/plugins/filehandlers/gallery.rb +0 -486
- data/lib/webgen/plugins/filehandlers/page.rb +0 -255
- data/lib/webgen/plugins/filehandlers/sipttra.rb +0 -73
- data/lib/webgen/plugins/filehandlers/template.rb +0 -115
- data/lib/webgen/plugins/htmlvalidators/default.rb +0 -39
- data/lib/webgen/plugins/htmlvalidators/xmllint.rb +0 -54
- data/lib/webgen/plugins/menustyles/default.rb +0 -80
- data/lib/webgen/plugins/menustyles/horizontal.rb +0 -85
- data/lib/webgen/plugins/menustyles/horizontal_dropdown.rb +0 -99
- data/lib/webgen/plugins/menustyles/section.rb +0 -68
- data/lib/webgen/plugins/menustyles/vertical.rb +0 -87
- data/lib/webgen/plugins/menustyles/vertical_dropdown.rb +0 -99
- data/lib/webgen/plugins/miscplugins/rendered_files.rb +0 -75
- data/lib/webgen/plugins/miscplugins/smileyreplacer.rb +0 -87
- data/lib/webgen/plugins/miscplugins/syntax_highlighter.rb +0 -72
- data/lib/webgen/plugins/miscplugins/treewalker.rb +0 -91
- data/lib/webgen/plugins/tags/block.rb +0 -65
- data/lib/webgen/plugins/tags/breadcrumbtrail.rb +0 -75
- data/lib/webgen/plugins/tags/customvar.rb +0 -54
- data/lib/webgen/plugins/tags/date.rb +0 -46
- data/lib/webgen/plugins/tags/download.rb +0 -155
- data/lib/webgen/plugins/tags/executecommand.rb +0 -69
- data/lib/webgen/plugins/tags/htmlmetainfo.rb +0 -27
- data/lib/webgen/plugins/tags/includefile.rb +0 -69
- data/lib/webgen/plugins/tags/langbar.rb +0 -55
- data/lib/webgen/plugins/tags/menu.rb +0 -111
- data/lib/webgen/plugins/tags/meta.rb +0 -53
- data/lib/webgen/plugins/tags/news.rb +0 -151
- data/lib/webgen/plugins/tags/relocatable.rb +0 -94
- data/lib/webgen/plugins/tags/sitemap.rb +0 -82
- data/lib/webgen/plugins/tags/tag_processor.rb +0 -279
- data/lib/webgen/plugins/tags/wikilink.rb +0 -62
- data/lib/webgen/rake/webgentask.rb +0 -161
- data/lib/webgen/sipttra_format.rb +0 -343
- data/lib/webgen/test.rb +0 -202
- data/test/fixtures/sample_site/src/chained.template +0 -3
- data/test/fixtures/sample_site/src/default.template +0 -3
- data/test/fixtures/sample_site/src/dir1/dir11/file111.de.page +0 -3
- data/test/fixtures/sample_site/src/dir1/dir11/file111.page +0 -3
- data/test/fixtures/sample_site/src/dir1/dir11/index.page +0 -3
- data/test/fixtures/sample_site/src/dir1/file11.page +0 -3
- data/test/fixtures/sample_site/src/dir2/file21.page +0 -3
- data/test/fixtures/sample_site/src/embedded.rhtml +0 -1
- data/test/fixtures/sample_site/src/file1.page +0 -8
- data/test/fixtures/sample_site/src/file2.de.page +0 -6
- data/test/fixtures/sample_site/src/index.de.page +0 -5
- data/test/fixtures/sample_site/src/index.en.page +0 -1
- data/test/fixtures/sample_site/src/invalid.template +0 -3
- data/test/fixtures/sample_site/src/test.jpg +0 -1
- data/test/fixtures/sample_site/src/test.template +0 -3
- data/test/fixtures/sample_site/src/test.todo +0 -7
- data/test/fixtures/tc_content/blocks.yaml +0 -40
- data/test/fixtures/tc_content/correct.yaml +0 -65
- data/test/fixtures/tc_content/incorrect.yaml +0 -42
- data/test/fixtures/tc_filehandler_filehandler/backing/metainfo.yaml +0 -9
- data/test/fixtures/tc_filehandler_filehandler/backing_empty/metainfo.yaml +0 -6
- data/test/fixtures/tc_filehandler_filehandler/sample_plugin.rb +0 -49
- data/test/fixtures/tc_filehandler_filehandler/unmodified +0 -0
- data/test/fixtures/tc_filehandler_gallery/test.gallery +0 -2
- data/test/fixtures/tc_filehandler_gallery/test1.gallery +0 -2
- data/test/fixtures/tc_filehandler_gallery/test1.jpg +0 -0
- data/test/fixtures/tc_filehandler_gallery/test2.jpg +0 -0
- data/test/fixtures/tc_filehandler_gallery/test3.jpg +0 -0
- data/test/fixtures/tc_filehandler_gallery/test4.jpg +0 -0
- data/test/fixtures/tc_filehandler_page/testdata.yaml +0 -10
- data/test/fixtures/tc_menustyles_default/menustyle.rb +0 -7
- data/test/fixtures/tc_node/nodes.yaml +0 -64
- data/test/fixtures/tc_plugin/handlerplugin.rb +0 -15
- data/test/fixtures/tc_plugin/plugin1.rb +0 -35
- data/test/fixtures/tc_plugin/plugin2.rb +0 -8
- data/test/fixtures/tc_sipttra_format/test.sipttra +0 -46
- data/test/fixtures/tc_tags_includefile/testfile +0 -1
- data/test/fixtures/tc_tags_tag_processor/test_file1 +0 -1
- data/test/fixtures/tc_tags_tag_processor/testtag.rb +0 -17
- data/test/fixtures/tc_website/correct.yaml +0 -6
- data/test/fixtures/tc_website/incorrect_structure.yaml +0 -2
- data/test/fixtures/tc_website/incorrect_yaml.yaml +0 -5
- data/test/fixtures/tc_website/meta_info_test.yaml +0 -10
- data/test/fixtures/tc_website/testdir/README +0 -1
- data/test/fixtures/tc_website/testdir/falsedir/README +0 -1
- data/test/runtests.rb +0 -2
- data/test/unittests/tc_composite.rb +0 -82
- data/test/unittests/tc_config.rb +0 -18
- data/test/unittests/tc_content.rb +0 -96
- data/test/unittests/tc_contentconverters_default.rb +0 -13
- data/test/unittests/tc_contentconverters_html.rb +0 -16
- data/test/unittests/tc_contentconverters_markdown.rb +0 -22
- data/test/unittests/tc_contentconverters_rdoc.rb +0 -16
- data/test/unittests/tc_contentconverters_textile.rb +0 -22
- data/test/unittests/tc_contentconverters_xmlbuilder.rb +0 -22
- data/test/unittests/tc_filehandler_copy.rb +0 -65
- data/test/unittests/tc_filehandler_directory.rb +0 -134
- data/test/unittests/tc_filehandler_filehandler.rb +0 -294
- data/test/unittests/tc_filehandler_gallery.rb +0 -165
- data/test/unittests/tc_filehandler_page.rb +0 -183
- data/test/unittests/tc_filehandler_sipttra.rb +0 -26
- data/test/unittests/tc_filehandler_template.rb +0 -64
- data/test/unittests/tc_htmlvalidators_default.rb +0 -12
- data/test/unittests/tc_htmlvalidators_xmllint.rb +0 -19
- data/test/unittests/tc_languages.rb +0 -57
- data/test/unittests/tc_listener.rb +0 -72
- data/test/unittests/tc_menustyles_default.rb +0 -51
- data/test/unittests/tc_menustyles_horizontal.rb +0 -64
- data/test/unittests/tc_menustyles_horizontal_dropdown.rb +0 -18
- data/test/unittests/tc_menustyles_section.rb +0 -59
- data/test/unittests/tc_menustyles_vertical.rb +0 -79
- data/test/unittests/tc_menustyles_vertical_dropdown.rb +0 -18
- data/test/unittests/tc_node.rb +0 -205
- data/test/unittests/tc_plugin.rb +0 -221
- data/test/unittests/tc_resourcemanager.rb +0 -42
- data/test/unittests/tc_sipttra_format.rb +0 -58
- data/test/unittests/tc_smileyreplacer.rb +0 -25
- data/test/unittests/tc_syntax_highlighter.rb +0 -30
- data/test/unittests/tc_tags_block.rb +0 -27
- data/test/unittests/tc_tags_breadcrumbtrail.rb +0 -56
- data/test/unittests/tc_tags_customvar.rb +0 -24
- data/test/unittests/tc_tags_date.rb +0 -16
- data/test/unittests/tc_tags_download.rb +0 -32
- data/test/unittests/tc_tags_executecommand.rb +0 -37
- data/test/unittests/tc_tags_includefile.rb +0 -46
- data/test/unittests/tc_tags_langbar.rb +0 -42
- data/test/unittests/tc_tags_menu.rb +0 -50
- data/test/unittests/tc_tags_meta.rb +0 -19
- data/test/unittests/tc_tags_relocatable.rb +0 -66
- data/test/unittests/tc_tags_sitemap.rb +0 -33
- data/test/unittests/tc_tags_tag_processor.rb +0 -107
- data/test/unittests/tc_tags_wikilink.rb +0 -22
- data/test/unittests/tc_treewalker.rb +0 -51
- data/test/unittests/tc_website.rb +0 -188
@@ -0,0 +1,130 @@
|
|
1
|
+
---
|
2
|
+
title: Getting Started Guide
|
3
|
+
---
|
4
|
+
## Tutorial: Creating a Basic Website
|
5
|
+
|
6
|
+
|
7
|
+
### Creating the Basic Directories
|
8
|
+
|
9
|
+
webgen needs a special directory structure so that it works out of the box. Basically, you have a
|
10
|
+
website directory under which the following directories are located:
|
11
|
+
|
12
|
+
* `src`: The source directory in which all the source files for the website are.
|
13
|
+
|
14
|
+
* `out`: This directory is created, if it does not exist, when webgen generates the HTML files. All
|
15
|
+
the output files are put into this directory.
|
16
|
+
|
17
|
+
* `ext`: The extension directory (optional). You can put self-written extensions into this directory
|
18
|
+
so that they are used by webgen.
|
19
|
+
|
20
|
+
The directory in which these directories are in is called the *website directory*.
|
21
|
+
|
22
|
+
Don't worry too much about these directories since webgen is able to create the correct directory
|
23
|
+
structure for you. By running the command `webgen create sample_site`, the website directory
|
24
|
+
`sample_site` is created with the default website template and website style. You can naturally use
|
25
|
+
any available template or style by passing their names to the respective options of the `create`
|
26
|
+
command.
|
27
|
+
|
28
|
+
> A *website template* provides a starting point for your website. For example, the `project`
|
29
|
+
> template defines several pages including a features and about page.
|
30
|
+
>
|
31
|
+
> A *website style* defines the look and feel of your website. webgen comes with many predefined
|
32
|
+
> styles (nearly all of them are converted open source web design styles).
|
33
|
+
{.information}
|
34
|
+
|
35
|
+
Don't worry if you don't like the used website style - you can easily change it later. Have a look
|
36
|
+
at [the examples section](0.4.x/examples/website_styles/index.html) (note: these are still the
|
37
|
+
example from the previous version of webgen but the styles haven't changed) to see demonstrations
|
38
|
+
for all shipped website templates and styles!
|
39
|
+
|
40
|
+
Since the basic parts are now in place, you can generate the HTML files. There are two
|
41
|
+
possibilities:
|
42
|
+
|
43
|
+
* Either you change into the `sample_site` directory and run the command `webgen`.
|
44
|
+
|
45
|
+
* Or you run webgen from any directory and specify the website directory using the `-d` option, for
|
46
|
+
example `webgen -d sample_site`.
|
47
|
+
|
48
|
+
Easy! webgen has used all files in the `src` directory and created the HTML output in the directory
|
49
|
+
`out`. Since webgen automatically creates relative links, you can just open the `index.html` file
|
50
|
+
and you will have a fully functional website - no web server needed! However, as we did not write
|
51
|
+
any content yet, there is not much to see (only the default pages). So let's do that now!
|
52
|
+
|
53
|
+
|
54
|
+
### Adding Content
|
55
|
+
|
56
|
+
When using the `create` command, webgen does not only create the needed directories but it also
|
57
|
+
provides you with some default files, you will normally have at least the following ones:
|
58
|
+
|
59
|
+
* `src/default.template`: The default template for the new website.
|
60
|
+
* `src/default.css`: The default css file for the new website.
|
61
|
+
* `src/index.page`: The index file for the root directory of the website.
|
62
|
+
* `config.yaml`: The configuration file for setting configuration options.
|
63
|
+
|
64
|
+
> *Template files* and *page files* are the heart of webgen. Template files are used to define a
|
65
|
+
> general layout for web pages and page files define the real content. Both file types are written
|
66
|
+
> in [Webgen Page Format]({relocatable: webgen_page_format.html}). Page files are normally written
|
67
|
+
> in a markup language like Markdown or Textile which is easier to learn and edit for non-technical
|
68
|
+
> persons.
|
69
|
+
{.information}
|
70
|
+
|
71
|
+
The basic scaffolding is already in place. Now we only have to adapt the page file `index.page` and
|
72
|
+
add other page files.
|
73
|
+
|
74
|
+
All page files are written using the Webgen Page Format. Basically, you have an optional meta
|
75
|
+
information block at the beginning of the file and one or more content blocks. Blocks are separated
|
76
|
+
by three dashes (ie. `---`) on a separate line and if you want to have a meta information block you
|
77
|
+
need to have a block separator line at the beginning of your file.
|
78
|
+
|
79
|
+
Open the file `index.page` in your favorite text editor and change its content (ie. the first
|
80
|
+
content block). After that create a new file, `hello.page`, in the source directory with the
|
81
|
+
following content:
|
82
|
+
|
83
|
+
---
|
84
|
+
title: Sample hello page
|
85
|
+
in_menu: true
|
86
|
+
---
|
87
|
+
This is a sample page with the title "\{title:}" and it is in the menu!!!
|
88
|
+
|
89
|
+
We define two meta information items (namely `title` and `in_menu`) and added some content to the
|
90
|
+
first content block. Run webgen again and open `out/index.html` to view your changes. Add
|
91
|
+
page files and other content to your website and let it grow!
|
92
|
+
|
93
|
+
|
94
|
+
### Adding Dynamic Content
|
95
|
+
|
96
|
+
A static website is, as the name implies, static. However, since we generate the website it is
|
97
|
+
possible to add some dynamicity to it. For example, it gets very tedious to update menu links every
|
98
|
+
time we add a file that should be in the menu.
|
99
|
+
|
100
|
+
Therefore webgen provides two ways to add dynamic content out of the box:
|
101
|
+
|
102
|
+
* *ERB*: This term stands for "embedded ruby". It means that you can embed ruby statements in page
|
103
|
+
and templates files that get evaluated when the files are rendered.
|
104
|
+
|
105
|
+
* *webgen tags*: These are a way to add dynamic content without knowing a programming language
|
106
|
+
(although limiting you to the existing tags). You just state what tag you want to use and it does
|
107
|
+
its job. For example, there exists a very flexible menu generation tag.
|
108
|
+
|
109
|
+
You have already encountered a webgen tag in the last section when you created the `hello.page`
|
110
|
+
file: the `\{title:}` part. webgen tags can generally be specified like this: `\{tagname: {param:
|
111
|
+
value, param2: value2}}`. For detailed information on tags have a look at the
|
112
|
+
[Webgen::ContentProcessor::Tags]({relocatable: contentprocessor/tags.html}) documentation.
|
113
|
+
|
114
|
+
|
115
|
+
### Setting configuration options
|
116
|
+
|
117
|
+
webgen provides a default configuration out of the box. If you can live with that, you do not need
|
118
|
+
to change any configuration option. However, most users need to change some configuration option
|
119
|
+
sometime. The configuration file is called `config.yaml` and has to be placed directly under the
|
120
|
+
website directory. It uses YAML as file format.
|
121
|
+
|
122
|
+
> Have a look at the [Configuration Options Reference]({relocatable: reference_configuration.html})
|
123
|
+
> to get an overview over all available configuration options.
|
124
|
+
{.information}
|
125
|
+
|
126
|
+
Each configuration option can be set in the configuration file by specifing the configuration option
|
127
|
+
name and the new value as a key/value pair. A sample configuration file looks like this:
|
128
|
+
|
129
|
+
website.lang: de
|
130
|
+
website.link_to_current_page: true
|
data/doc/index.page
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
---
|
2
|
+
title: Overview
|
3
|
+
in_menu: false
|
4
|
+
---
|
5
|
+
|
6
|
+
This documentation is for the *repository version* of webgen and therefore may state features that
|
7
|
+
are not available in the latest released version.
|
8
|
+
|
9
|
+
* The documentation for the latest released 0.5.x version can be found
|
10
|
+
[here](http://webgen.rubyforge.org/documentation/0.5.x/index.html)
|
11
|
+
|
12
|
+
* If you are looking for the documentation of the 0.4.x series, it can be found
|
13
|
+
[here](http://webgen.rubyforge.org/documentation/0.4.x/index.html).
|
14
|
+
|
15
|
+
# User Documentation
|
16
|
+
|
17
|
+
Depending on whether you are new to webgen, you want more information about a specific topic or read
|
18
|
+
a reference, go to one of the following pages:
|
19
|
+
|
20
|
+
* [Getting Started Guide]({relocatable: getting_started.html}): If you are new to webgen, this
|
21
|
+
should be your first read. It explains the usage of the CLI command and how to create your first
|
22
|
+
website with webgen.
|
23
|
+
|
24
|
+
* [Manual]({relocatable: manual.html}): Detailed information about how webgen works can be found
|
25
|
+
here. After reading the Getting Started Guide, this should be the next read. Have a look at the
|
26
|
+
section headers to get a quick overview of what can be found here.
|
27
|
+
|
28
|
+
* [FAQ]({relocatable: faq.html}): If you want to do something with webgen, but you don't know how,
|
29
|
+
this page is exactly for you. It provides answers to frequently asked questions. If you have a
|
30
|
+
question which you think should be added, just mail me.
|
31
|
+
|
32
|
+
* Reference Documentation:
|
33
|
+
|
34
|
+
* [Extensions Documentation]({relocatable: extensions.html}): Detailed information on every usage
|
35
|
+
related extension class (source handlers, tags, content processors, ...)
|
36
|
+
|
37
|
+
* [Webgen Page Format]({relocatable: webgen_page_format.html}): Information about/Specification of
|
38
|
+
the format used, for example, by page and template files
|
39
|
+
|
40
|
+
* [Meta Information Reference]({relocatable: reference_metainfo.html}): Descriptions for every
|
41
|
+
meta information key that is used by webgen.
|
42
|
+
|
43
|
+
* [Configuration Options Reference]({relocatable: reference_configuration.html}): Overview of all
|
44
|
+
configuration options.
|
45
|
+
|
46
|
+
# Developer Documentation
|
47
|
+
|
48
|
+
webgen makes it easy to extend its functionality by writing simple extension classes. All
|
49
|
+
information about how to do this is provided in the [API documentation](rdoc/index.html). You will
|
50
|
+
also find examples for all existing extension types there.
|
data/doc/manual.page
ADDED
@@ -0,0 +1,356 @@
|
|
1
|
+
---
|
2
|
+
title: Manual
|
3
|
+
---
|
4
|
+
|
5
|
+
# The `webgen` command
|
6
|
+
|
7
|
+
The executable for webgen is called... webgen ;-) It uses a command style syntax (like Subversion's
|
8
|
+
`svn` or Rubygem's `gem` commands) through the [cmdparse] library. To get an overview of the
|
9
|
+
possible commands run `webgen help`.
|
10
|
+
|
11
|
+
The main command is the `render` command which does the actual website generation. This command uses
|
12
|
+
the current working directory as website directory if none was specified via the gloabl `-d` option.
|
13
|
+
|
14
|
+
You can invoke a command by specifying its name after the executable name. Also counting the
|
15
|
+
executable `webgen` as a command, the options for a command are specified directly after the command
|
16
|
+
name and before the next command or any arguments. For example, all the following command lines are
|
17
|
+
valid:
|
18
|
+
|
19
|
+
$ webgen
|
20
|
+
$ webgen render
|
21
|
+
$ webgen -d doc render
|
22
|
+
$ webgen -v create -t project new_site
|
23
|
+
$ webgen help create
|
24
|
+
|
25
|
+
Following is a short overview of the available commands:
|
26
|
+
|
27
|
+
* `create [-t TEMPLATE] [-s STYLE] SITE_DIR`
|
28
|
+
|
29
|
+
Creates a basic webgen website in `SITE_DIR` using the optional template and styles. All
|
30
|
+
available templates and styles are listed in the help output for the command.
|
31
|
+
|
32
|
+
* `help`
|
33
|
+
|
34
|
+
Displays usage information. Can be used to show information about a command by using the command
|
35
|
+
name as argument, eg. `webgen help create`.
|
36
|
+
|
37
|
+
* `render`
|
38
|
+
|
39
|
+
Renders the given webgen website.
|
40
|
+
|
41
|
+
* `version`
|
42
|
+
|
43
|
+
Displays the version of webgen.
|
44
|
+
|
45
|
+
[cmdparse]: http://cmdparse.rubyforge.org
|
46
|
+
|
47
|
+
|
48
|
+
# All About Paths and Sources {#source}
|
49
|
+
|
50
|
+
A source provides paths that identity files or directories. webgen can use paths from many sources.
|
51
|
+
The most commonly used source is the file system source which provides paths and information on them
|
52
|
+
from the file system.
|
53
|
+
|
54
|
+
|
55
|
+
## Path Types {#source-types}
|
56
|
+
|
57
|
+
webgen can handle many different types of files through the different source handler classes.
|
58
|
+
|
59
|
+
The most important files are the page and template files as they are used to define the content and
|
60
|
+
the layout of a website. Have a look at the [Webgen Page Format documentation]({relocatable:
|
61
|
+
webgen_page_format.html}) to see how these files look like and how they are structured. After that
|
62
|
+
have a look at the documentation of the source handler class SourceHandler::Page and
|
63
|
+
SourceHandler::Template as they are responsible for handling these page and template files!
|
64
|
+
|
65
|
+
You can naturally use any other type of file. However, be aware that some files may not be processed
|
66
|
+
by webgen when no source handler class for them exists. For example, there is currently no source
|
67
|
+
handler class for `.svg` files, so those files would be ignored. If you just want to have files
|
68
|
+
copied from a source to the output directory (like images or CSS files), the SourceHandler::Copy
|
69
|
+
class is what you need! Look through the documentation of the availabe source handler classes to get
|
70
|
+
a feeling of what files are handled by webgen.
|
71
|
+
|
72
|
+
|
73
|
+
## Source Paths Naming Convention {#source-naming}
|
74
|
+
|
75
|
+
webgen assumes that the paths provided by the sources follow a special naming convention sothat meta
|
76
|
+
information can be extracted correctly from the path name:
|
77
|
+
|
78
|
+
[sort_info.]basename[.lang].extension
|
79
|
+
|
80
|
+
* `sort_info`
|
81
|
+
|
82
|
+
This part is optional and has to consist of the digits 0 to 9. Its value is used for the meta
|
83
|
+
information `sort_info`. If not specified, it defaults to the value zero.
|
84
|
+
|
85
|
+
* `basename`
|
86
|
+
|
87
|
+
This part is used on the one hand to generate the `title` meta information (but with `_` and `-`
|
88
|
+
replaced by spaces). And on the other hand, the canonical name is derived from it. `basename`
|
89
|
+
must not contain any dots, spaces or any character from the following list: ``; / ? * : ` & = +
|
90
|
+
$ ,``. If you do use one of them webgen may not work correctly!
|
91
|
+
|
92
|
+
> If two paths have the same `basename` and `extension` part, they should define the same
|
93
|
+
> content but for different languages. This allows webgen to automatically deliver the right
|
94
|
+
> language version of the content
|
95
|
+
{.information}
|
96
|
+
|
97
|
+
* `lang`
|
98
|
+
|
99
|
+
This part is optional and has to be an [ISO-639-1/2](http://www.loc.gov/standards/iso639-2/)
|
100
|
+
language identifier (two or three characters (a-z) long). If not specified, it is assumed that
|
101
|
+
the path is language independent (for example, images are normally not specific for a specific
|
102
|
+
language). However, this behaviour may be different for some source handler classes (for
|
103
|
+
example, all paths handled by SourceHandler::Page are assigned the default language if none is
|
104
|
+
set).
|
105
|
+
|
106
|
+
If the language identifier can't be matched to a valid language, it is assumed that this part
|
107
|
+
isn't actually a language identifier but a part of the extension. This also means that in the
|
108
|
+
special case where the first part of an extension is also a valid language identifier, the first
|
109
|
+
part is interpreted as language identifier and not as part of the extension.
|
110
|
+
|
111
|
+
* `extension`
|
112
|
+
|
113
|
+
The file extension can be anything and can include dots.
|
114
|
+
|
115
|
+
Following are some examples of source path names:
|
116
|
+
|
117
|
+
|Path name | Parsed meta information
|
118
|
+
|--------------------------|------------------------------------------------
|
119
|
+
|`name.png` | title: Name, language: none, sort\_info: 0, basename: name, cn: name.png
|
120
|
+
|`name.de.png` | title: Name, language: de, sort\_info: 0, basename: name, cn: name.png
|
121
|
+
|`01.name_of-file.eo.page` | title: Name of file, language: eo, sort\_info: 1, basename: name_of-file, cn: name_of-file.page
|
122
|
+
|`name.tar.bz2` | title: Name, language: none, sort\_info: 0, basename: name, cn: name.tar.bz2
|
123
|
+
|`name.de.tar.bz2` | title: Name, language: de, sort\_info: 0, basename: name, cn: name.tar.bz2
|
124
|
+
|
125
|
+
Notice: The first two and the last two examples define the same content for two different languages
|
126
|
+
(or more exactly: the first one is unlocalized and the second one localized to German) as they have
|
127
|
+
the same canonical name.
|
128
|
+
|
129
|
+
|
130
|
+
## Canonical Name of a File ### {#source-cn}
|
131
|
+
|
132
|
+
webgen provides the functionality to define the same content in more than one language, ie. to
|
133
|
+
localize content. This is achieved with the _canonical name_ of a path.
|
134
|
+
|
135
|
+
When multiple paths share the same canonical name, webgen assumes that they have the same content
|
136
|
+
but in different languages. It is also possible to specify a _language independent_ path which is
|
137
|
+
used as a fallback. Therefore when a path should be resolved using a canonical name and a given
|
138
|
+
language, it is first tried to get the path in the requested language. If this is not possible
|
139
|
+
(ie. no such localization exists), the unlocalized path is returned if it exists.
|
140
|
+
|
141
|
+
> Directories and fragments are never localized, only files are!
|
142
|
+
{.exclamation}
|
143
|
+
|
144
|
+
It is also possible to use the _localized canonical name_ of a path to resolve it. The localized
|
145
|
+
canonical name is the same as the canonical name but with a language code inserted before the
|
146
|
+
extension. If the localized canonical name is used to resolve a path, a possibly additionally
|
147
|
+
specified language is ignored as it is assumed that the user really only wants the path in the
|
148
|
+
specified language!
|
149
|
+
|
150
|
+
This also means that all paths are not resolved using their real source or output names but using
|
151
|
+
the (localized) canonical name! This is different from previous webgen versions!
|
152
|
+
|
153
|
+
|
154
|
+
## Output Path Name Construction ### {#source-output}
|
155
|
+
|
156
|
+
The output path for a given source path is constructed using the meta information
|
157
|
+
`output_path_style`. This meta information is set to a default value and can be overwritten by
|
158
|
+
setting it for a specific source handler or for a path individually. The value for this meta
|
159
|
+
information key is an array which can have the following values:
|
160
|
+
|
161
|
+
* strings (for inserting arbitrary text into output names)
|
162
|
+
* arrays (for grouping values - only interesting for the language part)
|
163
|
+
* symbols for inserting special values:
|
164
|
+
* `:cnbase`: the basename of the path
|
165
|
+
* `:parent`: the parent path
|
166
|
+
* `:lang`: the language
|
167
|
+
* `:ext`: the file extension including the leading dot
|
168
|
+
|
169
|
+
> The contructed output path must always be an absolute one, ie. it has to start at the root of the
|
170
|
+
> output directory. Therefore, the `:parent` part should always be included!
|
171
|
+
{.information}
|
172
|
+
|
173
|
+
Following are some examples of output path names for given source path names (assuming that `en` is
|
174
|
+
the default language and that the path is under a directory called `/img/`):
|
175
|
+
|
176
|
+
* `output_path_style=[:parent, :cnbase, [., :lang], :ext]` (the default)
|
177
|
+
|
178
|
+
* `index.jpg` --> `/img/index.jpg`
|
179
|
+
|
180
|
+
Since the source path is unlocalized, no language part is used and the whole sub array with
|
181
|
+
the `:lang` symbol is dropped.
|
182
|
+
|
183
|
+
* `index.en.jpg` --> `/img/index.jpg`
|
184
|
+
|
185
|
+
This happens if the configuration option `sourcehandler.default_lang_in_output_path` is
|
186
|
+
`false` and no unlocalized version of this path exists.
|
187
|
+
|
188
|
+
* `index.en.jpg` --> `/img/index.en.jpg`
|
189
|
+
|
190
|
+
Similar to the last example but this result occurs when there is an unlocalized version of
|
191
|
+
the path which is naturally named `index.jpg`!
|
192
|
+
|
193
|
+
* `index.de.jpg` --> `/img/index.de.jpg`
|
194
|
+
|
195
|
+
Since `de` is not the default language, the language part is always used!
|
196
|
+
|
197
|
+
* `output_path_style=[:parent, :cnbase, :ext, ., :lang]`
|
198
|
+
|
199
|
+
* `index.jpg` --> `/img/index.jpg.`
|
200
|
+
|
201
|
+
Be aware of the trailing dot since the `:lang` value is not defined in an sub array!
|
202
|
+
|
203
|
+
|
204
|
+
## Path Patterns {#source-pathpattern}
|
205
|
+
|
206
|
+
Each source handler specifies path patterns which are used to locate the files that the class can
|
207
|
+
handle. Normally these patterns are used to match file extensions, however, they are much more
|
208
|
+
powerful. For detailed information on the structure of path patterns have a look at the
|
209
|
+
[Dir.glob](http://ruby-doc.org/core/classes/Dir.html#M002375) API documentation.
|
210
|
+
|
211
|
+
The path patterns that are handled by a particular source handler are stated on its documentation
|
212
|
+
page. These patterns can be changed by modfying the configuration option `sourcehandler.patterns`
|
213
|
+
although that is not recommended except in some few cases (for example, it is useful to add some
|
214
|
+
patterns for SourceHandler::Copy). The information about how these path patterns work are useful for
|
215
|
+
the usage of webgen because of two reasons:
|
216
|
+
|
217
|
+
* so that you know which files will be processed by a specific source handler class
|
218
|
+
|
219
|
+
* so that you can specify additional path patterns for some source handlers like the
|
220
|
+
SourceHandler::Copy
|
221
|
+
|
222
|
+
Here are some example path patterns:
|
223
|
+
|
224
|
+
<table class="examples" markdown='1'>
|
225
|
+
<tr><th>Path Pattern</th><th>Result</th></tr>
|
226
|
+
<tr>
|
227
|
+
<td>`*/*.html`</td>
|
228
|
+
<td>All files with the extension `html` in the subdirectories of the source directory</td>
|
229
|
+
</tr>
|
230
|
+
<tr>
|
231
|
+
<td>`**/*.html`</td>
|
232
|
+
<td>All files with the extension `html` in all directories</td>
|
233
|
+
</tr>
|
234
|
+
<tr>
|
235
|
+
<td>`**/{foo,bar}*`</td>
|
236
|
+
<td>All files in all directories which start with `foo` or `bar`</td>
|
237
|
+
</tr>
|
238
|
+
<tr>
|
239
|
+
<td>`**/???`</td>
|
240
|
+
<td>All files in all directories whose file name is exactly three characters long</td>
|
241
|
+
</tr>
|
242
|
+
</table>
|
243
|
+
|
244
|
+
|
245
|
+
## Handling of files in the source directory {#source-handling}
|
246
|
+
|
247
|
+
Following is the list of rules how source files are handled by webgen:
|
248
|
+
|
249
|
+
* All path names of all sources specified in the configuration option `sources` are fetched. Prior
|
250
|
+
listed sources have priority over later listed sources if both specify the same path.
|
251
|
+
|
252
|
+
* Those paths which match a pattern of the configuration option `sourcehandler.ignore` are excluded.
|
253
|
+
|
254
|
+
* The source handler classes are invoked according to the invocation order specified in
|
255
|
+
`sourcehandler.invoke` and they use only those paths that match one of their path patterns
|
256
|
+
specified in `sourcehandler.patterns`.
|
257
|
+
|
258
|
+
As you might have deduced from the processing list above, it is possible that one path is handled by
|
259
|
+
multiple source handlers. This can be used, for example, to render an XML file as HTML and copy it
|
260
|
+
verbatim.
|
261
|
+
|
262
|
+
Internally a tree structure is created reflecting the source directory hierarchy and each path that
|
263
|
+
is handled by webgen. Normally a source handler creates one node from one path but it is also
|
264
|
+
possible that a source handler creates multiple nodes from one path.
|
265
|
+
|
266
|
+
> The name used for describing a directory or file once it is placed in the internal tree structure
|
267
|
+
> is 'node'.
|
268
|
+
{.information}
|
269
|
+
|
270
|
+
After this internal tree structure is created, it is traversed and each node is processed. First the
|
271
|
+
node is checked if has changed (the notion of 'changed' depends on many things but a node is
|
272
|
+
changed, for example, if its meta information or the associated source path has changed since the
|
273
|
+
last webgen run). If it has not changed, nothing needs to be written. Otherwise, the information
|
274
|
+
needed to write out the node is gathered and its content is written to the output path represented
|
275
|
+
by the node.
|
276
|
+
|
277
|
+
|
278
|
+
## Path Meta Information {#source-metainfo}
|
279
|
+
|
280
|
+
Each path can have meta information, i.e. information about the path itself, associated with it, for
|
281
|
+
example the title of the path, if it should appear in a menu and so on. This meta information can be
|
282
|
+
specified in several ways, including:
|
283
|
+
|
284
|
+
* Source handlers can provide default meta information for their handled paths (set using the
|
285
|
+
configuration option `sourcehandler.default_meta_info`)
|
286
|
+
|
287
|
+
* Some file types allow meta information to be specified directly in the file, for example page
|
288
|
+
files in [Webgen Page Format]({relocatable: webgen_page_format.html}).
|
289
|
+
|
290
|
+
* Meta information can also be specified in special meta information backing files. These files are
|
291
|
+
handled by the source handler SourceHandler::Metainfo.
|
292
|
+
|
293
|
+
There is clearly defined order in which meta information is applied to a node for a path:
|
294
|
+
|
295
|
+
1. The path gets read by a source and some meta information is extracted from the path name.
|
296
|
+
|
297
|
+
2. This meta information is overwritten with meta information specified for all source handlers and
|
298
|
+
then with meta information specified for the source handler that handles the path.
|
299
|
+
|
300
|
+
3. Extensions can now overwrite meta information before the path gets handled by a source
|
301
|
+
handler. For example, the SourceHandler::Metainfo assigns meta information specified for paths at
|
302
|
+
this stage.
|
303
|
+
|
304
|
+
4. Before the node for the path gets created, meta information from the content of the path itself
|
305
|
+
may overwrite the current meta information (this is the case, for example, with files in Webgen
|
306
|
+
Page Format).
|
307
|
+
|
308
|
+
5. The node gets created with the provided meta information.
|
309
|
+
|
310
|
+
6. After the node has been created, extensions may overwrite meta information again. For example,
|
311
|
+
the SourceHandler::Metainfo assigns meta information specified for nodes at this stage.
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
# The Configuration File
|
316
|
+
|
317
|
+
Many user will want to change some configuration options, for example, the default language of the
|
318
|
+
website since not all people will want to write websites in English. This is primarily done via the
|
319
|
+
configuration file.
|
320
|
+
|
321
|
+
The configuration file is called `config.yaml` and has to be placed directly under the website
|
322
|
+
directory. It uses [YAML](http://www.yaml.org) as file format. You can find a list of all available
|
323
|
+
configuration options that can be set in the [Configuration Options Reference]({relocatable:
|
324
|
+
reference_configuration.html}).
|
325
|
+
|
326
|
+
Each configuration option can be set in the configuration file by specifing the configuration option
|
327
|
+
name and the new value as a key/value pair. A sample configuration file looks like this:
|
328
|
+
|
329
|
+
website.lang: de
|
330
|
+
website.link_to_current_page: true
|
331
|
+
|
332
|
+
There is one special key called `default_meta_info` which behaves a little different. It does not
|
333
|
+
map to any configuration option but is used to update the meta information hashes of the
|
334
|
+
configuration option `sourcehandler.default_meta_info`. For example, the following configuration
|
335
|
+
file updates the default meta information for all source handlers by setting a new value for
|
336
|
+
`output_path_style` and setting `in_menu` to `true`:
|
337
|
+
|
338
|
+
default_meta_info:
|
339
|
+
:all:
|
340
|
+
output_path_style: [:parent, :cnbase, :ext, [., :lang]]
|
341
|
+
in_menu: true
|
342
|
+
|
343
|
+
|
344
|
+
# Extending webgen
|
345
|
+
|
346
|
+
If you know the programming language Ruby a little bit, you can easily extend webgen and add new
|
347
|
+
features that you need. All the needed developer documentation is available in the [API
|
348
|
+
documentation](rdoc/index.html), along with sample implementations for all major types of extensions
|
349
|
+
(source class, output classes, source handler class, content processors classes, tag classes, ...)
|
350
|
+
and detailed information about the inner workings of webgen.
|
351
|
+
|
352
|
+
webgen allows one to add extensions to a website by placing them in the directory `ext` under the
|
353
|
+
website directory. All files called `init.rb` in any directory are loaded when the Webgen::Website
|
354
|
+
gets initialized. So you need to make sure to either place all extensions in `init.rb` or load them
|
355
|
+
from this file.
|
356
|
+
|