webgen 0.3.8 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +2565 -14
- data/README +4 -6
- data/Rakefile +207 -89
- data/TODO +175 -17
- data/VERSION +1 -1
- data/bin/webgen +1 -2
- data/data/webgen/gallery-creator/default.png +0 -0
- data/data/webgen/gallery_styles/default/README +6 -0
- data/data/webgen/gallery_styles/default/gallery_gallery.template +38 -0
- data/data/webgen/gallery_styles/default/gallery_image.template +30 -0
- data/data/webgen/gallery_styles/default/gallery_main.template +18 -0
- data/data/webgen/gallery_styles/slides/README +18 -0
- data/data/webgen/gallery_styles/slides/collage.rb +334 -0
- data/data/webgen/gallery_styles/slides/gallery_gallery.template +62 -0
- data/data/webgen/gallery_styles/slides/gallery_image.template +53 -0
- data/data/webgen/gallery_styles/slides/gallery_main.template +32 -0
- data/data/webgen/resources/images/generated_by_webgen.png +0 -0
- data/data/webgen/resources/images/webgen_logo.png +0 -0
- data/data/webgen/website_styles/1024px/README +10 -0
- data/data/webgen/website_styles/1024px/default.css +188 -0
- data/data/webgen/website_styles/1024px/default.template +62 -0
- data/data/webgen/website_styles/1024px/images/background.gif +0 -0
- data/data/webgen/website_styles/andreas00/README +10 -0
- data/data/webgen/website_styles/andreas00/default.css +290 -0
- data/data/webgen/website_styles/andreas00/default.template +62 -0
- data/data/webgen/website_styles/andreas00/images/bg.gif +0 -0
- data/data/webgen/website_styles/andreas00/images/front.jpg +0 -0
- data/data/webgen/website_styles/andreas00/images/menubg.gif +0 -0
- data/data/webgen/website_styles/andreas00/images/menubg2.gif +0 -0
- data/data/webgen/website_styles/andreas01/README +11 -0
- data/data/webgen/website_styles/andreas01/default.css +310 -0
- data/data/webgen/website_styles/andreas01/default.template +63 -0
- data/data/webgen/website_styles/andreas01/images/bg.gif +0 -0
- data/data/webgen/website_styles/andreas01/images/front.jpg +0 -0
- data/data/webgen/website_styles/andreas01/print.css +35 -0
- data/data/webgen/website_styles/andreas03/README +11 -0
- data/data/webgen/website_styles/andreas03/default.css +223 -0
- data/data/webgen/website_styles/andreas03/default.template +60 -0
- data/data/webgen/website_styles/andreas03/images/bodybg.png +0 -0
- data/data/webgen/website_styles/andreas03/images/contbg.png +0 -0
- data/data/webgen/website_styles/andreas03/images/footerbg.png +0 -0
- data/data/webgen/website_styles/andreas03/images/gradient1.png +0 -0
- data/data/webgen/website_styles/andreas03/images/gradient2.png +0 -0
- data/data/webgen/website_styles/andreas04/README +12 -0
- data/data/webgen/website_styles/andreas04/default.css +290 -0
- data/data/webgen/website_styles/andreas04/default.template +83 -0
- data/data/webgen/website_styles/andreas04/images/blinkarrow.gif +0 -0
- data/data/webgen/website_styles/andreas04/images/bodybg.png +0 -0
- data/data/webgen/website_styles/andreas04/images/contentbg.png +0 -0
- data/data/webgen/website_styles/andreas04/images/entrybg.png +0 -0
- data/data/webgen/website_styles/andreas04/images/flash.gif +0 -0
- data/data/webgen/website_styles/andreas04/images/flash2.gif +0 -0
- data/data/webgen/website_styles/andreas04/images/globe.gif +0 -0
- data/data/webgen/website_styles/andreas04/images/globebottom.gif +0 -0
- data/data/webgen/website_styles/andreas04/images/linkarrow.gif +0 -0
- data/data/webgen/website_styles/andreas04/images/menuhover.png +0 -0
- data/data/webgen/website_styles/andreas05/README +11 -0
- data/data/webgen/website_styles/andreas05/default.css +33 -0
- data/data/webgen/website_styles/andreas05/default.template +42 -0
- data/data/webgen/website_styles/andreas05/images/bodybg.gif +0 -0
- data/data/webgen/website_styles/andreas05/images/front.png +0 -0
- data/data/webgen/website_styles/andreas06/README +11 -0
- data/data/webgen/website_styles/andreas06/default.css +353 -0
- data/data/webgen/website_styles/andreas06/default.template +72 -0
- data/data/webgen/website_styles/andreas06/images/bodybg.gif +0 -0
- data/data/webgen/website_styles/andreas06/images/boxbg.gif +0 -0
- data/data/webgen/website_styles/andreas06/images/greypx.gif +0 -0
- data/data/webgen/website_styles/andreas06/images/header.jpg +0 -0
- data/data/webgen/website_styles/andreas06/images/innerbg.gif +0 -0
- data/data/webgen/website_styles/andreas06/images/leaves.jpg +0 -0
- data/data/webgen/website_styles/andreas06/images/tabs.gif +0 -0
- data/data/webgen/website_styles/andreas07/README +12 -0
- data/data/webgen/website_styles/andreas07/browserfix.css +7 -0
- data/data/webgen/website_styles/andreas07/default.css +92 -0
- data/data/webgen/website_styles/andreas07/default.template +44 -0
- data/data/webgen/website_styles/andreas07/images/bodybg.gif +0 -0
- data/data/webgen/website_styles/andreas07/images/sidebarbg.gif +0 -0
- data/data/webgen/website_styles/andreas08/README +11 -0
- data/data/webgen/website_styles/andreas08/default.css +224 -0
- data/data/webgen/website_styles/andreas08/default.template +53 -0
- data/data/webgen/website_styles/andreas09/README +11 -0
- data/data/webgen/website_styles/andreas09/default.css +308 -0
- data/data/webgen/website_styles/andreas09/default.template +70 -0
- data/data/webgen/website_styles/andreas09/images/bodybg-black.jpg +0 -0
- data/data/webgen/website_styles/andreas09/images/bodybg-green.jpg +0 -0
- data/data/webgen/website_styles/andreas09/images/bodybg-orange.jpg +0 -0
- data/data/webgen/website_styles/andreas09/images/bodybg-purple.jpg +0 -0
- data/data/webgen/website_styles/andreas09/images/bodybg-red.jpg +0 -0
- data/data/webgen/website_styles/andreas09/images/bodybg.jpg +0 -0
- data/data/webgen/website_styles/andreas09/images/footerbg.jpg +0 -0
- data/data/webgen/website_styles/andreas09/images/menuhover-black.jpg +0 -0
- data/data/webgen/website_styles/andreas09/images/menuhover-green.jpg +0 -0
- data/data/webgen/website_styles/andreas09/images/menuhover-orange.jpg +0 -0
- data/data/webgen/website_styles/andreas09/images/menuhover-purple.jpg +0 -0
- data/data/webgen/website_styles/andreas09/images/menuhover-red.jpg +0 -0
- data/data/webgen/website_styles/andreas09/images/menuhover.jpg +0 -0
- data/data/webgen/website_styles/default/README +6 -0
- data/data/webgen/website_styles/default/default.css +1 -1
- data/data/webgen/website_styles/default/default.template +9 -3
- data/data/webgen/website_styles/plain/README +12 -0
- data/data/webgen/website_styles/plain/default.css +244 -0
- data/data/webgen/website_styles/plain/default.template +63 -0
- data/data/webgen/website_styles/plain/images/a_hover.jpg +0 -0
- data/data/webgen/website_styles/plain/images/desc.jpg +0 -0
- data/data/webgen/website_styles/plain/images/li.gif +0 -0
- data/data/webgen/website_styles/plain/images/mainbar.jpg +0 -0
- data/data/webgen/website_styles/plain/images/menu.jpg +0 -0
- data/data/webgen/website_styles/plain/images/submenua.gif +0 -0
- data/data/webgen/website_styles/plain/images/submenua_hover.jpg +0 -0
- data/data/webgen/website_templates/default/README +7 -5
- data/data/webgen/website_templates/personal_hp/README +7 -5
- data/data/webgen/website_templates/project/README +8 -6
- data/doc/config.yaml +2 -2
- data/doc/examples/website_styles/1024px/README +9 -0
- data/doc/examples/website_styles/1024px/config.yaml +2 -0
- data/doc/examples/website_styles/1024px/src/about.page +12 -0
- data/doc/examples/website_styles/1024px/src/default.css +188 -0
- data/doc/examples/website_styles/1024px/src/default.template +62 -0
- data/doc/examples/website_styles/1024px/src/download.page +15 -0
- data/doc/examples/website_styles/1024px/src/features.page +8 -0
- data/doc/examples/website_styles/1024px/src/images/background.gif +0 -0
- data/doc/examples/website_styles/1024px/src/index.page +9 -0
- data/doc/examples/website_styles/1024px/src/screenshots.page +18 -0
- data/doc/examples/website_styles/andreas00/README +9 -0
- data/doc/examples/website_styles/andreas00/config.yaml +2 -0
- data/doc/examples/website_styles/andreas00/src/about.page +12 -0
- data/doc/examples/website_styles/andreas00/src/default.css +290 -0
- data/doc/examples/website_styles/andreas00/src/default.template +62 -0
- data/doc/examples/website_styles/andreas00/src/download.page +15 -0
- data/doc/examples/website_styles/andreas00/src/features.page +8 -0
- 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 +9 -0
- data/doc/examples/website_styles/andreas00/src/screenshots.page +18 -0
- data/doc/examples/website_styles/andreas01/README +9 -0
- data/doc/examples/website_styles/andreas01/config.yaml +2 -0
- data/doc/examples/website_styles/andreas01/src/about.page +12 -0
- data/doc/examples/website_styles/andreas01/src/default.css +310 -0
- data/doc/examples/website_styles/andreas01/src/default.template +63 -0
- data/doc/examples/website_styles/andreas01/src/download.page +15 -0
- data/doc/examples/website_styles/andreas01/src/features.page +8 -0
- 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 +9 -0
- data/doc/examples/website_styles/andreas01/src/print.css +35 -0
- data/doc/examples/website_styles/andreas01/src/screenshots.page +18 -0
- data/doc/examples/website_styles/andreas03/README +9 -0
- data/doc/examples/website_styles/andreas03/config.yaml +2 -0
- data/doc/examples/website_styles/andreas03/src/about.page +12 -0
- data/doc/examples/website_styles/andreas03/src/default.css +223 -0
- data/doc/examples/website_styles/andreas03/src/default.template +60 -0
- data/doc/examples/website_styles/andreas03/src/download.page +15 -0
- data/doc/examples/website_styles/andreas03/src/features.page +8 -0
- 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 +9 -0
- data/doc/examples/website_styles/andreas03/src/screenshots.page +18 -0
- data/doc/examples/website_styles/andreas04/README +9 -0
- data/doc/examples/website_styles/andreas04/config.yaml +2 -0
- data/doc/examples/website_styles/andreas04/src/about.page +12 -0
- data/doc/examples/website_styles/andreas04/src/default.css +290 -0
- data/doc/examples/website_styles/andreas04/src/default.template +83 -0
- data/doc/examples/website_styles/andreas04/src/download.page +15 -0
- data/doc/examples/website_styles/andreas04/src/features.page +8 -0
- 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 +9 -0
- data/doc/examples/website_styles/andreas04/src/screenshots.page +18 -0
- data/doc/examples/website_styles/andreas05/README +9 -0
- data/doc/examples/website_styles/andreas05/config.yaml +2 -0
- data/doc/examples/website_styles/andreas05/src/about.page +12 -0
- data/doc/examples/website_styles/andreas05/src/default.css +33 -0
- data/doc/examples/website_styles/andreas05/src/default.template +42 -0
- data/doc/examples/website_styles/andreas05/src/download.page +15 -0
- data/doc/examples/website_styles/andreas05/src/features.page +8 -0
- 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 +9 -0
- data/doc/examples/website_styles/andreas05/src/screenshots.page +18 -0
- data/doc/examples/website_styles/andreas06/README +9 -0
- data/doc/examples/website_styles/andreas06/config.yaml +2 -0
- data/doc/examples/website_styles/andreas06/src/about.page +12 -0
- data/doc/examples/website_styles/andreas06/src/default.css +353 -0
- data/doc/examples/website_styles/andreas06/src/default.template +72 -0
- data/doc/examples/website_styles/andreas06/src/download.page +15 -0
- data/doc/examples/website_styles/andreas06/src/features.page +8 -0
- 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 +9 -0
- data/doc/examples/website_styles/andreas06/src/screenshots.page +18 -0
- data/doc/examples/website_styles/andreas07/README +9 -0
- data/doc/examples/website_styles/andreas07/config.yaml +2 -0
- data/doc/examples/website_styles/andreas07/src/about.page +12 -0
- data/doc/examples/website_styles/andreas07/src/browserfix.css +7 -0
- data/doc/examples/website_styles/andreas07/src/default.css +92 -0
- data/doc/examples/website_styles/andreas07/src/default.template +44 -0
- data/doc/examples/website_styles/andreas07/src/download.page +15 -0
- data/doc/examples/website_styles/andreas07/src/features.page +8 -0
- 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 +9 -0
- data/doc/examples/website_styles/andreas07/src/screenshots.page +18 -0
- data/doc/examples/website_styles/andreas08/README +9 -0
- data/doc/examples/website_styles/andreas08/config.yaml +2 -0
- data/doc/examples/website_styles/andreas08/src/about.page +12 -0
- data/doc/examples/website_styles/andreas08/src/default.css +224 -0
- data/doc/examples/website_styles/andreas08/src/default.template +53 -0
- data/doc/examples/website_styles/andreas08/src/download.page +15 -0
- data/doc/examples/website_styles/andreas08/src/features.page +8 -0
- data/doc/examples/website_styles/andreas08/src/index.page +9 -0
- data/doc/examples/website_styles/andreas08/src/screenshots.page +18 -0
- data/doc/examples/website_styles/andreas09/README +9 -0
- data/doc/examples/website_styles/andreas09/config.yaml +2 -0
- data/doc/examples/website_styles/andreas09/src/about.page +12 -0
- data/doc/examples/website_styles/andreas09/src/default.css +308 -0
- data/doc/examples/website_styles/andreas09/src/default.template +70 -0
- data/doc/examples/website_styles/andreas09/src/download.page +15 -0
- data/doc/examples/website_styles/andreas09/src/features.page +8 -0
- 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 +9 -0
- data/doc/examples/website_styles/andreas09/src/screenshots.page +18 -0
- data/doc/examples/website_styles/default/README +9 -0
- data/doc/examples/website_styles/default/config.yaml +2 -0
- data/doc/examples/website_styles/default/src/about.page +12 -0
- data/doc/examples/website_styles/default/src/default.css +84 -0
- data/doc/examples/website_styles/default/src/default.template +38 -0
- data/doc/examples/website_styles/default/src/download.page +15 -0
- data/doc/examples/website_styles/default/src/features.page +8 -0
- data/doc/examples/website_styles/default/src/index.page +9 -0
- data/doc/examples/website_styles/default/src/screenshots.page +18 -0
- data/doc/examples/website_styles/plain/README +9 -0
- data/doc/examples/website_styles/plain/config.yaml +2 -0
- data/doc/examples/website_styles/plain/src/about.page +12 -0
- data/doc/examples/website_styles/plain/src/default.css +244 -0
- data/doc/examples/website_styles/plain/src/default.template +63 -0
- data/doc/examples/website_styles/plain/src/download.page +15 -0
- data/doc/examples/website_styles/plain/src/features.page +8 -0
- data/doc/examples/website_styles/plain/src/images/a_hover.jpg +0 -0
- data/doc/examples/website_styles/plain/src/images/desc.jpg +0 -0
- data/doc/examples/website_styles/plain/src/images/li.gif +0 -0
- data/doc/examples/website_styles/plain/src/images/mainbar.jpg +0 -0
- data/doc/examples/website_styles/plain/src/images/menu.jpg +0 -0
- data/doc/examples/website_styles/plain/src/images/submenua.gif +0 -0
- data/doc/examples/website_styles/plain/src/images/submenua_hover.jpg +0 -0
- data/doc/examples/website_styles/plain/src/index.page +9 -0
- data/doc/examples/website_styles/plain/src/screenshots.page +18 -0
- data/doc/examples/website_templates/default/README +8 -0
- data/doc/examples/website_templates/default/config.yaml +2 -0
- data/doc/examples/website_templates/default/src/default.css +84 -0
- data/doc/examples/website_templates/default/src/default.template +38 -0
- data/doc/examples/website_templates/default/src/index.page +8 -0
- data/doc/examples/website_templates/personal_hp/README +8 -0
- data/doc/examples/website_templates/personal_hp/config.yaml +2 -0
- data/doc/examples/website_templates/personal_hp/src/about.page +12 -0
- data/doc/examples/website_templates/personal_hp/src/default.css +84 -0
- data/doc/examples/website_templates/personal_hp/src/default.template +38 -0
- data/doc/examples/website_templates/personal_hp/src/index.page +9 -0
- data/doc/examples/website_templates/personal_hp/src/links.page +22 -0
- data/doc/examples/website_templates/personal_hp/src/projects.page +20 -0
- data/doc/examples/website_templates/project/README +9 -0
- data/doc/examples/website_templates/project/config.yaml +2 -0
- data/doc/examples/website_templates/project/src/about.page +12 -0
- data/doc/examples/website_templates/project/src/default.css +84 -0
- data/doc/examples/website_templates/project/src/default.template +38 -0
- data/doc/examples/website_templates/project/src/download.page +15 -0
- data/doc/examples/website_templates/project/src/features.page +8 -0
- data/doc/examples/website_templates/project/src/index.page +9 -0
- data/doc/examples/website_templates/project/src/screenshots.page +18 -0
- data/doc/metainfo.yaml +85 -0
- data/doc/plugin/emoticon.rb +19 -21
- data/doc/plugin/extension.rb +134 -55
- data/doc/plugin/gallery/slides/collage.rb +334 -0
- data/doc/plugin/listpluginparameters.rb +24 -26
- data/doc/plugin/resources.rb +20 -22
- data/doc/src/default.css +333 -154
- data/doc/src/default.template +92 -39
- data/doc/src/documentation/extending_webgen.page +1 -2
- data/doc/src/documentation/gettingstarted.page +161 -44
- data/doc/src/documentation/index.page +15 -28
- data/doc/src/documentation/plugins/contentconverter/default.page +15 -0
- data/doc/src/documentation/plugins/contentconverter/html.page +10 -0
- data/doc/src/documentation/plugins/contentconverter/markdown.page +21 -0
- data/doc/src/documentation/plugins/contentconverter/rdoc.page +11 -0
- data/doc/src/documentation/plugins/contentconverter/textile.page +21 -0
- data/doc/src/documentation/plugins/contentconverter/xmlbuilder.page +61 -0
- data/doc/src/documentation/plugins/core/configuration.page +11 -0
- data/doc/src/documentation/plugins/core/filehandler.page +214 -0
- data/doc/src/documentation/plugins/core/index.page +11 -0
- data/doc/src/documentation/plugins/core/resourcemanager.page +46 -0
- data/doc/src/documentation/plugins/core/tagprocessor.page +17 -0
- data/doc/src/documentation/plugins/file/copyhandler.page +26 -0
- data/doc/src/documentation/plugins/file/defaulthandler.page +15 -0
- data/doc/src/documentation/plugins/file/directoryhandler.page +37 -0
- data/doc/src/documentation/plugins/file/galleryhandler.page +181 -0
- data/doc/src/documentation/plugins/file/pagehandler.page +154 -0
- data/doc/src/documentation/plugins/file/templatehandler.page +34 -0
- data/doc/src/documentation/plugins/file/thumbnailwriter.page +39 -0
- data/doc/src/documentation/plugins/htmlvalidator/default.page +12 -0
- data/doc/src/documentation/plugins/htmlvalidator/xmllint.page +12 -0
- data/doc/src/documentation/plugins/index.page +32 -11
- data/doc/src/documentation/plugins/menustyle/default.page +19 -0
- data/doc/src/documentation/plugins/menustyle/horizontal.page +32 -0
- data/doc/src/documentation/plugins/{menustyles → menustyle}/horizontaldropdown.page +25 -19
- data/doc/src/documentation/plugins/menustyle/section.page +34 -0
- data/doc/src/documentation/plugins/menustyle/vertical.page +48 -0
- data/doc/src/documentation/plugins/menustyle/verticaldropdown.page +29 -0
- data/doc/src/documentation/plugins/misc/index.page +9 -0
- data/doc/src/documentation/plugins/{miscplugins → misc}/smileyreplacer.page +15 -14
- data/doc/src/documentation/plugins/misc/syntaxhighlighter.page +26 -0
- data/doc/src/documentation/plugins/tag/block.page +29 -0
- data/doc/src/documentation/plugins/tag/breadcrumbtrail.page +29 -0
- data/doc/src/documentation/plugins/tag/date.page +34 -0
- data/doc/src/documentation/plugins/tag/default.page +27 -0
- data/doc/src/documentation/plugins/tag/download.page +60 -0
- data/doc/src/documentation/plugins/tag/executecommand.page +29 -0
- data/doc/src/documentation/plugins/tag/includefile.page +30 -0
- data/doc/src/documentation/plugins/{tags → tag}/langbar.de.page +1 -1
- data/doc/src/documentation/plugins/tag/langbar.fr.page +6 -0
- data/doc/src/documentation/plugins/tag/langbar.page +41 -0
- data/doc/src/documentation/plugins/tag/menu.page +78 -0
- data/doc/src/documentation/plugins/{tags → tag}/meta.page +8 -7
- data/doc/src/documentation/plugins/tag/relocatable.page +46 -0
- data/doc/src/documentation/plugins/tag/resource.page +35 -0
- data/doc/src/documentation/plugins/tag/sitemap.page +35 -0
- data/doc/src/documentation/plugins/tag/wikilink.page +33 -0
- data/doc/src/documentation/references/index.page +0 -1
- data/doc/src/documentation/references/meta_info_reference.page +90 -13
- data/doc/src/documentation/references/parameter_reference.page +0 -1
- data/doc/src/documentation/references/webpage_format.page +249 -0
- data/doc/src/download.page +50 -21
- data/doc/src/examples/gallery_styles/default/default.gallery +78 -0
- data/doc/src/examples/gallery_styles/default/gallery_gallery.template +38 -0
- data/doc/src/examples/gallery_styles/default/gallery_image.template +30 -0
- data/doc/src/examples/gallery_styles/default/gallery_main.template +18 -0
- data/doc/src/examples/gallery_styles/index.page +22 -0
- data/doc/src/examples/gallery_styles/slides/gallery_gallery.template +62 -0
- data/doc/src/examples/gallery_styles/slides/gallery_image.template +53 -0
- data/doc/src/examples/gallery_styles/slides/gallery_main.template +32 -0
- data/doc/src/examples/gallery_styles/slides/slides.gallery +79 -0
- 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 +18 -0
- data/doc/src/examples/website_styles/1024px.page +5 -0
- data/doc/src/examples/website_styles/andreas00.page +5 -0
- data/doc/src/examples/website_styles/andreas01.page +5 -0
- data/doc/src/examples/website_styles/andreas03.page +5 -0
- data/doc/src/examples/website_styles/andreas04.page +5 -0
- data/doc/src/examples/website_styles/andreas05.page +5 -0
- data/doc/src/examples/website_styles/andreas06.page +5 -0
- data/doc/src/examples/website_styles/andreas07.page +5 -0
- data/doc/src/examples/website_styles/andreas08.page +5 -0
- data/doc/src/examples/website_styles/andreas09.page +5 -0
- data/doc/src/examples/website_styles/default.page +5 -0
- data/doc/src/examples/website_styles/index.page +71 -0
- data/doc/src/examples/website_styles/plain.page +5 -0
- data/doc/src/examples/website_templates/default.page +5 -0
- data/doc/src/examples/website_templates/index.page +24 -0
- data/doc/src/examples/website_templates/personal_hp.page +5 -0
- data/doc/src/examples/website_templates/project.page +5 -0
- data/doc/src/features.page +16 -14
- 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 +7132 -0
- 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 +14 -102
- data/doc/src/news.page +154 -0
- data/doc/src/plugin.template +10 -0
- data/lib/webgen/cli.rb +427 -0
- data/lib/webgen/composite.rb +11 -11
- data/lib/webgen/config.rb +52 -0
- data/lib/webgen/content.rb +172 -0
- data/lib/webgen/extcommand.rb +23 -0
- data/lib/webgen/languages.rb +110 -0
- data/lib/webgen/listener.rb +1 -1
- data/lib/webgen/node.rb +196 -124
- data/lib/webgen/plugin.rb +480 -144
- data/lib/webgen/plugins/{contenthandlers → contentconverters}/default.rb +10 -9
- data/lib/webgen/plugins/{contenthandlers → contentconverters}/html.rb +11 -8
- data/lib/webgen/plugins/contentconverters/markdown.rb +54 -0
- data/lib/webgen/plugins/{contenthandlers → contentconverters}/rdoc.rb +16 -12
- data/lib/webgen/plugins/{contenthandlers → contentconverters}/textile.rb +18 -13
- data/lib/webgen/plugins/contentconverters/xmlbuilder.rb +58 -0
- data/lib/webgen/plugins/coreplugins/configuration.rb +11 -102
- data/lib/webgen/plugins/coreplugins/resourcemanager.rb +95 -74
- data/lib/webgen/plugins/filehandlers/copy.rb +41 -19
- data/lib/webgen/plugins/filehandlers/directory.rb +52 -50
- data/lib/webgen/plugins/filehandlers/filehandler.rb +370 -123
- data/lib/webgen/plugins/filehandlers/gallery.rb +368 -117
- data/lib/webgen/plugins/filehandlers/page.rb +160 -146
- data/lib/webgen/plugins/filehandlers/template.rb +65 -52
- data/lib/webgen/plugins/htmlvalidators/default.rb +9 -7
- data/lib/webgen/plugins/htmlvalidators/xmllint.rb +17 -33
- data/lib/webgen/plugins/menustyles/default.rb +27 -25
- data/lib/webgen/plugins/menustyles/horizontal.rb +22 -41
- data/lib/webgen/plugins/menustyles/horizontal_dropdown.rb +25 -39
- data/lib/webgen/plugins/menustyles/section.rb +68 -0
- data/lib/webgen/plugins/menustyles/vertical.rb +36 -56
- data/lib/webgen/plugins/menustyles/vertical_dropdown.rb +24 -32
- data/lib/webgen/plugins/miscplugins/smileyreplacer.rb +20 -17
- data/lib/webgen/plugins/miscplugins/syntax_highlighter.rb +72 -0
- data/lib/webgen/plugins/miscplugins/treewalker.rb +9 -36
- data/lib/webgen/plugins/tags/block.rb +65 -0
- data/lib/webgen/plugins/tags/breadcrumbtrail.rb +15 -11
- data/lib/webgen/plugins/tags/date.rb +11 -7
- data/lib/webgen/plugins/tags/download.rb +38 -38
- data/lib/webgen/plugins/tags/executecommand.rb +30 -15
- data/lib/webgen/plugins/tags/includefile.rb +26 -13
- data/lib/webgen/plugins/tags/langbar.rb +23 -18
- data/lib/webgen/plugins/tags/menu.rb +49 -70
- data/lib/webgen/plugins/tags/meta.rb +12 -9
- data/lib/webgen/plugins/tags/relocatable.rb +41 -13
- data/lib/webgen/plugins/tags/sitemap.rb +32 -28
- data/lib/webgen/plugins/tags/tag_processor.rb +279 -0
- data/lib/webgen/plugins/tags/wikilink.rb +25 -20
- data/lib/webgen/test.rb +202 -0
- data/lib/webgen/website.rb +310 -0
- data/test/fixtures/sample_site/src/chained.template +3 -0
- data/test/fixtures/sample_site/src/default.template +3 -0
- data/test/fixtures/sample_site/src/dir1/dir11/file111.de.page +3 -0
- data/test/fixtures/sample_site/src/dir1/dir11/file111.page +3 -0
- data/test/fixtures/sample_site/src/dir1/dir11/index.page +3 -0
- data/test/fixtures/sample_site/src/dir1/file11.page +3 -0
- data/test/fixtures/sample_site/src/dir2/file21.page +3 -0
- data/test/fixtures/sample_site/src/embedded.rhtml +1 -0
- data/test/fixtures/sample_site/src/file1.page +8 -0
- data/test/fixtures/sample_site/src/file2.de.page +6 -0
- data/test/fixtures/sample_site/src/index.de.page +4 -0
- data/test/fixtures/sample_site/src/index.en.page +1 -0
- data/test/fixtures/sample_site/src/invalid.template +3 -0
- data/test/fixtures/sample_site/src/test.jpg +1 -0
- data/test/fixtures/sample_site/src/test.template +3 -0
- data/test/fixtures/tc_content/blocks.yaml +40 -0
- data/test/fixtures/tc_content/correct.yaml +65 -0
- data/test/fixtures/tc_content/incorrect.yaml +42 -0
- data/test/fixtures/tc_filehandler_filehandler/backing/metainfo.yaml +9 -0
- data/test/fixtures/tc_filehandler_filehandler/backing_empty/metainfo.yaml +6 -0
- data/test/fixtures/tc_filehandler_filehandler/sample_plugin.rb +49 -0
- data/test/fixtures/tc_filehandler_filehandler/unmodified +0 -0
- data/test/fixtures/tc_filehandler_gallery/test.gallery +2 -0
- data/test/fixtures/tc_filehandler_gallery/test1.gallery +2 -0
- 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 +10 -0
- data/test/fixtures/tc_menustyles_default/menustyle.rb +7 -0
- data/test/fixtures/tc_node/nodes.yaml +64 -0
- data/test/fixtures/tc_plugin/handlerplugin.rb +15 -0
- data/test/fixtures/tc_plugin/plugin1.rb +33 -0
- data/test/fixtures/tc_plugin/plugin2.rb +8 -0
- data/test/fixtures/tc_tags_includefile/testfile +1 -0
- data/test/fixtures/tc_tags_tag_processor/test_file1 +1 -0
- data/test/fixtures/tc_tags_tag_processor/testtag.rb +17 -0
- data/test/fixtures/tc_website/correct.yaml +6 -0
- data/test/fixtures/tc_website/incorrect_structure.yaml +2 -0
- data/test/fixtures/tc_website/incorrect_yaml.yaml +5 -0
- data/test/fixtures/tc_website/meta_info_test.yaml +10 -0
- data/test/fixtures/tc_website/testdir/README +1 -0
- data/test/fixtures/tc_website/testdir/falsedir/README +1 -0
- data/test/runtests.rb +2 -0
- data/test/unittests/tc_composite.rb +82 -0
- data/test/unittests/tc_config.rb +18 -0
- data/test/unittests/tc_content.rb +88 -0
- data/test/unittests/tc_contentconverters_default.rb +13 -0
- data/test/unittests/tc_contentconverters_html.rb +16 -0
- data/test/unittests/tc_contentconverters_markdown.rb +22 -0
- data/test/unittests/tc_contentconverters_rdoc.rb +16 -0
- data/test/unittests/tc_contentconverters_textile.rb +22 -0
- data/test/unittests/tc_contentconverters_xmlbuilder.rb +22 -0
- data/test/unittests/tc_filehandler_copy.rb +65 -0
- data/test/unittests/tc_filehandler_directory.rb +134 -0
- data/test/unittests/tc_filehandler_filehandler.rb +294 -0
- data/test/unittests/tc_filehandler_gallery.rb +165 -0
- data/test/unittests/tc_filehandler_page.rb +183 -0
- data/test/unittests/tc_filehandler_template.rb +60 -0
- data/test/unittests/tc_htmlvalidators_default.rb +12 -0
- data/test/unittests/tc_htmlvalidators_xmllint.rb +19 -0
- data/test/unittests/tc_languages.rb +57 -0
- data/test/unittests/tc_listener.rb +72 -0
- data/test/unittests/tc_menustyles_default.rb +51 -0
- data/test/unittests/tc_menustyles_horizontal.rb +18 -0
- data/test/unittests/tc_menustyles_horizontal_dropdown.rb +18 -0
- data/test/unittests/tc_menustyles_section.rb +59 -0
- data/test/unittests/tc_menustyles_vertical.rb +79 -0
- data/test/unittests/tc_menustyles_vertical_dropdown.rb +18 -0
- data/test/unittests/tc_node.rb +202 -0
- data/test/unittests/tc_plugin.rb +214 -0
- data/test/unittests/tc_resourcemanager.rb +42 -0
- data/test/unittests/tc_smileyreplacer.rb +25 -0
- data/test/unittests/tc_syntax_highlighter.rb +30 -0
- data/test/unittests/tc_tags_block.rb +27 -0
- data/test/unittests/tc_tags_breadcrumbtrail.rb +22 -0
- data/test/unittests/tc_tags_date.rb +15 -0
- data/test/unittests/tc_tags_download.rb +32 -0
- data/test/unittests/tc_tags_executecommand.rb +37 -0
- data/test/unittests/tc_tags_includefile.rb +53 -0
- data/test/unittests/tc_tags_langbar.rb +42 -0
- data/test/unittests/tc_tags_menu.rb +50 -0
- data/test/unittests/tc_tags_meta.rb +19 -0
- data/test/unittests/tc_tags_relocatable.rb +66 -0
- data/test/unittests/tc_tags_sitemap.rb +33 -0
- data/test/unittests/tc_tags_tag_processor.rb +107 -0
- data/test/unittests/tc_tags_wikilink.rb +22 -0
- data/test/unittests/tc_treewalker.rb +44 -0
- data/test/unittests/tc_website.rb +188 -0
- metadata +829 -312
- data/bin/webgen-gallery-editor +0 -654
- data/bin/webgen-gui +0 -10
- data/data/webgen/website_templates/default/config.yaml +0 -2
- data/doc/plugin/clidesc.rb +0 -46
- data/doc/plugin/source.rb +0 -21
- data/doc/src/about.page +0 -22
- data/doc/src/documentation/cli.page +0 -12
- data/doc/src/documentation/plugins/contenthandlers/html.page +0 -11
- data/doc/src/documentation/plugins/contenthandlers/index.page +0 -7
- data/doc/src/documentation/plugins/contenthandlers/markdown.page +0 -11
- data/doc/src/documentation/plugins/contenthandlers/rdoc.page +0 -11
- data/doc/src/documentation/plugins/contenthandlers/textile.page +0 -11
- data/doc/src/documentation/plugins/coreplugins/configuration.page +0 -12
- data/doc/src/documentation/plugins/coreplugins/index.page +0 -7
- data/doc/src/documentation/plugins/coreplugins/logging.page +0 -13
- data/doc/src/documentation/plugins/coreplugins/resourcemanager.page +0 -34
- data/doc/src/documentation/plugins/filehandlers/backing.page +0 -46
- data/doc/src/documentation/plugins/filehandlers/copy.page +0 -12
- data/doc/src/documentation/plugins/filehandlers/directoryhandler.page +0 -35
- data/doc/src/documentation/plugins/filehandlers/gallery.page +0 -86
- data/doc/src/documentation/plugins/filehandlers/index.page +0 -34
- data/doc/src/documentation/plugins/filehandlers/page.page +0 -170
- data/doc/src/documentation/plugins/filehandlers/template.page +0 -21
- data/doc/src/documentation/plugins/gallerylayouters/index.page +0 -18
- data/doc/src/documentation/plugins/htmlvalidators/index.page +0 -6
- data/doc/src/documentation/plugins/htmlvalidators/xmllint.page +0 -14
- data/doc/src/documentation/plugins/menustyles/horizontal.page +0 -21
- data/doc/src/documentation/plugins/menustyles/index.page +0 -12
- data/doc/src/documentation/plugins/menustyles/partial.page +0 -27
- data/doc/src/documentation/plugins/menustyles/vertical.page +0 -32
- data/doc/src/documentation/plugins/menustyles/verticaldropdown.page +0 -23
- data/doc/src/documentation/plugins/miscplugins/index.page +0 -7
- data/doc/src/documentation/plugins/tags/breadcrumbtrail.page +0 -20
- data/doc/src/documentation/plugins/tags/date.page +0 -19
- data/doc/src/documentation/plugins/tags/download.page +0 -23
- data/doc/src/documentation/plugins/tags/executecommand.page +0 -18
- data/doc/src/documentation/plugins/tags/includefile.page +0 -15
- data/doc/src/documentation/plugins/tags/index.page +0 -44
- data/doc/src/documentation/plugins/tags/langbar.page +0 -27
- data/doc/src/documentation/plugins/tags/menu.de.page +0 -12
- data/doc/src/documentation/plugins/tags/menu.page +0 -19
- data/doc/src/documentation/plugins/tags/multilang.de.page +0 -4
- data/doc/src/documentation/plugins/tags/multilang.fr.page +0 -4
- data/doc/src/documentation/plugins/tags/multilang.page +0 -4
- data/doc/src/documentation/plugins/tags/relocatable.page +0 -16
- data/doc/src/documentation/plugins/tags/resource.page +0 -22
- data/doc/src/documentation/plugins/tags/sitemap.page +0 -17
- data/doc/src/documentation/plugins/tags/wikilink.page +0 -18
- data/doc/src/documentation/webgen_gallery_editor.page +0 -82
- data/doc/src/images/screenshots/wge-image.png +0 -0
- data/doc/src/images/screenshots/wge-layout-preview.png +0 -0
- data/doc/src/images/screenshots/wge-main-disabled.png +0 -0
- data/doc/src/images/screenshots/wge-main.png +0 -0
- data/doc/src/meta.info +0 -30
- data/doc/src/screenshots.gallery +0 -33
- data/install.rb +0 -19
- data/lib/webgen.rb +0 -277
- data/lib/webgen/plugins/contenthandlers/markdown.rb +0 -50
- data/lib/webgen/plugins/coreplugins/logging.rb +0 -101
- data/lib/webgen/plugins/filehandlers/backing.rb +0 -159
- data/lib/webgen/plugins/gallerylayouters/default.rb +0 -152
- data/lib/webgen/plugins/menustyles/partial.rb +0 -95
- data/lib/webgen/plugins/tags/tags.rb +0 -254
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Default
|
|
3
|
+
directoryName: ContentConverter
|
|
4
|
+
inMenu: true
|
|
5
|
+
template: /plugin.template
|
|
6
|
+
plugin: ContentConverter/Default
|
|
7
|
+
---
|
|
8
|
+
h2(#description). Description
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
This is the base plugin (does not provide any functionality) for all "content to HTML" converters.
|
|
12
|
+
These converters are used, for example, for page files to allow the page creators to use a format he
|
|
13
|
+
likes.
|
|
14
|
+
|
|
15
|
+
Have a look at the individual converters for more information!
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Markdown
|
|
3
|
+
inMenu: true
|
|
4
|
+
template: /plugin.template
|
|
5
|
+
plugin: ContentConverter/Markdown
|
|
6
|
+
---
|
|
7
|
+
h2(#description). Description
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Converts content written using Markdown markup
|
|
11
|
+
("Reference":http://daringfireball.net/projects/markdown/) to HTML.
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
h2(#caveat). Caveat
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
This plugin is only available if you have installed the
|
|
18
|
+
"bluecloth":http://www.deveiate.org/projects/BlueCloth library. The preferred way to do this is via
|
|
19
|
+
Rubygems:
|
|
20
|
+
|
|
21
|
+
gem install bluecloth
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: RDoc
|
|
3
|
+
inMenu: true
|
|
4
|
+
template: /plugin.template
|
|
5
|
+
plugin: ContentConverter/RDoc
|
|
6
|
+
---
|
|
7
|
+
h2(#description). Description
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Converts content written in RDoc (default documentation system for Ruby source files,
|
|
11
|
+
"reference":http://rdoc.sourceforge.net/doc/) to HTML.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Textile
|
|
3
|
+
inMenu: true
|
|
4
|
+
template: /plugin.template
|
|
5
|
+
plugin: ContentConverter/Textile
|
|
6
|
+
---
|
|
7
|
+
h2(#description). Description
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Converts content written using Textile markup ("Reference":http://hobix.com/textile/) to HTML.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
h2(#caveat). Caveat
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
This plugin is only available if you have installed the
|
|
17
|
+
"redcloth":http://whytheluckystiff.net/ruby/redcloth/ library. The preferred way to do this is via
|
|
18
|
+
Rubygems:
|
|
19
|
+
|
|
20
|
+
gem install redcloth
|
|
21
|
+
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: XmlBuilder
|
|
3
|
+
inMenu: true
|
|
4
|
+
template: /plugin.template
|
|
5
|
+
plugin: ContentConverter/XmlBuilder
|
|
6
|
+
---
|
|
7
|
+
h2(#description). Description
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
This plugin can be used to programatically create XHTML/XML documents
|
|
11
|
+
("Reference":http://builder.rubyforge.org). The top builder object is provided through the @xml@
|
|
12
|
+
object.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
h2(#examples). Examples
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
Following is a short example on how to use this plugin in a page file which generates a custom XML
|
|
19
|
+
document (the block has to be valid Ruby!):
|
|
20
|
+
|
|
21
|
+
<pre>
|
|
22
|
+
\---
|
|
23
|
+
outputNameStyle: [:name, ['.', :lang], '.xml']
|
|
24
|
+
title: Person Object
|
|
25
|
+
\--- content, xmlbuilder
|
|
26
|
+
xml.persons do |p|
|
|
27
|
+
xml.person do |b|
|
|
28
|
+
b.firstname('Thomas')
|
|
29
|
+
b.lastname('Leitner')
|
|
30
|
+
end
|
|
31
|
+
xml.person do |b|
|
|
32
|
+
b.firstname('Other first')
|
|
33
|
+
b.lastname('Other last')
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
</pre>
|
|
37
|
+
|
|
38
|
+
The above will produce the following output:
|
|
39
|
+
|
|
40
|
+
<pre>
|
|
41
|
+
<persons>
|
|
42
|
+
<person>
|
|
43
|
+
<firstname>Thomas</firstname>
|
|
44
|
+
<lastname>Leitner</lastname>
|
|
45
|
+
</person>
|
|
46
|
+
<person>
|
|
47
|
+
<firstname>Other first</firstname>
|
|
48
|
+
<lastname>Other last</lastname>
|
|
49
|
+
</person>
|
|
50
|
+
</persons>
|
|
51
|
+
</pre>
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
h2(#caveat). Caveat
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
This plugin is only available if you have installed the
|
|
58
|
+
"builder":http://builder.rubyforge.org library. The preferred way to do this is via
|
|
59
|
+
Rubygems:
|
|
60
|
+
|
|
61
|
+
gem install builder
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Configuration
|
|
3
|
+
inMenu: true
|
|
4
|
+
template: /plugin.template
|
|
5
|
+
plugin: Core/Configuration
|
|
6
|
+
---
|
|
7
|
+
h2(#description). Description
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
The configuration plugin provides a place for all the parameters which do not belong to a specific
|
|
11
|
+
plugin, like the default language setting.
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: FileHandler
|
|
3
|
+
inMenu: true
|
|
4
|
+
template: /plugin.template
|
|
5
|
+
plugin: Core/FileHandler
|
|
6
|
+
---
|
|
7
|
+
h2(#description). Description
|
|
8
|
+
|
|
9
|
+
The FileHandler plugin is one of the two main workhorses, the other being the {plugin:
|
|
10
|
+
Core/TagProcessor}. When running webgen the FileHandler is responsible for traversing the source
|
|
11
|
+
directory and creating the internal representation of all handled files as well as writing the
|
|
12
|
+
output files by using the individual file handler plugins. These file handler plugins reside in the
|
|
13
|
+
{plugin: File} namespace. Also, the FileHandler is responsible for managing the "meta information
|
|
14
|
+
backing file":#metainfo-file.
|
|
15
|
+
|
|
16
|
+
There are many different file handler plugins available, ranging from very simple ones, like copying a
|
|
17
|
+
file verbatim from the source to the output directory, to complicated ones, like creating HTML files
|
|
18
|
+
from page files or creating whole image galleries from a simple gallery defintion file!
|
|
19
|
+
|
|
20
|
+
The following sections give an overview of how the "file handling":#filehandling is done by webgen,
|
|
21
|
+
how "path patterns":#pathpattern work and how to specify and use "meta information":#metainfo.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
h2(#filehandling). Handling of files in the source directory
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Following is the list of rules how files in the source directory are handled by webgen:
|
|
28
|
+
|
|
29
|
+
# All file/directory names in the source directory are fetched (actually, only those file/directory
|
|
30
|
+
names without a leading dot)
|
|
31
|
+
# Those files which match an {param: Core/FileHandler:ignorePaths} pattern are excluded
|
|
32
|
+
# The path patterns for each file handler plugin are matched against the remaining files and all
|
|
33
|
+
matching files are then handled by the file handler plugin
|
|
34
|
+
|
|
35
|
+
As you might have deduced from the processing list above, it is possible that one file/directory is
|
|
36
|
+
handled by multiple file handler plugins. This can be used, for example, to render an XML file as
|
|
37
|
+
HTML and copy it verbatim.
|
|
38
|
+
|
|
39
|
+
Internally a tree structure is created reflecting the source directory hierarchy and each file that
|
|
40
|
+
will be created by webgen is represented by a node in the tree, as displayed in the following in
|
|
41
|
+
image.
|
|
42
|
+
|
|
43
|
+
p=. <img src="{relocatable: /images/node_diagram.png}" alt="Internal tree structure" />
|
|
44
|
+
|
|
45
|
+
The source directory layout is shown on the left side and the internal tree structure/output layout
|
|
46
|
+
on the right. As you can see, some files are copied verbatim (e.g. the images), others are copied
|
|
47
|
+
not all (e.g. @default.template@) and still others have multiple output files (e.g.
|
|
48
|
+
@project/documentation.page@).
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
h2(#pathpattern). Path Patterns
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
Each file handler plugin specifies path patterns which are used to locate the files that the plugin
|
|
55
|
+
can handle. Normally these patterns are used to match file extensions, however, they are much more
|
|
56
|
+
powerful. For detailed information have a look at
|
|
57
|
+
"Dir.glob":http://ruby-doc.org/core/classes/Dir.html#M002375 .
|
|
58
|
+
|
|
59
|
+
The path patterns that are handled by a particular file handler plugin are stated on its
|
|
60
|
+
documentation page and cannot be changed for most plugins, eg. the {plugin: File/PageHandler} will
|
|
61
|
+
always handle @.page@ files. However, the information about how these path patterns work are useful
|
|
62
|
+
for the usage of webgen because of two reasons:
|
|
63
|
+
|
|
64
|
+
* so that the user knows which files will be processed by a specific file handler plugin
|
|
65
|
+
* so that the user can specify path patterns for some special file handler plugins that support
|
|
66
|
+
additional path patterns, like the {plugin: File/CopyHandler}.
|
|
67
|
+
|
|
68
|
+
Here are some example path patterns:
|
|
69
|
+
|
|
70
|
+
<table class="examples">
|
|
71
|
+
<tr><th>Path Pattern</th><th>Result</th></tr>
|
|
72
|
+
<tr>
|
|
73
|
+
<td><notextile><code>*/*.html</code></notextile></td>
|
|
74
|
+
<td>All files with the extension @html@ in the subdirectories of the source directory</td>
|
|
75
|
+
</tr>
|
|
76
|
+
<tr>
|
|
77
|
+
<td><notextile><code>**/*.html</code></notextile></td>
|
|
78
|
+
<td>All files with the extension @html@ in all directories</td>
|
|
79
|
+
</tr>
|
|
80
|
+
<tr>
|
|
81
|
+
<td><notextile><code>**/{foo,bar}*</code></notextile></td>
|
|
82
|
+
<td>All files in all directories which start with @foo@ or @bar@</td>
|
|
83
|
+
</tr>
|
|
84
|
+
<tr>
|
|
85
|
+
<td><notextile><code>**/???</code></notextile></td>
|
|
86
|
+
<td>All files in all directories whose file name is exactly three characters long</td>
|
|
87
|
+
</tr>
|
|
88
|
+
</table>
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
h2(#metainfo). File Meta Information
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
Each file can have meta information, i.e. information about the file itself, associated with it, for
|
|
96
|
+
example the title of the file, if it should appear in a menu and so on. Some file types allow this
|
|
97
|
+
meta information to be specified directly in the file, e.g. page files. However, meta information
|
|
98
|
+
can also be specified in the "meta information backing file":#metainfo-file.
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
h3(#metainfo-param). The @defaultMetaInfo@ parameter
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
This parameter can be used to override the default meta information set for a file handler plugin.
|
|
105
|
+
The keys are the names of file handler plugins and the values are the meta information. You can
|
|
106
|
+
either set the parameter directly or use the special functionality provided by the
|
|
107
|
+
<a href="{relocatable: /documentation/gettingstarted.page#config}">configuration file</a> to
|
|
108
|
+
set it for a file handler plugin.
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
h3(#metainfo-file). The meta information backing file
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
The meta information backing file contains meta information about files/directories in the source
|
|
115
|
+
directory. It has two sections both of which have to be in YAML format and both have to have the
|
|
116
|
+
same structure: a source backing section and an output backing section which is optional.
|
|
117
|
+
|
|
118
|
+
The source backing section is used to apply meta information to a file before a node for this file
|
|
119
|
+
is created. A file handler plugin can therefore use this meta information during the creation of the
|
|
120
|
+
node. Make sure that you use a valid source path, i.e. a path that resolves to a file in the source
|
|
121
|
+
directory!
|
|
122
|
+
|
|
123
|
+
The output backing section is used to apply meta information after _all_ nodes have been created and
|
|
124
|
+
to create so called "virtual nodes". The paths specified in the output backing section have to be
|
|
125
|
+
valid output path, not source paths! If a specified path resolves to an already created node, the
|
|
126
|
+
meta information is applied to this node. Otherwise, a virtual node is created with the specified
|
|
127
|
+
meta information and empty content - a virtual node _never_ creates a real output file! This
|
|
128
|
+
facility can be used, for example, to include links to external web pages in menus or to create the
|
|
129
|
+
a whole menu with custom sections and multiple reference in different sections to the same node!
|
|
130
|
+
|
|
131
|
+
Following is a sample meta information backing file with explanations afterwards:
|
|
132
|
+
|
|
133
|
+
<pre>
|
|
134
|
+
index.page:
|
|
135
|
+
inMenu: true
|
|
136
|
+
orderInfo: 2
|
|
137
|
+
|
|
138
|
+
images:
|
|
139
|
+
indexFile: ~
|
|
140
|
+
\---
|
|
141
|
+
index.page:
|
|
142
|
+
inMenu: false
|
|
143
|
+
|
|
144
|
+
wiki.html:
|
|
145
|
+
title: Link to wiki
|
|
146
|
+
url: http://myhost.com/path/to/my/wiki
|
|
147
|
+
inMenu: true
|
|
148
|
+
orderInfo: 5
|
|
149
|
+
|
|
150
|
+
api.html:
|
|
151
|
+
title: API Reference
|
|
152
|
+
url: http://myhost.com/api
|
|
153
|
+
|
|
154
|
+
virtdir/:
|
|
155
|
+
indexFile: index.html
|
|
156
|
+
|
|
157
|
+
virtdir/index.html:
|
|
158
|
+
title: A virtual index file
|
|
159
|
+
inMenu: true
|
|
160
|
+
url: /index.page
|
|
161
|
+
|
|
162
|
+
virtdir/other.html:
|
|
163
|
+
inMenu: true
|
|
164
|
+
url: /otherdir/linked.de.page
|
|
165
|
+
</pre>
|
|
166
|
+
|
|
167
|
+
The above sample meta information backing file consists of both sections: the mandatory source
|
|
168
|
+
section and the optional output section. As you can see each section is described using a hash of
|
|
169
|
+
hashes, i.e. the keys are paths and the values are the meta information hashes.
|
|
170
|
+
|
|
171
|
+
The source section specifies additional meta information for the @index.page@ file and for the
|
|
172
|
+
@images@ directory: the @index.page@ gets the @inMenu@ and @orderInfo@ meta information set and it
|
|
173
|
+
is specified that the @images@ directory has no @indexFile@.
|
|
174
|
+
|
|
175
|
+
The output section is more interesting than the source section:
|
|
176
|
+
|
|
177
|
+
* The first entry references an existing file, therefore the meta information for that file
|
|
178
|
+
(@index.page@) is set appropriately.
|
|
179
|
+
* The second entry specifies that under the @root@ directory a virtual node with the path
|
|
180
|
+
@wiki.html@ should be created (the node will be virtual as the path references no existing file).
|
|
181
|
+
It should have the specified title and should be in the menu with the specified
|
|
182
|
+
order. Furthermore, a special @*url*@ key is used. This key can only be used for virtual file
|
|
183
|
+
nodes (not directory nodes) in the output section and it specifies the link target for the node.
|
|
184
|
+
So, whenever a reference to @wiki.html@ is requested the resolved @url@ is returned. This @url@
|
|
185
|
+
can be a link to an outside page or it can refer to another node, as described below. The @url@ is
|
|
186
|
+
assumed to be relative to the directory the virutal node is in.
|
|
187
|
+
* The third entry also specifies a virtual node linking to an external page, but one which will not
|
|
188
|
+
appear in a menu. Such nodes are normally inserted into the output section so that the {plugin:
|
|
189
|
+
Tag/Relocatable} can be used.
|
|
190
|
+
* The last three entries add virtual entries to the menu to show how one page can appear in more
|
|
191
|
+
than one directory: the @virtdir/index.html@ links to the top level @index.page@ and
|
|
192
|
+
@virtdir/other.html@ links to a page in another subdirectory, namely @/otherdir/linked.de.page@.
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
h3(#metainfo-processing). Processing order
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
There is clearly defined order in which meta information is applied to a node for a file:
|
|
199
|
+
|
|
200
|
+
# The default meta information for a node is specified via a directive in the plugin file handler
|
|
201
|
+
that creates the node (this means that it is possible that no default meta information is
|
|
202
|
+
specified). If such a default meta information is set for a plugin file handler it is shown on its
|
|
203
|
+
plugin documentation page.
|
|
204
|
+
# Overridden by values that are set for the plugin file handler for the node in the {param:
|
|
205
|
+
Core/FileHandler:defaultMetaInfo} parameter.
|
|
206
|
+
# Overridden by the meta information specified for the file in the source backing section of the
|
|
207
|
+
meta information backing file.
|
|
208
|
+
# Now the node is created by the file handler plugin with this meta information. During the node
|
|
209
|
+
creation, it is possible that the meta information is overridden by meta information extracted
|
|
210
|
+
from the file by the file handler plugin (e.g. the {plugin: File/PageHandler} parses the file
|
|
211
|
+
name to extract meta information like the title of the node and uses the meta information
|
|
212
|
+
specified in the file itself).
|
|
213
|
+
# After all nodes are created, meta information specified in the output backing section of the meta
|
|
214
|
+
file backing file is applied.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Core Plugins
|
|
3
|
+
directoryName: Core
|
|
4
|
+
---
|
|
5
|
+
h2(#Description). Description
|
|
6
|
+
|
|
7
|
+
The plugins in this namespace provide the core functionality for webgen. They allow webgen to
|
|
8
|
+
* handle resources
|
|
9
|
+
* read files from the source directory
|
|
10
|
+
* substitute tags in page files
|
|
11
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ResourceManager
|
|
3
|
+
inMenu: true
|
|
4
|
+
template: /plugin.template
|
|
5
|
+
plugin: Core/ResourceManager
|
|
6
|
+
---
|
|
7
|
+
h2(#description). Description
|
|
8
|
+
|
|
9
|
+
The ResourceManager plugin provides access to the resources which are shipped with webgen, for
|
|
10
|
+
example, the emoticons. Furthermore, it allows the user to specify their own resources.
|
|
11
|
+
|
|
12
|
+
A resource can either be included directly which means that the content of the resource is written
|
|
13
|
+
into the HTML file. Or it can be referenced in which case only the path is written into the HTML
|
|
14
|
+
file and the content of the resource itself is written to its predefined output path. Be aware that
|
|
15
|
+
a resource is *only* written to its output path if it is referenced at least once (for example, by
|
|
16
|
+
the plugin {plugin: Tag/Resource})!
|
|
17
|
+
|
|
18
|
+
Speaking of the output path, each resource has four properties:
|
|
19
|
+
|
|
20
|
+
* *resoure name*:
|
|
21
|
+
It is unique among all resources and used to access the resource.
|
|
22
|
+
* *output path*:
|
|
23
|
+
This is the path relative to output directory where the resource will be written to if it is
|
|
24
|
+
referenced at least once.
|
|
25
|
+
* *type*:
|
|
26
|
+
There are two different types of resources: file resources and memory resources.
|
|
27
|
+
** A *file* resource references a file in the file system. The content of this type of resource
|
|
28
|
+
cannot be changed during a webgen run and this type mostly used for images and other binary files.
|
|
29
|
+
** A *memory* resource only exists during a webgen run and its content can be changed. This type of
|
|
30
|
+
resource is used, for example, by plugins to specify addditional CSS formatting rules or
|
|
31
|
+
Javascript code.
|
|
32
|
+
* *description*: A short description of the resource.
|
|
33
|
+
|
|
34
|
+
h2(#resources). Predefined Resources
|
|
35
|
+
|
|
36
|
+
A reason why webgen has a ResourceManager is the possibility to ship predefined resources with
|
|
37
|
+
webgen. These resources can be used by any website developed with webgen.
|
|
38
|
+
|
|
39
|
+
*Credits*:
|
|
40
|
+
|
|
41
|
+
* webgen-icons-<notextile>*</notextile>: These icons were taken from the "CrystalClear" package from
|
|
42
|
+
"http://www.kde-look.org/content/show.php?content=25668":http://www.kde-look.org/content/show.php?content=25668
|
|
43
|
+
* webgen-emoticons-<notextile>*</notextile>: Credits for the individual emoticon packs are listed on the {plugin:
|
|
44
|
+
Misc/SmileyReplacer} page
|
|
45
|
+
|
|
46
|
+
<notextile>{predefinedResources:}</notextile>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: TagProcessor
|
|
3
|
+
inMenu: true
|
|
4
|
+
template: /plugin.template
|
|
5
|
+
plugin: Core/TagProcessor
|
|
6
|
+
---
|
|
7
|
+
h2(#description). Description
|
|
8
|
+
|
|
9
|
+
The TagProcessor plugin, apart from the {plugin: Core/FileHandler}, is the main workhorse. It is
|
|
10
|
+
responsible for parsing HTML content and replacing special constructs, so called tags, with dynamic
|
|
11
|
+
content. For more information on how these tags look like, how they are used and why they are
|
|
12
|
+
useful, have a look at the <a href="{relocatable: /documentation/references/webpage_format.page}">page file format description</a>!
|
|
13
|
+
|
|
14
|
+
Each tag has a unique name and an associated handler plugin. Therefore it is very easy to define new
|
|
15
|
+
tags. webgen already comes with many tag plugins that handle simple things, like including a file,
|
|
16
|
+
to advanced things, like generating a menu (the menus used on this homepage are generated
|
|
17
|
+
dynamically with webgen). These tag plugins reside in the {plugin: Tag} namespace.
|