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,82 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'helper'
|
3
|
+
require 'stringio'
|
4
|
+
require 'webgen/tag'
|
5
|
+
require 'webgen/tag/base'
|
6
|
+
|
7
|
+
class TestTagBase < Test::Unit::TestCase
|
8
|
+
|
9
|
+
include Test::WebsiteHelper
|
10
|
+
|
11
|
+
class TestTag; include Webgen::Tag::Base; end
|
12
|
+
|
13
|
+
def setup
|
14
|
+
super
|
15
|
+
@website.config.testtagbase.testtag.param1 'param1'
|
16
|
+
@website.config.testtagbase.testtag.param2 nil, :mandatory=> true
|
17
|
+
@website.config.testtagbase.testtag.param3 'param3', :mandatory => 'default'
|
18
|
+
@obj = TestTag.new
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_tag_config_base
|
22
|
+
assert_equal('testtagbase.testtag', @obj.send(:tag_config_base))
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_tag_params_list
|
26
|
+
params = [1,2,3].collect {|i| 'testtagbase.testtag.param' + i.to_s}
|
27
|
+
assert_equal(params.sort, @obj.send(:tag_params_list).sort)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_create_tag_params
|
31
|
+
output = StringIO.new('')
|
32
|
+
@website.logger = ::Logger.new(output)
|
33
|
+
@website.logger.level = Logger::WARN
|
34
|
+
|
35
|
+
output.string = ''
|
36
|
+
assert_equal({}, @obj.create_tag_params("--\nhal:param1\ntest:[;", Webgen::Tree.new.dummy_root))
|
37
|
+
output.rewind; assert_match(/Could not parse the tag params/, output.read)
|
38
|
+
|
39
|
+
output.string = ''
|
40
|
+
set_params(5)
|
41
|
+
assert_equal('param1', @obj.param('testtagbase.testtag.param1'))
|
42
|
+
output.rewind; assert_match(/Not all mandatory parameters/, output.read)
|
43
|
+
output.rewind; assert_match(/Invalid parameter type/, output.read)
|
44
|
+
|
45
|
+
output.string = ''
|
46
|
+
set_params(nil)
|
47
|
+
assert_equal('param1', @obj.param('testtagbase.testtag.param1'))
|
48
|
+
output.rewind; assert_match(/Not all mandatory parameters/, output.read)
|
49
|
+
|
50
|
+
output.string = ''
|
51
|
+
set_params({})
|
52
|
+
assert_equal('param1', @obj.param('testtagbase.testtag.param1'))
|
53
|
+
output.rewind; assert_match(/Not all mandatory parameters/, output.read)
|
54
|
+
|
55
|
+
output.string = ''
|
56
|
+
set_params('test_value')
|
57
|
+
assert_equal('test_value', @obj.param('testtagbase.testtag.param3'))
|
58
|
+
output.rewind; assert_match(/Not all mandatory parameters/, output.read)
|
59
|
+
|
60
|
+
output.string = ''
|
61
|
+
set_params({'param2' => 'test2', 'testtagbase.testtag.param3' => 'test3', 'invalid' => 5})
|
62
|
+
assert_equal('test2', @obj.param('testtagbase.testtag.param2'))
|
63
|
+
assert_equal('test3', @obj.param('testtagbase.testtag.param3'))
|
64
|
+
output.rewind; assert_no_match(/Not all mandatory parameters/, output.read)
|
65
|
+
output.rewind; assert_match(/Invalid parameter 'invalid'/, output.read)
|
66
|
+
|
67
|
+
@website.config.data.delete('testtagbase.testtag.param3')
|
68
|
+
@website.config.meta_info.delete('testtagbase.testtag.param3')
|
69
|
+
output.string = ''
|
70
|
+
set_params('default_value')
|
71
|
+
output.rewind; assert_match(/No default mandatory parameter specified for tag/, output.read)
|
72
|
+
end
|
73
|
+
|
74
|
+
def test_call
|
75
|
+
assert_raise(NotImplementedError) { @obj.call(nil, nil, nil) }
|
76
|
+
end
|
77
|
+
|
78
|
+
def set_params(params)
|
79
|
+
@obj.set_params(@obj.send(:create_params_hash, params, Webgen::Tree.new.dummy_root))
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
@@ -0,0 +1,196 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'helper'
|
3
|
+
require 'webgen/tree'
|
4
|
+
require 'webgen/contentprocessor'
|
5
|
+
require 'webgen/tag/menu'
|
6
|
+
|
7
|
+
class TestTagMenu < Test::Unit::TestCase
|
8
|
+
|
9
|
+
include Test::WebsiteHelper
|
10
|
+
|
11
|
+
def setup
|
12
|
+
super
|
13
|
+
@obj = Webgen::Tag::Menu.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def create_default_nodes
|
17
|
+
{
|
18
|
+
:root => root = Webgen::Node.new(Webgen::Tree.new.dummy_root, '/', '/', {'index_path' => 'index.html'}),
|
19
|
+
:dir1 => dir1 = Webgen::Node.new(root, '/dir1/', 'dir1/'),
|
20
|
+
:dir11 => dir11 = Webgen::Node.new(dir1, '/dir1/dir11/', 'dir11/', {'index_path' => 'index.html'}),
|
21
|
+
:file111_en => Webgen::Node.new(dir11, '/dir1/dir11/file111.en.html', 'file111.html', {'lang' => 'en', 'in_menu' => true}),
|
22
|
+
:file111_de => Webgen::Node.new(dir11, '/dir1/dir11/file111.de.html', 'file111.html', {'lang' => 'de', 'in_menu' => true}),
|
23
|
+
:index11_en => Webgen::Node.new(dir11, '/dir1/dir11/index.en.html', 'index.html', {'lang' => 'en', 'in_menu' => true}),
|
24
|
+
:file11_en => file11 = Webgen::Node.new(dir1, '/dir1/file11.en.html', 'file11.html', {'lang' => 'en', 'in_menu' => true}),
|
25
|
+
:file11_en_f1 => file11_f1 = Webgen::Node.new(file11, '/dir1/file11.en.html#f1', '#f1', {'in_menu' => true}),
|
26
|
+
:file11_en_f11 => Webgen::Node.new(file11_f1, '/dir1/file11.en.html#f11', '#f11', {'in_menu' => true}),
|
27
|
+
:file11_en_f2 => Webgen::Node.new(file11, '/dir1/file11.en.html#f2', '#f2', {'in_menu' => true}),
|
28
|
+
:dir2 => dir2 = Webgen::Node.new(root, '/dir2/', 'dir2/'),
|
29
|
+
:file21_en => Webgen::Node.new(dir2, '/dir2/file21.en.html', 'file21.html', {'lang' => 'en', 'in_menu' => true}),
|
30
|
+
:dir3 => dir3 = Webgen::Node.new(root, '/dir3/', 'dir3/'),
|
31
|
+
:file31_en => file31 = Webgen::Node.new(dir3, '/dir3/file31.en.html', 'file31.html', {'lang' => 'en', 'in_menu' => false}),
|
32
|
+
:file31_en_f1 => Webgen::Node.new(file31, '/dir3/file31.en.html#f1', '#f1', {'in_menu' => true}),
|
33
|
+
:file1_de => Webgen::Node.new(root, '/file1.de.html', 'file1.html', {'lang' => 'de', 'in_menu' => true}),
|
34
|
+
:index_en => Webgen::Node.new(root, '/index.en.html', 'index.html', {'lang' => 'en'}),
|
35
|
+
}
|
36
|
+
end
|
37
|
+
|
38
|
+
def build_menu(node, options)
|
39
|
+
@obj.set_params(options_hash(*options))
|
40
|
+
output = @obj.send(:specific_menu_tree_for, node)
|
41
|
+
@obj.set_params({})
|
42
|
+
output
|
43
|
+
end
|
44
|
+
|
45
|
+
def options_hash(start_level, min_levels, max_levels, subtree, used_nodes = 'all')
|
46
|
+
{'tag.menu.start_level' => start_level, 'tag.menu.min_levels' => min_levels, 'tag.menu.max_levels' => max_levels,
|
47
|
+
'tag.menu.show_current_subtree_only' => subtree, 'tag.menu.used_nodes' => used_nodes }
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_call
|
51
|
+
nodes = create_default_nodes
|
52
|
+
|
53
|
+
output = @obj.call('menu', '', Webgen::ContentProcessor::Context.new(:chain => [nodes[:file11_en]]))
|
54
|
+
assert_equal("<div class=\"webgen-menu\">" +
|
55
|
+
"<ul><li class=\"webgen-menu-submenu webgen-menu-submenu-inhierarchy\"><a href=\"./\"></a>" +
|
56
|
+
"<ul><li class=\"webgen-menu-submenu\"><a href=\"dir11/index.en.html\"></a></li>" +
|
57
|
+
"<li class=\"webgen-menu-item-selected\"><span></span></li></ul></li>" +
|
58
|
+
"<li class=\"webgen-menu-submenu\"><a href=\"../dir2/\"></a></li>" +
|
59
|
+
"<li class=\"webgen-menu-submenu\"><a href=\"../dir3/\"></a></li></ul></div>", output)
|
60
|
+
|
61
|
+
output = @obj.call('menu', '', Webgen::ContentProcessor::Context.new(:chain => [nodes[:index11_en]]))
|
62
|
+
assert_equal("<div class=\"webgen-menu\">" +
|
63
|
+
"<ul><li class=\"webgen-menu-submenu webgen-menu-submenu-inhierarchy\"><a href=\"../\"></a>" +
|
64
|
+
"<ul><li class=\"webgen-menu-submenu webgen-menu-submenu-inhierarchy\"><a href=\"index.en.html\"></a>" +
|
65
|
+
"<ul><li ><a href=\"file111.en.html\"></a></li>" +
|
66
|
+
"<li class=\"webgen-menu-item-selected\"><span></span></li></ul></li>" +
|
67
|
+
"<li ><a href=\"../file11.en.html\"></a></li></ul></li>" +
|
68
|
+
"<li class=\"webgen-menu-submenu\"><a href=\"../../dir2/\"></a></li>" +
|
69
|
+
"<li class=\"webgen-menu-submenu\"><a href=\"../../dir3/\"></a></li></ul></div>", output)
|
70
|
+
|
71
|
+
|
72
|
+
@obj.set_params('tag.menu.used_nodes' => 'fragments')
|
73
|
+
output = @obj.call('menu', '', Webgen::ContentProcessor::Context.new(:chain => [nodes[:file11_en]]))
|
74
|
+
@obj.set_params({})
|
75
|
+
assert_equal("<div class=\"webgen-menu\">" +
|
76
|
+
"<ul><li class=\"webgen-menu-submenu\"><a href=\"#f1\"></a></li>" +
|
77
|
+
"<li ><a href=\"#f2\"></a></li></ul></div>", output)
|
78
|
+
|
79
|
+
@obj.set_params('tag.menu.start_level' => 5)
|
80
|
+
output = @obj.call('menu', '', Webgen::ContentProcessor::Context.new(:chain => [nodes[:file11_en]]))
|
81
|
+
@obj.set_params({})
|
82
|
+
assert_equal("", output)
|
83
|
+
|
84
|
+
nodes.each {|k,v| v.dirty = false}
|
85
|
+
@website.blackboard.dispatch_msg(:node_changed?, nodes[:file11_en])
|
86
|
+
assert(!nodes[:file11_en].dirty)
|
87
|
+
|
88
|
+
nodes[:index11_en].dirty = true
|
89
|
+
@website.blackboard.dispatch_msg(:node_changed?, nodes[:file11_en])
|
90
|
+
assert(nodes[:file11_en].dirty)
|
91
|
+
|
92
|
+
nodes.each {|k,v| v.dirty = false}
|
93
|
+
nodes[:file11_en_f2]['in_menu'] = false
|
94
|
+
@website.blackboard.dispatch_msg(:node_changed?, nodes[:file11_en])
|
95
|
+
assert(nodes[:file11_en].dirty)
|
96
|
+
end
|
97
|
+
|
98
|
+
def test_menu_tree_for_lang_and_create_menu_tree
|
99
|
+
nodes = create_default_nodes
|
100
|
+
|
101
|
+
tree_en = @obj.send(:menu_tree_for_lang, 'en', nodes[:root])
|
102
|
+
expected = [nodes[:dir1], nodes[:dir11], nodes[:file111_en], nodes[:index11_en],
|
103
|
+
nodes[:file11_en], nodes[:file11_en_f1], nodes[:file11_en_f11], nodes[:file11_en_f2],
|
104
|
+
nodes[:dir2], nodes[:file21_en],
|
105
|
+
nodes[:dir3], nodes[:file31_en], nodes[:file31_en_f1]].collect {|n| n.absolute_lcn}
|
106
|
+
|
107
|
+
assert_equal(expected, tree_en.to_lcn_list.flatten)
|
108
|
+
|
109
|
+
tree_de = @obj.send(:menu_tree_for_lang, 'de', nodes[:root])
|
110
|
+
expected = [nodes[:dir1], nodes[:dir11], nodes[:file111_de], nodes[:file1_de]].collect {|n| n.absolute_lcn}
|
111
|
+
|
112
|
+
assert_equal(expected, tree_de.to_lcn_list.flatten)
|
113
|
+
end
|
114
|
+
|
115
|
+
def test_specific_menu_tree_for_and_build_specific_menu_tree
|
116
|
+
nodes = create_default_nodes
|
117
|
+
|
118
|
+
# testing min_levels and max_levels
|
119
|
+
output = build_menu(nodes[:index_en], [1, 1, 1, true])
|
120
|
+
expected = [nodes[:dir1], nodes[:dir2], nodes[:dir3]].collect {|n| n.absolute_lcn}
|
121
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
122
|
+
|
123
|
+
output = build_menu(nodes[:index_en], [1, 2, 1, true])
|
124
|
+
expected = [nodes[:dir1], nodes[:dir2], nodes[:dir3]].collect {|n| n.absolute_lcn}
|
125
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
126
|
+
|
127
|
+
output = build_menu(nodes[:index_en], [1, 2, 2, true])
|
128
|
+
expected = [nodes[:dir1], nodes[:dir11], nodes[:file11_en], nodes[:dir2], nodes[:file21_en],
|
129
|
+
nodes[:dir3], nodes[:file31_en]].collect {|n| n.absolute_lcn}
|
130
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
131
|
+
|
132
|
+
# testing show_current_subtree_only
|
133
|
+
output = build_menu(nodes[:file11_en], [1, 1, 2, true])
|
134
|
+
expected = [nodes[:dir1], nodes[:dir11], nodes[:file11_en], nodes[:dir2], nodes[:dir3]].collect {|n| n.absolute_lcn}
|
135
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
136
|
+
|
137
|
+
output = build_menu(nodes[:file11_en], [1, 1, 2, false])
|
138
|
+
expected = [nodes[:dir1], nodes[:dir11], nodes[:file11_en], nodes[:dir2], nodes[:file21_en],
|
139
|
+
nodes[:dir3], nodes[:file31_en]].collect {|n| n.absolute_lcn}
|
140
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
141
|
+
|
142
|
+
# testing start_level
|
143
|
+
output = build_menu(nodes[:index_en], [2, 1, 1, true])
|
144
|
+
assert_equal([], output.to_lcn_list.flatten)
|
145
|
+
|
146
|
+
output = build_menu(nodes[:file11_en], [2, 1, 2, true])
|
147
|
+
expected = [nodes[:dir11], nodes[:file11_en]].collect {|n| n.absolute_lcn}
|
148
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
149
|
+
|
150
|
+
output = build_menu(nodes[:file11_en], [2, 1, 2, false])
|
151
|
+
expected = [nodes[:dir11], nodes[:file11_en]].collect {|n| n.absolute_lcn}
|
152
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
153
|
+
|
154
|
+
output = build_menu(nodes[:file11_en], [2, 2, 2, false])
|
155
|
+
expected = [nodes[:dir11], nodes[:file111_en], nodes[:index11_en],
|
156
|
+
nodes[:file11_en], nodes[:file11_en_f1], nodes[:file11_en_f2]].collect {|n| n.absolute_lcn}
|
157
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
158
|
+
|
159
|
+
output = build_menu(nodes[:file111_en], [2, 1, 2, true])
|
160
|
+
expected = [nodes[:dir11], nodes[:file111_en], nodes[:index11_en], nodes[:file11_en]].collect {|n| n.absolute_lcn}
|
161
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
162
|
+
|
163
|
+
# testing used_nodes=files setting
|
164
|
+
output = build_menu(nodes[:file11_en], [2, 2, 2, false, 'files'])
|
165
|
+
expected = [nodes[:dir11], nodes[:file111_en], nodes[:index11_en], nodes[:file11_en]].collect {|n| n.absolute_lcn}
|
166
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
167
|
+
|
168
|
+
output = build_menu(nodes[:file11_en], [1, 1, 1, true, 'files'])
|
169
|
+
expected = [nodes[:dir1], nodes[:dir2]].collect {|n| n.absolute_lcn}
|
170
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
171
|
+
|
172
|
+
# testing used_nodes=fragments setting
|
173
|
+
output = build_menu(nodes[:file11_en], [1, 1, 2, false, 'fragments'])
|
174
|
+
expected = [nodes[:file11_en_f1], nodes[:file11_en_f2]].collect {|n| n.absolute_lcn}
|
175
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
176
|
+
|
177
|
+
output = build_menu(nodes[:file11_en], [1, 2, 2, false, 'fragments'])
|
178
|
+
expected = [nodes[:file11_en_f1], nodes[:file11_en_f11], nodes[:file11_en_f2]].collect {|n| n.absolute_lcn}
|
179
|
+
assert_equal(expected, output.to_lcn_list.flatten)
|
180
|
+
end
|
181
|
+
|
182
|
+
def test_create_output_and_menu_item_details
|
183
|
+
nodes = create_default_nodes
|
184
|
+
tree = build_menu(nodes[:file111_en], [1, 2, 3, true])
|
185
|
+
context = Webgen::ContentProcessor::Context.new(:chain => [nodes[:file111_en]])
|
186
|
+
assert_equal("<ul><li class=\"webgen-menu-submenu webgen-menu-submenu-inhierarchy\"><a href=\"../\"></a>" +
|
187
|
+
"<ul><li class=\"webgen-menu-submenu webgen-menu-submenu-inhierarchy\"><a href=\"index.en.html\"></a>" +
|
188
|
+
"<ul><li class=\"webgen-menu-item-selected\"><span></span></li><li ><a href=\"index.en.html\"></a></li></ul></li>" +
|
189
|
+
"<li ><a href=\"../file11.en.html\"></a></li></ul></li>" +
|
190
|
+
"<li class=\"webgen-menu-submenu\"><a href=\"../../dir2/\"></a>" +
|
191
|
+
"<ul><li ><a href=\"../../dir2/file21.en.html\"></a></li></ul></li>" +
|
192
|
+
"<li class=\"webgen-menu-submenu\"><a href=\"../../dir3/\"></a>" +
|
193
|
+
"<ul><li ><a href=\"../../dir3/file31.en.html\"></a></li></ul></li></ul>", @obj.send(:create_output, context, tree))
|
194
|
+
end
|
195
|
+
|
196
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'webgen/tree'
|
3
|
+
require 'webgen/contentprocessor'
|
4
|
+
require 'webgen/tag/metainfo'
|
5
|
+
|
6
|
+
class TestTagMetainfo < Test::Unit::TestCase
|
7
|
+
|
8
|
+
def test_call
|
9
|
+
@obj = Webgen::Tag::Metainfo.new
|
10
|
+
node = Webgen::Node.new(Webgen::Tree.new.dummy_root, 'hallo.page', 'hallo.page', 'test' => 10, 'lang' => 'en')
|
11
|
+
c = Webgen::ContentProcessor::Context.new(:chain => [node])
|
12
|
+
assert_equal('', @obj.call('invalid', '', c))
|
13
|
+
assert_equal('10', @obj.call('test', '', c))
|
14
|
+
assert_equal('en', @obj.call('lang', '', c))
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'helper'
|
3
|
+
require 'webgen/tree'
|
4
|
+
require 'webgen/contentprocessor'
|
5
|
+
require 'webgen/tag/relocatable'
|
6
|
+
|
7
|
+
class TestTagRelocatable < Test::Unit::TestCase
|
8
|
+
|
9
|
+
include Test::WebsiteHelper
|
10
|
+
|
11
|
+
def setup
|
12
|
+
super
|
13
|
+
@obj = Webgen::Tag::Relocatable.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def call(context)
|
17
|
+
@obj.call('relocatable', '', context)
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_call
|
21
|
+
root = Webgen::Node.new(Webgen::Tree.new.dummy_root, '/', '/')
|
22
|
+
node = Webgen::Node.new(root, '/file.html', 'file.html', {'lang' => 'en'})
|
23
|
+
dir = Webgen::Node.new(root, '/dir/', 'dir/', 'index_path' => "index.html")
|
24
|
+
file = Webgen::Node.new(dir, '/dir/file.html', 'file.html', {'lang' => 'en'})
|
25
|
+
Webgen::Node.new(dir, '/dir/other.de.html', 'other.html', {'lang' => 'de'})
|
26
|
+
Webgen::Node.new(file, '/dir/file.html#fragment', '#fragment')
|
27
|
+
dir2 = Webgen::Node.new(root, '/dir2/', 'dir2/', 'index_path' => "index.html")
|
28
|
+
Webgen::Node.new(dir2, '/dir2/index.html', 'index.html')
|
29
|
+
|
30
|
+
context = Webgen::ContentProcessor::Context.new(:chain => [node])
|
31
|
+
|
32
|
+
# basic node resolving
|
33
|
+
@obj.set_params('tag.relocatable.path' => 'dir/file.html')
|
34
|
+
assert_equal('dir/file.html', call(context))
|
35
|
+
@obj.set_params('tag.relocatable.path' => 'dir/other.html')
|
36
|
+
assert_equal('', call(context))
|
37
|
+
|
38
|
+
# non-existing fragments
|
39
|
+
@obj.set_params('tag.relocatable.path' => 'file.html#hallo')
|
40
|
+
assert_equal('', call(context))
|
41
|
+
|
42
|
+
# absolute paths
|
43
|
+
@obj.set_params('tag.relocatable.path' => 'http://test.com')
|
44
|
+
assert_equal('http://test.com', call(context))
|
45
|
+
|
46
|
+
# directory paths
|
47
|
+
@obj.set_params('tag.relocatable.path' => 'dir')
|
48
|
+
assert_equal('dir/', call(context))
|
49
|
+
@obj.set_params('tag.relocatable.path' => 'dir2')
|
50
|
+
assert_equal('dir2/index.html', call(context))
|
51
|
+
|
52
|
+
# invalid paths
|
53
|
+
@obj.set_params('tag.relocatable.path' => ':/asdf=-)')
|
54
|
+
assert_equal('', call(context))
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
data/test/test_tree.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'helper'
|
3
|
+
require 'webgen/tree'
|
4
|
+
|
5
|
+
class TestTree < Test::Unit::TestCase
|
6
|
+
|
7
|
+
include Test::WebsiteHelper
|
8
|
+
|
9
|
+
def setup
|
10
|
+
super
|
11
|
+
@tree = Webgen::Tree.new
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_initialize
|
15
|
+
assert_not_nil(@tree.dummy_root)
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_root
|
19
|
+
root = Webgen::Node.new(@tree.dummy_root, '/', '/')
|
20
|
+
assert_equal(root, @tree.root)
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_register_node
|
24
|
+
# Tree#register_node is called when creating a node
|
25
|
+
node = Webgen::Node.new(@tree.dummy_root, 'dummy/', 'dummy')
|
26
|
+
assert_equal(node, @tree['/dummy', :alcn])
|
27
|
+
assert_equal(node, @tree['/dummy', :acn])
|
28
|
+
assert_equal(node, @tree['dummy/', :path])
|
29
|
+
assert_raise(RuntimeError) { Webgen::Node.new(@tree.dummy_root, '/', 'dummy') }
|
30
|
+
assert_raise(RuntimeError) { Webgen::Node.new(@tree.dummy_root, 'dummy/', 'other') }
|
31
|
+
assert_nothing_raised { Webgen::Node.new(@tree.dummy_root, 'dummy/', 'unknown', {'no_output' => true}) }
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_delete_node
|
35
|
+
nrcalls = 0
|
36
|
+
@website.blackboard.add_listener(:before_node_deleted) { nrcalls += 1 }
|
37
|
+
|
38
|
+
root = Webgen::Node.new(@tree.dummy_root, '/', '/')
|
39
|
+
file = Webgen::Node.new(root, 'testfile', 'testfile')
|
40
|
+
dir = Webgen::Node.new(root, 'testdir/', 'testdir')
|
41
|
+
|
42
|
+
@tree.delete_node(@tree.dummy_root)
|
43
|
+
assert_not_nil(@tree[''])
|
44
|
+
|
45
|
+
@tree.delete_node(root)
|
46
|
+
assert_not_nil(@tree['/'])
|
47
|
+
|
48
|
+
@tree.delete_node(file)
|
49
|
+
assert_nil(@tree['/testfile'])
|
50
|
+
assert_nil(@tree['/testfile', :acn])
|
51
|
+
assert_nil(@tree.node_info['/testfile'])
|
52
|
+
assert_equal(1, root.children.size)
|
53
|
+
assert_equal(1, nrcalls)
|
54
|
+
|
55
|
+
@tree.delete_node('/', true)
|
56
|
+
assert_nil(@tree['/testdir'])
|
57
|
+
assert_nil(@tree['/testdir', :acn])
|
58
|
+
assert_nil(@tree.node_info['/testdir'])
|
59
|
+
assert_nil(@tree['/'])
|
60
|
+
assert_nil(@tree.node_info['/'])
|
61
|
+
assert_equal(3, nrcalls)
|
62
|
+
|
63
|
+
Webgen::Node.new(root, 'testfile', 'testfile')
|
64
|
+
Webgen::Node.new(root, 'testdir/', 'testdir')
|
65
|
+
@tree.delete_node(root, true)
|
66
|
+
assert_equal([@tree.dummy_root], @tree.node_access[:alcn].values)
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'webgen/website'
|
3
|
+
require 'tmpdir'
|
4
|
+
require 'fileutils'
|
5
|
+
|
6
|
+
class TestWebsite < Test::Unit::TestCase
|
7
|
+
|
8
|
+
def test_initialize
|
9
|
+
ws = Webgen::Website.new('dir') do
|
10
|
+
assert_equal(ws, Webgen::WebsiteAccess.website)
|
11
|
+
throw :called
|
12
|
+
end
|
13
|
+
assert_nil(ws.blackboard)
|
14
|
+
assert_nil(ws.cache)
|
15
|
+
assert_nil(ws.config)
|
16
|
+
assert_nil(ws.tree)
|
17
|
+
assert_equal('dir', ws.directory)
|
18
|
+
assert_throws(:called) { ws.init }
|
19
|
+
assert_nil(Thread.current[:webgen_website])
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_autoload_service
|
23
|
+
ws = Webgen::Website.new('unknown', nil)
|
24
|
+
ws.init
|
25
|
+
ws.instance_eval { @cache = Webgen::Cache.new }
|
26
|
+
ws.autoload_service('[]', 'Hash')
|
27
|
+
assert_equal([], ws.cache.permanent[:classes])
|
28
|
+
ws.blackboard.invoke('[]', 5)
|
29
|
+
assert_equal(['Hash'], ws.cache.permanent[:classes])
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_init
|
33
|
+
ws = Webgen::Website.new('hallo')
|
34
|
+
ws.init
|
35
|
+
assert_not_nil(ws.config)
|
36
|
+
assert_not_nil(ws.blackboard)
|
37
|
+
assert_not_nil(ws.cache)
|
38
|
+
assert_not_nil(ws.tree)
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_render
|
42
|
+
ws = Webgen::Website.new(File.dirname(__FILE__), nil) do |config|
|
43
|
+
config['website.cache'] = [:string, '']
|
44
|
+
end
|
45
|
+
ws.render
|
46
|
+
assert(ws.config['website.cache'][1].length > 0)
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_execute_in_env
|
50
|
+
ws = Webgen::Website.new('hallo')
|
51
|
+
assert_nil(Webgen::WebsiteAccess.website)
|
52
|
+
ws.execute_in_env { assert_not_nil(Webgen::WebsiteAccess.website) }
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_read_config_file
|
56
|
+
dir = File.join(Dir.tmpdir, 'webgen-' + Process.pid.to_s)
|
57
|
+
FileUtils.mkdir_p(dir)
|
58
|
+
|
59
|
+
ws = Webgen::Website.new(dir)
|
60
|
+
ws.init
|
61
|
+
assert_equal('', ws.logger.log_output)
|
62
|
+
FileUtils.touch(File.join(dir, 'config.yml'))
|
63
|
+
ws.init
|
64
|
+
assert_match(/spelling error/, ws.logger.log_output)
|
65
|
+
|
66
|
+
File.open(File.join(dir, 'config.yaml'), 'w+') {|f| f.write('- unknown')}
|
67
|
+
assert_raise(Webgen::Website::ConfigFileInvalid) { ws.init }
|
68
|
+
|
69
|
+
File.open(File.join(dir, 'config.yaml'), 'w+') {|f| f.write('webgen.unknown: doit')}
|
70
|
+
assert_raise(Webgen::Website::ConfigFileInvalid) { ws.init }
|
71
|
+
|
72
|
+
File.open(File.join(dir, 'config.yaml'), 'w+') {|f| f.write("website.lang: de\ndefault_meta_info: {:all: {hallo: du}}")}
|
73
|
+
ws.init
|
74
|
+
assert_equal('de', ws.config['website.lang'])
|
75
|
+
assert_equal('du', ws.config['sourcehandler.default_meta_info'][:all]['hallo'])
|
76
|
+
ensure
|
77
|
+
FileUtils.rm_rf(dir)
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_clean
|
81
|
+
dir = File.join(Dir.tmpdir, 'webgen-' + Process.pid.to_s)
|
82
|
+
FileUtils.mkdir_p(dir)
|
83
|
+
FileUtils.mkdir_p(File.join(dir, 'src'))
|
84
|
+
FileUtils.touch(File.join(dir, 'src', 'test.jpg'))
|
85
|
+
|
86
|
+
ws = Webgen::Website.new(dir, nil)
|
87
|
+
ws.render
|
88
|
+
assert(File.exists?(File.join(dir, 'out', 'test.jpg')))
|
89
|
+
ws.clean
|
90
|
+
assert(!File.exists?(File.join(dir, 'out', 'test.jpg')))
|
91
|
+
assert(File.directory?(File.join(dir, 'out')))
|
92
|
+
ws.clean(true)
|
93
|
+
assert(!File.directory?(File.join(dir, 'out')))
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|