cyberweb 0.4.174
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.
Potentially problematic release.
This version of cyberweb might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/README.md +3259 -0
- data/bin/cyberweb +27 -0
- data/cyberweb.gemspec +119 -0
- data/doc/AUTHORS.md +12 -0
- data/doc/CONVENTIONS.md +7 -0
- data/doc/CYBERWEB_TUTORIAL.cgi +43 -0
- data/doc/DOCUMENTATION_FOR_CYBERSPRAWL.md +50 -0
- data/doc/FUTURE_DESIGN_GOAL_CONSIDERATIONS.md +13 -0
- data/doc/JQUERY.md +122 -0
- data/doc/MOUSE.md +80 -0
- data/doc/README.gen +3231 -0
- data/doc/RENDER_WEB_BASE.md +46 -0
- data/doc/USAGE.md +246 -0
- data/doc/configuration/configuration.md +23 -0
- data/doc/deprecations.md +32 -0
- data/doc/html_characters.md +15 -0
- data/doc/todo/TODO_FOR_THE_CYBERWEB_PROJECT.md +1089 -0
- data/examples/README.md +4 -0
- data/examples/advanced/delayed_update_of_the_body_via_javascript.cgi +38 -0
- data/examples/advanced/hybrid_experiment.cgi +108 -0
- data/examples/advanced/larger_image_on_mouse_over_example.cgi +35 -0
- data/examples/advanced/no_right_click.cgi +26 -0
- data/examples/advanced/objectified_html_tags.cgi +35 -0
- data/examples/advanced/simple_calculator.cgi +42 -0
- data/examples/advanced/simple_form_example.cgi +38 -0
- data/examples/css/blue_border.html +28 -0
- data/examples/css/caret_colour_example.html +22 -0
- data/examples/css/css_border_spacing_example.html +69 -0
- data/examples/css/css_bubbles.html +43 -0
- data/examples/css/css_clock.html +344 -0
- data/examples/css/css_drag_and_drop.html +89 -0
- data/examples/css/css_neon_glow_effects.html +317 -0
- data/examples/css/css_text_decoration_example.html +70 -0
- data/examples/css/css_tooltip.html +44 -0
- data/examples/css/fade_in_and_fade_out_effect.html +66 -0
- data/examples/css/font_size_examples.html +40 -0
- data/examples/css/letter_spacing_example.cgi +36 -0
- data/examples/css/meter_example.html +31 -0
- data/examples/css/on_mouse_button_pressed.html +41 -0
- data/examples/css/planets.html +187 -0
- data/examples/css/scale_example.html +25 -0
- data/examples/css/shadow_example_in_CSS.cgi +30 -0
- data/examples/css/sticky_div_example.html +56 -0
- data/examples/css/stitched_div.html +36 -0
- data/examples/csv/README.md +1 -0
- data/examples/csv/sample.csv +10 -0
- data/examples/example1.rb +7 -0
- data/examples/flip_card_example/flip_card_example.html +72 -0
- data/examples/frames/frame_left.html +1 -0
- data/examples/frames/frame_right.html +1 -0
- data/examples/html/README.md +1 -0
- data/examples/html/abbr_example.html +25 -0
- data/examples/html/base64_image_example.html +26 -0
- data/examples/html/colour_wheel.html +1389 -0
- data/examples/html/column_width_example.html +34 -0
- data/examples/html/custom_cursor.html +103 -0
- data/examples/html/draggable_paragraph.html +12 -0
- data/examples/html/fieldset_example.html +25 -0
- data/examples/html/frames_example.html +7 -0
- data/examples/html/glyph_example.html +43 -0
- data/examples/html/hbox_and_vbox_example.html +65 -0
- data/examples/html/href_examples.html +27 -0
- data/examples/html/input_autofocus_example.html +16 -0
- data/examples/html/larger_image_on_mouse_over_example.html +30 -0
- data/examples/html/ordered_and_unordered_bulletsin.html +33 -0
- data/examples/html/play_video_example.html +13 -0
- data/examples/html/readonly_textarea_example.html +23 -0
- data/examples/html/remote_image_example.html +10 -0
- data/examples/html/simple_unordered_list.html +16 -0
- data/examples/html/table_with_header_example.html +27 -0
- data/examples/html/two_columns_flex_example.html +39 -0
- data/examples/javascript/README.md +2 -0
- data/examples/javascript/arrays/arrays_example_in_javascript.html +16 -0
- data/examples/javascript/delay_example/delay_example.html +46 -0
- data/examples/javascript/drag_support/drag_support.html +37 -0
- data/examples/javascript/jquery_drag_and_drop/drag_and_drop_image_example.html +33 -0
- data/examples/javascript/on_click_event_hello_world/on_click_event_hello_world.html +21 -0
- data/examples/javascript/rgb_to_hex/rgb_to_hex.html +15 -0
- data/examples/javascript/screen_resolution/screen_resolution.html +20 -0
- data/examples/javascript/select_everything/select_everything.html +14 -0
- data/examples/javascript/write_into_a_file/write_into_a_file.html +39 -0
- data/examples/rack/README.md +4 -0
- data/examples/rack/example_with_html_template.rb +123 -0
- data/examples/rack/example_with_rack_and_cyberweb_showing_how_to_use_images.rb +56 -0
- data/examples/rack/hello_world_example_with_rack.rb +45 -0
- data/examples/rack/lobster.rb +79 -0
- data/examples/rack/rack_env.rb +10 -0
- data/examples/rack/standalone_example.rb +26 -0
- data/examples/show_greek_letters.rb +3 -0
- data/examples/simple/on_click_event_hello_world.cgi +34 -0
- data/examples/sinatra/001_your_ip_address_is.rb +8 -0
- data/examples/sinatra/002_the_request_object.rb +16 -0
- data/examples/sinatra/003_hello_world_example.rb +82 -0
- data/examples/sinatra/004_splat_example.rb +10 -0
- data/examples/sinatra/005_attachment_example.rb +11 -0
- data/examples/sinatra/006_outer_self_example.rb +8 -0
- data/examples/sinatra/007_mime_type_example.rb +17 -0
- data/examples/sinatra/008_post_example.rb +55 -0
- data/examples/table_example.rb +37 -0
- data/images/cyberweb_favicon.png +0 -0
- data/images/cyberweb_logo.png +0 -0
- data/images/cyberweb_theme.png +0 -0
- data/lib/cyberweb/and_sinatra_base.rb +9 -0
- data/lib/cyberweb/autoinclude.rb +20 -0
- data/lib/cyberweb/autoinclude_webobject.rb +14 -0
- data/lib/cyberweb/base/base.rb +41 -0
- data/lib/cyberweb/base/colours.rb +69 -0
- data/lib/cyberweb/base/constants.rb +18 -0
- data/lib/cyberweb/base/encoding.rb +19 -0
- data/lib/cyberweb/base/misc.rb +239 -0
- data/lib/cyberweb/base/reset.rb +23 -0
- data/lib/cyberweb/base/save_file.rb +22 -0
- data/lib/cyberweb/cascading_style_sheets/README.md +4 -0
- data/lib/cyberweb/cascading_style_sheets/admonition.css +33 -0
- data/lib/cyberweb/cascading_style_sheets/balloon.css +344 -0
- data/lib/cyberweb/cascading_style_sheets/border.css +202 -0
- data/lib/cyberweb/cascading_style_sheets/code.css +58 -0
- data/lib/cyberweb/cascading_style_sheets/colours.css +476 -0
- data/lib/cyberweb/cascading_style_sheets/default.css +1836 -0
- data/lib/cyberweb/cascading_style_sheets/div.css +26 -0
- data/lib/cyberweb/cascading_style_sheets/fonts.css +365 -0
- data/lib/cyberweb/cascading_style_sheets/links.css +207 -0
- data/lib/cyberweb/cascading_style_sheets/margin.css +677 -0
- data/lib/cyberweb/cascading_style_sheets/menu.css +37 -0
- data/lib/cyberweb/cascading_style_sheets/message_boxes.css +48 -0
- data/lib/cyberweb/cascading_style_sheets/misc.css +162 -0
- data/lib/cyberweb/cascading_style_sheets/popup.css +63 -0
- data/lib/cyberweb/cascading_style_sheets/rpg.css +51 -0
- data/lib/cyberweb/cascading_style_sheets/ruby_regexes.css +33 -0
- data/lib/cyberweb/cascading_style_sheets/template2.css +18 -0
- data/lib/cyberweb/cascading_style_sheets/text_shadow.css +19 -0
- data/lib/cyberweb/cascading_style_sheets/tooltip.css +36 -0
- data/lib/cyberweb/cgi/README.md +6 -0
- data/lib/cyberweb/cgi/cgi.rb +340 -0
- data/lib/cyberweb/cgi/constants.rb +121 -0
- data/lib/cyberweb/cgi/cookie.rb +218 -0
- data/lib/cyberweb/cgi/core.rb +638 -0
- data/lib/cyberweb/cgi/exceptions.rb +223 -0
- data/lib/cyberweb/cgi/html.rb +1025 -0
- data/lib/cyberweb/cgi/mod_ruby_exception_printer.rb +40 -0
- data/lib/cyberweb/cgi/query_extension.rb +431 -0
- data/lib/cyberweb/cgi/session/file_store.rb +131 -0
- data/lib/cyberweb/cgi/session/memory_store.rb +90 -0
- data/lib/cyberweb/cgi/session/pstore.rb +127 -0
- data/lib/cyberweb/cgi/session.rb +444 -0
- data/lib/cyberweb/cgi/tag_maker.rb +94 -0
- data/lib/cyberweb/cgi/util.rb +239 -0
- data/lib/cyberweb/charts/README.md +2 -0
- data/lib/cyberweb/charts/google_charts.rb +51 -0
- data/lib/cyberweb/classes/simple_form.rb +55 -0
- data/lib/cyberweb/classes/tooltips.rb +169 -0
- data/lib/cyberweb/coloured_tags/coloured_tags.rb +3099 -0
- data/lib/cyberweb/colours/colour_chart.rb +117 -0
- data/lib/cyberweb/colours/colours.rb +50 -0
- data/lib/cyberweb/colours/random_colour.rb +28 -0
- data/lib/cyberweb/colours/sanitize_for_colours.rb +95 -0
- data/lib/cyberweb/commandline/commandline_interface.rb +49 -0
- data/lib/cyberweb/configuration/configuration.rb +66 -0
- data/lib/cyberweb/configuration/load_the_configuration_file.rb +73 -0
- data/lib/cyberweb/constants/array_images.rb +21 -0
- data/lib/cyberweb/constants/array_local_css_files.rb +35 -0
- data/lib/cyberweb/constants/array_predefined_constants.rb +23 -0
- data/lib/cyberweb/constants/configuration_file.rb +33 -0
- data/lib/cyberweb/constants/constants.rb +9 -0
- data/lib/cyberweb/constants/file_constants.rb +16 -0
- data/lib/cyberweb/constants/http_status_codes.rb +42 -0
- data/lib/cyberweb/constants/nl.rb +22 -0
- data/lib/cyberweb/constants/project_constants.rb +99 -0
- data/lib/cyberweb/constants/roebe.rb +28 -0
- data/lib/cyberweb/constants/standalone_constants.rb +309 -0
- data/lib/cyberweb/controller/README.md +4 -0
- data/lib/cyberweb/controller/webobject_controller.rb +50 -0
- data/lib/cyberweb/csv/README.md +2 -0
- data/lib/cyberweb/csv/csv.rb +58 -0
- data/lib/cyberweb/cybersprawl +1 -0
- data/lib/cyberweb/debug/debug.rb +69 -0
- data/lib/cyberweb/encoding/encoding.rb +84 -0
- data/lib/cyberweb/erb/test.rhtml +81 -0
- data/lib/cyberweb/erb/test_template.erb +9 -0
- data/lib/cyberweb/evaluate_from_the_same_named_file_then_serve.rb +9 -0
- data/lib/cyberweb/favicon/favicon.rb +196 -0
- data/lib/cyberweb/generator/README.md +2 -0
- data/lib/cyberweb/generator/cgi.rb +201 -0
- data/lib/cyberweb/generator/class.rb +25 -0
- data/lib/cyberweb/generator/static_webpage.rb +162 -0
- data/lib/cyberweb/generator/webpage_for_images.rb +553 -0
- data/lib/cyberweb/help/help.rb +29 -0
- data/lib/cyberweb/html_codes/README.md +15 -0
- data/lib/cyberweb/html_codes/greek_letters.rb +204 -0
- data/lib/cyberweb/html_tags/README.md +3 -0
- data/lib/cyberweb/html_tags/a.rb +65 -0
- data/lib/cyberweb/html_tags/accesskey.rb +25 -0
- data/lib/cyberweb/html_tags/blockquote.rb +56 -0
- data/lib/cyberweb/html_tags/body.rb +14 -0
- data/lib/cyberweb/html_tags/br.rb +19 -0
- data/lib/cyberweb/html_tags/button.rb +110 -0
- data/lib/cyberweb/html_tags/canvas.rb +59 -0
- data/lib/cyberweb/html_tags/chtml.rb +14 -0
- data/lib/cyberweb/html_tags/div.rb +163 -0
- data/lib/cyberweb/html_tags/fieldset.rb +67 -0
- data/lib/cyberweb/html_tags/figure.rb +72 -0
- data/lib/cyberweb/html_tags/form.rb +203 -0
- data/lib/cyberweb/html_tags/h1.rb +75 -0
- data/lib/cyberweb/html_tags/h2.rb +73 -0
- data/lib/cyberweb/html_tags/h3.rb +58 -0
- data/lib/cyberweb/html_tags/h4.rb +60 -0
- data/lib/cyberweb/html_tags/h5.rb +54 -0
- data/lib/cyberweb/html_tags/h6.rb +54 -0
- data/lib/cyberweb/html_tags/hr.rb +22 -0
- data/lib/cyberweb/html_tags/html_tags.rb +240 -0
- data/lib/cyberweb/html_tags/i.rb +50 -0
- data/lib/cyberweb/html_tags/img.rb +294 -0
- data/lib/cyberweb/html_tags/input.rb +345 -0
- data/lib/cyberweb/html_tags/label.rb +63 -0
- data/lib/cyberweb/html_tags/legend.rb +56 -0
- data/lib/cyberweb/html_tags/li.rb +67 -0
- data/lib/cyberweb/html_tags/map.rb +31 -0
- data/lib/cyberweb/html_tags/nav.rb +63 -0
- data/lib/cyberweb/html_tags/object.rb +56 -0
- data/lib/cyberweb/html_tags/ol.rb +56 -0
- data/lib/cyberweb/html_tags/option.rb +61 -0
- data/lib/cyberweb/html_tags/p.rb +90 -0
- data/lib/cyberweb/html_tags/pre.rb +164 -0
- data/lib/cyberweb/html_tags/section.rb +33 -0
- data/lib/cyberweb/html_tags/select.rb +100 -0
- data/lib/cyberweb/html_tags/span.rb +338 -0
- data/lib/cyberweb/html_tags/strong.rb +39 -0
- data/lib/cyberweb/html_tags/table.rb +273 -0
- data/lib/cyberweb/html_tags/tbody.rb +24 -0
- data/lib/cyberweb/html_tags/td.rb +214 -0
- data/lib/cyberweb/html_tags/textarea.rb +138 -0
- data/lib/cyberweb/html_tags/th.rb +68 -0
- data/lib/cyberweb/html_tags/thead.rb +36 -0
- data/lib/cyberweb/html_tags/tr.rb +97 -0
- data/lib/cyberweb/html_tags/ul.rb +51 -0
- data/lib/cyberweb/html_template/html_template.rb +352 -0
- data/lib/cyberweb/images/embed_this_image.rb +37 -0
- data/lib/cyberweb/images/images.rb +58 -0
- data/lib/cyberweb/images/is_image.rb +22 -0
- data/lib/cyberweb/images/path_to_images.rb +60 -0
- data/lib/cyberweb/images/real/README.md +6 -0
- data/lib/cyberweb/images/remove_this_substring_from_all_images.rb +44 -0
- data/lib/cyberweb/images/standalone_drag_and_drop_this_image.rb +64 -0
- data/lib/cyberweb/images/string_image.rb +399 -0
- data/lib/cyberweb/images_base64_encoded/AUSRUFUNGSZEICHEN.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/BLUEARROW.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/BUBBLE.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/CAT.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/CAUTION.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/CHEERING_PERSON.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/CURSOR.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/DOT_01.png.md +5 -0
- data/lib/cyberweb/images_base64_encoded/DUCKY.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/ELEPHANT.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/HALLOWEEN.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/HANGING_MONKEY.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/LENS.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/README.md +2 -0
- data/lib/cyberweb/images_base64_encoded/TU_WIEN_LOGO.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/VOGEL.png.md +1 -0
- data/lib/cyberweb/io/README.md +1 -0
- data/lib/cyberweb/io/io.rb +19 -0
- data/lib/cyberweb/javascript/drag_and_drop.rb +105 -0
- data/lib/cyberweb/javascript/dragula_collection.rb +54 -0
- data/lib/cyberweb/javascript/javascript.rb +211 -0
- data/lib/cyberweb/javascript/javascript_bundle.rb +223 -0
- data/lib/cyberweb/javascript/javascript_clock.rb +69 -0
- data/lib/cyberweb/javascript/javascript_last_modified.rb +27 -0
- data/lib/cyberweb/javascript/javascript_magic.rb +150 -0
- data/lib/cyberweb/javascript/javascript_selectable.rb +24 -0
- data/lib/cyberweb/javascript/jquery.rb +30 -0
- data/lib/cyberweb/javascript/on_click_change_opacity.rb +97 -0
- data/lib/cyberweb/javascript/on_click_hide.rb +63 -0
- data/lib/cyberweb/javascript/popup.rb +80 -0
- data/lib/cyberweb/javascript/print_javascript.rb +33 -0
- data/lib/cyberweb/javascript/registered_javascript_methods.rb +30 -0
- data/lib/cyberweb/javascript/resize.rb +28 -0
- data/lib/cyberweb/javascript/return_javascript.rb +48 -0
- data/lib/cyberweb/javascript/scroll.rb +17 -0
- data/lib/cyberweb/javascript/snoweffect.rb +122 -0
- data/lib/cyberweb/javascript_code/README.md +6 -0
- data/lib/cyberweb/javascript_code/chmod_displayer.js +74 -0
- data/lib/cyberweb/javascript_code/custom_functions.js +267 -0
- data/lib/cyberweb/javascript_code/jquery/jquery-3.6.0.js +10881 -0
- data/lib/cyberweb/javascript_code/jquery/jquery-ui-1.12.1.js +18706 -0
- data/lib/cyberweb/javascript_code/rgb_to_hex.js +14 -0
- data/lib/cyberweb/javascript_code/select_even_numbers.js +7 -0
- data/lib/cyberweb/javascript_code/select_everything.js +22 -0
- data/lib/cyberweb/javascript_code/simple_calculator.js +15 -0
- data/lib/cyberweb/javascript_code/sleep.js +3 -0
- data/lib/cyberweb/javascript_code/to_celsius.js +8 -0
- data/lib/cyberweb/mouse/README.md +3 -0
- data/lib/cyberweb/mouse/libxdo.rb +321 -0
- data/lib/cyberweb/mouse/mouse.rb +264 -0
- data/lib/cyberweb/objectified_html_tags/README.md +8 -0
- data/lib/cyberweb/objectified_html_tags/a.rb +129 -0
- data/lib/cyberweb/objectified_html_tags/abbr.rb +84 -0
- data/lib/cyberweb/objectified_html_tags/base.rb +376 -0
- data/lib/cyberweb/objectified_html_tags/button.rb +135 -0
- data/lib/cyberweb/objectified_html_tags/combobox.rb +165 -0
- data/lib/cyberweb/objectified_html_tags/div.rb +129 -0
- data/lib/cyberweb/objectified_html_tags/embed.rb +161 -0
- data/lib/cyberweb/objectified_html_tags/form.rb +129 -0
- data/lib/cyberweb/objectified_html_tags/h1.rb +129 -0
- data/lib/cyberweb/objectified_html_tags/h2.rb +129 -0
- data/lib/cyberweb/objectified_html_tags/h3.rb +129 -0
- data/lib/cyberweb/objectified_html_tags/h4.rb +129 -0
- data/lib/cyberweb/objectified_html_tags/h5.rb +129 -0
- data/lib/cyberweb/objectified_html_tags/h6.rb +129 -0
- data/lib/cyberweb/objectified_html_tags/hbox.rb +71 -0
- data/lib/cyberweb/objectified_html_tags/img.rb +202 -0
- data/lib/cyberweb/objectified_html_tags/input.rb +185 -0
- data/lib/cyberweb/objectified_html_tags/p.rb +129 -0
- data/lib/cyberweb/objectified_html_tags/pre.rb +129 -0
- data/lib/cyberweb/objectified_html_tags/span.rb +92 -0
- data/lib/cyberweb/objectified_html_tags/table.rb +174 -0
- data/lib/cyberweb/objectified_html_tags/textarea.rb +173 -0
- data/lib/cyberweb/objectified_html_tags/title.rb +82 -0
- data/lib/cyberweb/objectified_html_tags/window.rb +79 -0
- data/lib/cyberweb/predefined_and_freeform_methods/README.md +1 -0
- data/lib/cyberweb/predefined_and_freeform_methods/frage.rb +45 -0
- data/lib/cyberweb/predefined_and_freeform_methods/freeform_methods.rb +93 -0
- data/lib/cyberweb/predefined_and_freeform_methods/hash_css_class_to_use.rb +55 -0
- data/lib/cyberweb/predefined_and_freeform_methods/hash_registered_extra_tags.rb +29 -0
- data/lib/cyberweb/predefined_and_freeform_methods/header.rb +81 -0
- data/lib/cyberweb/predefined_and_freeform_methods/predefined_methods.rb +413 -0
- data/lib/cyberweb/project/project.rb +85 -0
- data/lib/cyberweb/rack/README.md +1 -0
- data/lib/cyberweb/rack/request.rb +31 -0
- data/lib/cyberweb/requires/README.md +4 -0
- data/lib/cyberweb/requires/do_require_web_object_files.rb +9 -0
- data/lib/cyberweb/requires/remove_html.rb +9 -0
- data/lib/cyberweb/requires/require_cgi.rb +16 -0
- data/lib/cyberweb/requires/require_charts.rb +20 -0
- data/lib/cyberweb/requires/require_generators.rb +23 -0
- data/lib/cyberweb/requires/require_html_tags_files.rb +23 -0
- data/lib/cyberweb/requires/require_javascript_files.rb +23 -0
- data/lib/cyberweb/requires/require_kimurai.rb +13 -0
- data/lib/cyberweb/requires/require_objectified_html_tags_files.rb +23 -0
- data/lib/cyberweb/requires/require_sinatra.rb +7 -0
- data/lib/cyberweb/requires/require_the_constants.rb +26 -0
- data/lib/cyberweb/requires/require_the_cyberweb_project.rb +172 -0
- data/lib/cyberweb/requires/require_the_html_template.rb +7 -0
- data/lib/cyberweb/requires/require_the_toplevel_methods_files.rb +24 -0
- data/lib/cyberweb/requires/require_web_images.rb +7 -0
- data/lib/cyberweb/requires/require_web_object_files.rb +25 -0
- data/lib/cyberweb/requires/require_yaml.rb +11 -0
- data/lib/cyberweb/sinatra/README.md +11 -0
- data/lib/cyberweb/sinatra/base.rb +145 -0
- data/lib/cyberweb/sinatra/custom_extensions.rb +131 -0
- data/lib/cyberweb/standalone_classes/all_css_classes.rb +255 -0
- data/lib/cyberweb/standalone_classes/calculator.rb +127 -0
- data/lib/cyberweb/standalone_classes/correct_image_entries_in_html_file.rb +207 -0
- data/lib/cyberweb/standalone_classes/input_focus.rb +97 -0
- data/lib/cyberweb/standalone_classes/tag_prototype.rb +43 -0
- data/lib/cyberweb/standalone_classes/turn_html_into_cyberweb.rb +174 -0
- data/lib/cyberweb/svg/blue_rect.svg +12 -0
- data/lib/cyberweb/svg/butterfly.svg +15 -0
- data/lib/cyberweb/svg/chemical_molecule.svg +192 -0
- data/lib/cyberweb/svg/circles_on_background.svg +29 -0
- data/lib/cyberweb/svg/ellipse.svg +12 -0
- data/lib/cyberweb/svg/five_circles.svg +26 -0
- data/lib/cyberweb/svg/flag_germany.svg +10 -0
- data/lib/cyberweb/svg/gaussian_blur.svg +20 -0
- data/lib/cyberweb/svg/gradient_circle.svg +18 -0
- data/lib/cyberweb/svg/green_butterfly.svg +18 -0
- data/lib/cyberweb/svg/green_tilted_lines.svg +25 -0
- data/lib/cyberweb/svg/lion.svg +161 -0
- data/lib/cyberweb/svg/one_circle.svg +12 -0
- data/lib/cyberweb/svg/pie_chart.svg +130 -0
- data/lib/cyberweb/svg/svg.cgi +61 -0
- data/lib/cyberweb/svg/tetris.svg +487 -0
- data/lib/cyberweb/svg/three_circles.svg +18 -0
- data/lib/cyberweb/svg/tiger.svg +732 -0
- data/lib/cyberweb/svg/tilted_arcs.svg +74 -0
- data/lib/cyberweb/svg/transparent_rect.svg +12 -0
- data/lib/cyberweb/svg/yellow_fe_blending.svg +42 -0
- data/lib/cyberweb/toplevel_methods/a.rb +131 -0
- data/lib/cyberweb/toplevel_methods/anmerkung.rb +67 -0
- data/lib/cyberweb/toplevel_methods/audio.rb +59 -0
- data/lib/cyberweb/toplevel_methods/bold.rb +65 -0
- data/lib/cyberweb/toplevel_methods/cgi.rb +65 -0
- data/lib/cyberweb/toplevel_methods/charsets.rb +52 -0
- data/lib/cyberweb/toplevel_methods/clear.rb +30 -0
- data/lib/cyberweb/toplevel_methods/close.rb +62 -0
- data/lib/cyberweb/toplevel_methods/consider_serving_the_web_object.rb +41 -0
- data/lib/cyberweb/toplevel_methods/css.rb +732 -0
- data/lib/cyberweb/toplevel_methods/date.rb +71 -0
- data/lib/cyberweb/toplevel_methods/dictionary.rb +48 -0
- data/lib/cyberweb/toplevel_methods/disable.rb +49 -0
- data/lib/cyberweb/toplevel_methods/document.rb +56 -0
- data/lib/cyberweb/toplevel_methods/dot.rb +182 -0
- data/lib/cyberweb/toplevel_methods/download_webpage.rb +18 -0
- data/lib/cyberweb/toplevel_methods/edit_configuration_file.rb +26 -0
- data/lib/cyberweb/toplevel_methods/ee.rb +44 -0
- data/lib/cyberweb/toplevel_methods/env.rb +44 -0
- data/lib/cyberweb/toplevel_methods/escape_html.rb +54 -0
- data/lib/cyberweb/toplevel_methods/fields.rb +46 -0
- data/lib/cyberweb/toplevel_methods/filename.rb +33 -0
- data/lib/cyberweb/toplevel_methods/frames.rb +131 -0
- data/lib/cyberweb/toplevel_methods/glob.rb +30 -0
- data/lib/cyberweb/toplevel_methods/google.rb +35 -0
- data/lib/cyberweb/toplevel_methods/hardware_information.rb +90 -0
- data/lib/cyberweb/toplevel_methods/hfin.rb +56 -0
- data/lib/cyberweb/toplevel_methods/html_comment.rb +48 -0
- data/lib/cyberweb/toplevel_methods/html_mode.rb +39 -0
- data/lib/cyberweb/toplevel_methods/html_tables.rb +818 -0
- data/lib/cyberweb/toplevel_methods/input.rb +54 -0
- data/lib/cyberweb/toplevel_methods/jquery.rb +82 -0
- data/lib/cyberweb/toplevel_methods/last_modified.rb +39 -0
- data/lib/cyberweb/toplevel_methods/links.rb +426 -0
- data/lib/cyberweb/toplevel_methods/listing.rb +96 -0
- data/lib/cyberweb/toplevel_methods/localhost.rb +18 -0
- data/lib/cyberweb/toplevel_methods/log_directory.rb +84 -0
- data/lib/cyberweb/toplevel_methods/logging.rb +42 -0
- data/lib/cyberweb/toplevel_methods/logo.rb +30 -0
- data/lib/cyberweb/toplevel_methods/markdown.rb +112 -0
- data/lib/cyberweb/toplevel_methods/mathml.rb +130 -0
- data/lib/cyberweb/toplevel_methods/message_boxes.rb +140 -0
- data/lib/cyberweb/toplevel_methods/misc.rb +1398 -0
- data/lib/cyberweb/toplevel_methods/name_of_img_dir.rb +51 -0
- data/lib/cyberweb/toplevel_methods/padlem_and_marlem.rb +107 -0
- data/lib/cyberweb/toplevel_methods/params.rb +57 -0
- data/lib/cyberweb/toplevel_methods/path.rb +69 -0
- data/lib/cyberweb/toplevel_methods/pdf.rb +103 -0
- data/lib/cyberweb/toplevel_methods/process_content.rb +102 -0
- data/lib/cyberweb/toplevel_methods/progress.rb +42 -0
- data/lib/cyberweb/toplevel_methods/quote.rb +44 -0
- data/lib/cyberweb/toplevel_methods/random.rb +70 -0
- data/lib/cyberweb/toplevel_methods/rds.rb +35 -0
- data/lib/cyberweb/toplevel_methods/read_and_display.rb +284 -0
- data/lib/cyberweb/toplevel_methods/readlines.rb +31 -0
- data/lib/cyberweb/toplevel_methods/redirect.rb +29 -0
- data/lib/cyberweb/toplevel_methods/registered_ids.rb +178 -0
- data/lib/cyberweb/toplevel_methods/remove_html.rb +32 -0
- data/lib/cyberweb/toplevel_methods/remove_newlines.rb +28 -0
- data/lib/cyberweb/toplevel_methods/return_head_start.rb +33 -0
- data/lib/cyberweb/toplevel_methods/return_html_fin.rb +34 -0
- data/lib/cyberweb/toplevel_methods/return_html_header.rb +35 -0
- data/lib/cyberweb/toplevel_methods/return_html_start.rb +24 -0
- data/lib/cyberweb/toplevel_methods/return_html_to_head_start.rb +42 -0
- data/lib/cyberweb/toplevel_methods/return_meta_collection.rb +54 -0
- data/lib/cyberweb/toplevel_methods/return_pwd.rb +23 -0
- data/lib/cyberweb/toplevel_methods/return_strict_doctype.rb +51 -0
- data/lib/cyberweb/toplevel_methods/roebe.rb +43 -0
- data/lib/cyberweb/toplevel_methods/s2.rb +30 -0
- data/lib/cyberweb/toplevel_methods/sanitize_url.rb +57 -0
- data/lib/cyberweb/toplevel_methods/sbr.rb +170 -0
- data/lib/cyberweb/toplevel_methods/server_base_directory.rb +148 -0
- data/lib/cyberweb/toplevel_methods/show_and_display.rb +215 -0
- data/lib/cyberweb/toplevel_methods/show_configuration.rb +83 -0
- data/lib/cyberweb/toplevel_methods/sitemap.rb +111 -0
- data/lib/cyberweb/toplevel_methods/spacer.rb +119 -0
- data/lib/cyberweb/toplevel_methods/string_body_start.rb +65 -0
- data/lib/cyberweb/toplevel_methods/string_content.rb +35 -0
- data/lib/cyberweb/toplevel_methods/svg.rb +66 -0
- data/lib/cyberweb/toplevel_methods/tag.rb +237 -0
- data/lib/cyberweb/toplevel_methods/temp_directory.rb +73 -0
- data/lib/cyberweb/toplevel_methods/test_css.rb +24 -0
- data/lib/cyberweb/toplevel_methods/textile.rb +45 -0
- data/lib/cyberweb/toplevel_methods/title.rb +125 -0
- data/lib/cyberweb/toplevel_methods/umlaute.rb +90 -0
- data/lib/cyberweb/toplevel_methods/video.rb +352 -0
- data/lib/cyberweb/toplevel_methods/view_source.rb +50 -0
- data/lib/cyberweb/toplevel_methods/web_object.rb +42 -0
- data/lib/cyberweb/toplevel_methods/write_what_into.rb +27 -0
- data/lib/cyberweb/utility_scripts/README.md +4 -0
- data/lib/cyberweb/utility_scripts/create_coloured_tags.rb +172 -0
- data/lib/cyberweb/utility_scripts/download_balloon_css.rb +160 -0
- data/lib/cyberweb/utility_scripts/hyperlink_all_images_from.rb +148 -0
- data/lib/cyberweb/version/version.rb +25 -0
- data/lib/cyberweb/web_base/web_base.rb +28 -0
- data/lib/cyberweb/web_images/array_listing_all_project_images.rb +52 -0
- data/lib/cyberweb/web_images/map_symbol_to_image_location.rb +1661 -0
- data/lib/cyberweb/web_images/web_images.rb +270 -0
- data/lib/cyberweb/web_object/css.rb +627 -0
- data/lib/cyberweb/web_object/evaluate.rb +126 -0
- data/lib/cyberweb/web_object/favicon.rb +160 -0
- data/lib/cyberweb/web_object/html_related_tags.rb +320 -0
- data/lib/cyberweb/web_object/images.rb +693 -0
- data/lib/cyberweb/web_object/initialize.rb +51 -0
- data/lib/cyberweb/web_object/input_related_functionality.rb +414 -0
- data/lib/cyberweb/web_object/javascript.rb +427 -0
- data/lib/cyberweb/web_object/languages.rb +172 -0
- data/lib/cyberweb/web_object/links.rb +228 -0
- data/lib/cyberweb/web_object/misc.rb +5159 -0
- data/lib/cyberweb/web_object/params.rb +289 -0
- data/lib/cyberweb/web_object/reset.rb +192 -0
- data/lib/cyberweb/web_object/run.rb +44 -0
- data/lib/cyberweb/web_object/sinatra_related_functionality.rb +30 -0
- data/lib/cyberweb/web_object/sitemap.rb +176 -0
- data/lib/cyberweb/web_object/table.rb +378 -0
- data/lib/cyberweb/web_object/web_object.rb +126 -0
- data/lib/cyberweb/web_scraper/README.md +8 -0
- data/lib/cyberweb/web_scraper/scrape_this_url.rb +183 -0
- data/lib/cyberweb/webmin/biology_server.cgi +256 -0
- data/lib/cyberweb/webmin/calculator.cgi +52 -0
- data/lib/cyberweb/webmin/colour_chart.cgi +33 -0
- data/lib/cyberweb/webmin/comments.cgi +137 -0
- data/lib/cyberweb/webmin/comments_data +18 -0
- data/lib/cyberweb/webmin/constants.rb +46 -0
- data/lib/cyberweb/webmin/dictionary.cgi +39 -0
- data/lib/cyberweb/webmin/sys_info.cgi +26 -0
- data/lib/cyberweb/webmin/webforum.cgi +58 -0
- data/lib/cyberweb/webmin/webmin.cgi +679 -0
- data/lib/cyberweb/yaml/autogenerated_system_settings.yml +14 -0
- data/lib/cyberweb/yaml/custom_tags.yml +7 -0
- data/lib/cyberweb/yaml/debug.yml +1 -0
- data/lib/cyberweb/yaml/html5_global_attributes.yml +12 -0
- data/lib/cyberweb/yaml/html5_new_elements.yml +108 -0
- data/lib/cyberweb/yaml/html_tag_legend.yml +12 -0
- data/lib/cyberweb/yaml/http_status_codes.yml +38 -0
- data/lib/cyberweb/yaml/js_files_to_load.yml +28 -0
- data/lib/cyberweb/yaml/project_configuration.yml +229 -0
- data/lib/cyberweb/yaml/video_attributes.yml +35 -0
- data/lib/cyberweb/yaml/web_images.yml +306 -0
- data/lib/cyberweb.rb +5 -0
- data/test/README.md +5 -0
- data/test/complex_tests/all_tests_in_one_page.cgi +666 -0
- data/test/complex_tests/simple_sinatra_example_using_cyberweb/simple.rb +60 -0
- data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.cgi +7 -0
- data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.rb +23 -0
- data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.sinatra +65 -0
- data/test/complex_tests/testing_frames.cgi +42 -0
- data/test/complex_tests/testing_objectified_html_tags.rb +82 -0
- data/test/complex_tests/testing_style_variants/README.md +2 -0
- data/test/complex_tests/testing_style_variants/show_coloured_boxes.cgi +58 -0
- data/test/complex_tests/testing_tables.cgi +67 -0
- data/test/complex_tests/testing_the_cyberweb_shell.rb +188 -0
- data/test/complex_tests/testing_web_object.rb +94 -0
- data/test/css/README.md +5 -0
- data/test/css/return_the_content_of_these_css_classes.rb +7 -0
- data/test/css/testing_css_effects.cgi +159 -0
- data/test/css/testing_css_masking.cgi +36 -0
- data/test/dummy.pdf +0 -0
- data/test/hello_world/hello_world.cgi +25 -0
- data/test/javascript/README.md +2 -0
- data/test/javascript/testing_cheerleader_javascript.cgi +0 -0
- data/test/javascript/testing_drag_and_drop_support.cgi +33 -0
- data/test/javascript/testing_on_click_change_opacity.cgi +26 -0
- data/test/javascript/testing_snowflakes.cgi +20 -0
- data/test/simple_tests/README.md +3 -0
- data/test/simple_tests/ad-hoc-test.cgi +55 -0
- data/test/simple_tests/commandline_tests.rb +70 -0
- data/test/simple_tests/display_this_file.cgi +11 -0
- data/test/simple_tests/simple_html_example.cgi +29 -0
- data/test/simple_tests/simple_status_page.cgi +52 -0
- data/test/simple_tests/string_s2_test.rb +11 -0
- data/test/simple_tests/test_simple_string_as_input.rb +12 -0
- data/test/simple_tests/testing_base64_images.cgi +26 -0
- data/test/simple_tests/testing_dragging_an_image.cgi +23 -0
- data/test/simple_tests/testing_editable_text.cgi +16 -0
- data/test/simple_tests/testing_email.cgi +31 -0
- data/test/simple_tests/testing_embedding_a_pdf_file.cgi +32 -0
- data/test/simple_tests/testing_google_charts.cgi +24 -0
- data/test/simple_tests/testing_html_forms.cgi +31 -0
- data/test/simple_tests/testing_html_template.rb +13 -0
- data/test/simple_tests/testing_popup_div.cgi +22 -0
- data/test/simple_tests/testing_return_dataset_without_any_comments.rb +11 -0
- data/test/simple_tests/testing_the_cap_box.cgi +20 -0
- data/test/simple_tests/testing_the_div_tag.cgi +21 -0
- data/test/simple_tests/testing_the_headers_tag.cgi +36 -0
- data/test/simple_tests/testing_the_html_colours.cgi +19 -0
- data/test/simple_tests/testing_the_info_box.cgi +19 -0
- data/test/simple_tests/testing_the_li_tag.cgi +24 -0
- data/test/simple_tests/testing_the_s2_method.rb +7 -0
- data/test/simple_tests/testing_the_select_tag.cgi +23 -0
- data/test/simple_tests/testing_the_span_tag.cgi +36 -0
- data/test/simple_tests/testing_web_images.rb +12 -0
- data/test/testing_html_tags/README.md +7 -0
- data/test/testing_html_tags/button_example.cgi +42 -0
- metadata +759 -0
@@ -0,0 +1,666 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# http://localhost/programming/ruby/src/cyberweb/test/complex_tests/all_tests_in_one_page.cgi
|
6
|
+
#
|
7
|
+
# or
|
8
|
+
#
|
9
|
+
# http://localhost/programming/ruby/src/cyberweb/test/complex_tests/all_tests_in_one_page.cgi?debug
|
10
|
+
# =========================================================================== #
|
11
|
+
# This file will extensively test some abilities of the web_object-framework.
|
12
|
+
#
|
13
|
+
# See the URL above to test it.
|
14
|
+
# =========================================================================== #
|
15
|
+
require 'cyberweb/autoinclude'
|
16
|
+
require 'verbose_truth/autoinclude'
|
17
|
+
|
18
|
+
english('Testing all tests in one page') {
|
19
|
+
css_style '
|
20
|
+
|
21
|
+
li {
|
22
|
+
color: black;
|
23
|
+
background-color: white;
|
24
|
+
}
|
25
|
+
|
26
|
+
ul {
|
27
|
+
color: black;
|
28
|
+
background-color: white;
|
29
|
+
}# frozen_string_literal: true
|
30
|
+
|
31
|
+
#resize_id_goes_here {
|
32
|
+
width: 150px; height: 150px;
|
33
|
+
padding: 0.5em;
|
34
|
+
}
|
35
|
+
|
36
|
+
#resize_id_goes_here h3 { text-align: center; color: green; margin: 0; }
|
37
|
+
|
38
|
+
'
|
39
|
+
# .focus_with_yellow_background:focus {
|
40
|
+
# background-color: yellow;
|
41
|
+
# color: black;
|
42
|
+
# }
|
43
|
+
# ^^^ no longer in use.
|
44
|
+
remote_css 'https://rawgit.com/bevacqua/dragula/master/dist/dragula.css'
|
45
|
+
set_favicon 'PC/HOW2DO_FAVICON.png' # Or: set_favicon :wings
|
46
|
+
# add_css_file '/sprockets.css' # Does not seem to exist.
|
47
|
+
body_css_class 'BG_Black White pad1px'
|
48
|
+
font_size :larger
|
49
|
+
# background_image :random # Not good if someone else can look at the laptop.
|
50
|
+
# background :scroll # Enable scrolling background.
|
51
|
+
# enable_scrolling # Enable background scrolling
|
52
|
+
# scrolling '+' # Enable background scrolling.
|
53
|
+
use 'jquery,utf,exceptions,squares,scrolling' # Scrolling is enabled here.
|
54
|
+
do_drag_all_images
|
55
|
+
predefine_squares
|
56
|
+
|
57
|
+
# =========================================================================== #
|
58
|
+
# The following constants require the earlier call to predefined_squares().
|
59
|
+
# =========================================================================== #
|
60
|
+
CSS_IMG = IMG_CSS = SQUARE_DARKGOLDENROD
|
61
|
+
IMG_JS = SQUARE_GREY
|
62
|
+
IMG_HTML = SQUARE_GREEN
|
63
|
+
IMG_XML = SQUARE_RED
|
64
|
+
DOT109 = dot(109)
|
65
|
+
|
66
|
+
doc('BG_White black mar0px pad0px') {
|
67
|
+
h1 'This website will try to test different aspects of the Cyberweb '\
|
68
|
+
'project, in particular when it is related to javascript and '\
|
69
|
+
'css as well.',
|
70
|
+
'martb1px'
|
71
|
+
# h1 'Showing an info box next:'
|
72
|
+
# add_info_box
|
73
|
+
e 'Hi there','mart1px'
|
74
|
+
div { h3 'Test1 - should appear normal' }
|
75
|
+
Div.set_css_class 'red' # Now all divs are red.
|
76
|
+
# Test2 - should be red, due to Div.set_css_class 'red'
|
77
|
+
div { h3 "Test2 - should be red, due to a prior call to Div.set_css_class 'red'" }
|
78
|
+
Div.clear
|
79
|
+
# Test3 - should be normal again, thanks to <b>Div.clear</b> above.
|
80
|
+
div { h3 'Test3 - should be normal again, thanks to <b>Div.clear</b>' }
|
81
|
+
div('marl1em') { h3 'Test4 (with marl1em)' }
|
82
|
+
Div.set_css_class 'blue'
|
83
|
+
div('marl3em') { h3 "Test5 - with marl3em and blue colour, "\
|
84
|
+
"specified via: Div.set_css_class 'blue'" }
|
85
|
+
Div.clear # And clear it again.
|
86
|
+
# ========================================================================= #
|
87
|
+
# A draggable Table
|
88
|
+
# ========================================================================= #
|
89
|
+
table2('BG_White s2em mar2px bblack3 marl5em',
|
90
|
+
'drag_TableRubyVariables','',
|
91
|
+
'$','global variable',
|
92
|
+
'@','instance variable',
|
93
|
+
'[a-z]','local variable',
|
94
|
+
'[A-Z]','constant'
|
95
|
+
)
|
96
|
+
# ========================================================================= #
|
97
|
+
# === A table with an Array as dataset
|
98
|
+
# ========================================================================= #
|
99
|
+
div('mar1em pad1em wid90 bblack3','','margin-top: 1.5em;'){
|
100
|
+
h3 'A table with an Array as dataset (passed via block)',
|
101
|
+
'darkblue mart5px'
|
102
|
+
table('mars1em','test_table1','border:1px solid rand') { %w(
|
103
|
+
this is a test table1 with every individual
|
104
|
+
entry becoming populated into the table
|
105
|
+
)}
|
106
|
+
spacer
|
107
|
+
h3 'A table with an Array as dataset but with 4 entries per row',
|
108
|
+
'darkblue mart5px'
|
109
|
+
table4('mars1em','test_table1','border:1px solid rand') { %w(
|
110
|
+
this is a test
|
111
|
+
table1 with every individual
|
112
|
+
entry becoming populated into
|
113
|
+
the fat table here
|
114
|
+
)}
|
115
|
+
}
|
116
|
+
spacer
|
117
|
+
br
|
118
|
+
# ========================================================================= #
|
119
|
+
# Table with a pink border. This currently (May 2021) does not work
|
120
|
+
# correctly.
|
121
|
+
# ========================================================================= #
|
122
|
+
e 'Next, the css-class will be set to <b>a pink border</b> (and 3 elements) -
|
123
|
+
this element can also be <b>dragged</b>.'
|
124
|
+
Table.set_css_class 'bblack5 pink_border3 marl2em mart1em'
|
125
|
+
table(Table.to_s, 'drag_test_table2','') { %w(
|
126
|
+
cat dog hamster
|
127
|
+
)}
|
128
|
+
br
|
129
|
+
# ========================================================================= #
|
130
|
+
# A table with 3 members and a random-coloured border.
|
131
|
+
# ========================================================================= #
|
132
|
+
e 'Next a table with <b>3 members</b> (<i>car</i>, <i>bus</i>, <i>plane</i>) and a
|
133
|
+
<b>8px random-colour border</b> - which can also be <b>dragged</b>.'
|
134
|
+
table('mars2em pad0_5em','drag_test_table3','border: 8px solid RANDOM_COLOUR') { %w(
|
135
|
+
car bus plane train ship boat
|
136
|
+
)}
|
137
|
+
br
|
138
|
+
Table.clear
|
139
|
+
# ========================================================================= #
|
140
|
+
# Simple table usage.
|
141
|
+
# ========================================================================= #
|
142
|
+
dataset = %w(
|
143
|
+
yo there how do you do this is another simple table without any fancy markup
|
144
|
+
)
|
145
|
+
e 'Next, a simple table usage with '+dataset.size.to_s+' elements:'
|
146
|
+
br
|
147
|
+
table { dataset }
|
148
|
+
br
|
149
|
+
Cyberweb.clear :div # Need to clear the <div> tag again.
|
150
|
+
div('mart1em') {
|
151
|
+
h2 'read_file_into_array()'
|
152
|
+
use_this_file = '../../doc/MOUSE.md'
|
153
|
+
e 'Next, as we are in the directory '+Dir.pwd+' we will also
|
154
|
+
demonstrate the method <b>read_file_into_array()</b>
|
155
|
+
on the file <b>'+use_this_file+'</b> - and we will also use a
|
156
|
+
<b>10px solid paleturquoise</b> border.'
|
157
|
+
target = File.expand_path(Dir.pwd+'/'+use_this_file)
|
158
|
+
array = File.readlines(target)
|
159
|
+
table('mars1em martb1em padt1em','test_table4','border: 10px solid paleturquoise') {
|
160
|
+
array
|
161
|
+
}
|
162
|
+
e 'Or alternatively with a <b>caption</b> on top:'
|
163
|
+
br
|
164
|
+
h3 target
|
165
|
+
table_with_caption(use_this_file,'mars1em mart1em padt1em','test_table4','border: 10px solid paleturquoise') {
|
166
|
+
array
|
167
|
+
}
|
168
|
+
}
|
169
|
+
br
|
170
|
+
# ========================================================================= #
|
171
|
+
# TD-padding to the left. We will hescape() the String.
|
172
|
+
# ========================================================================= #
|
173
|
+
result = hescape('Next, all <td> elements are ')+
|
174
|
+
"<b>padded to the left side</b>
|
175
|
+
via <b>Td.set_css_class 'padl3em'</b>."
|
176
|
+
br
|
177
|
+
e result.delete("\n")
|
178
|
+
Td.set_css_class 'padl3em'
|
179
|
+
table { %w(
|
180
|
+
yo there this time with modified td
|
181
|
+
)}
|
182
|
+
br
|
183
|
+
# ========================================================================= #
|
184
|
+
# Black border around each <td> element.
|
185
|
+
# ========================================================================= #
|
186
|
+
e hescape('The next table will show a black border around each
|
187
|
+
<td> element, by using the CSS class <b>bblack1</b>,')+'via <b>Td.set_css_class()</b>:'
|
188
|
+
br
|
189
|
+
Td.set_css_class 'bblack1'
|
190
|
+
table('mars2em') { %w(
|
191
|
+
yo there this time with modified td
|
192
|
+
)}
|
193
|
+
Td.clear
|
194
|
+
br
|
195
|
+
e htmlescape('Now we have reset <td> and we will use some border-spacing (10 pt):')
|
196
|
+
br
|
197
|
+
table('mars2em bspace10','','border:1px solid black') { %w( border-spacing def ghi jkl ) }
|
198
|
+
br
|
199
|
+
e htmlescape('To compare with, this is border-spacing with 1pt:')
|
200
|
+
br
|
201
|
+
table('mars2em bspace1','','border:1px solid black') { %w( border-spacing def ghi jkl ) }
|
202
|
+
hr
|
203
|
+
# ========================================================================= #
|
204
|
+
# Which CSS classes have been found:
|
205
|
+
# ========================================================================= #
|
206
|
+
h3 'Which <b>CSS classes</b> have we found in this file
|
207
|
+
`<b class="orange">'+__FILE__.to_s+'</b>`?'
|
208
|
+
spacer
|
209
|
+
report_which_css_classes_were_found
|
210
|
+
spacer
|
211
|
+
div { view_source 'bblack1' }
|
212
|
+
br
|
213
|
+
hr
|
214
|
+
div {
|
215
|
+
h3 'Now testing video stuff, from Project MultimediaParadise.'
|
216
|
+
youtube_embedder 'https://www.youtube.com/watch?v=7L6uEstbd9Y',
|
217
|
+
275 # This is the embedding part - as above but more width.
|
218
|
+
}
|
219
|
+
webobject_params? # Show the params.
|
220
|
+
br
|
221
|
+
br
|
222
|
+
e 'Next, we test JQuery - click on it:'
|
223
|
+
ejavascript '
|
224
|
+
$(\'html, body\').animate({
|
225
|
+
scrollTop: $(".middle").offset().top
|
226
|
+
}, 2000);'
|
227
|
+
div(:onhover){
|
228
|
+
h3 'Test onhover here'
|
229
|
+
}
|
230
|
+
e 'Now we will test some links.'
|
231
|
+
link 'Testing'
|
232
|
+
A.set_css_class 'bold red larger' # Style them red.
|
233
|
+
link 'Testing'
|
234
|
+
br
|
235
|
+
hr
|
236
|
+
br
|
237
|
+
e htmlescape('Ok testing pink colour for all <span> tags
|
238
|
+
next via Span.set_css_class().')
|
239
|
+
Span.set_css_class 'marl1em pink bold larger'
|
240
|
+
span 'yo there'
|
241
|
+
br
|
242
|
+
spacer # Dot tag
|
243
|
+
h3 'Next testing the various in-built dot() methods'
|
244
|
+
div('marl3em') {
|
245
|
+
(1..12).each {|number|
|
246
|
+
ee number
|
247
|
+
sg(('dot'+number.to_s).to_sym,'marr5px')
|
248
|
+
ee N
|
249
|
+
}
|
250
|
+
}
|
251
|
+
spacer
|
252
|
+
br
|
253
|
+
h2 'Testing MathML next'
|
254
|
+
e 'a to the power of 5 (via the method <b>power_to()</b>'
|
255
|
+
ee power_to('a', 5)
|
256
|
+
spacer
|
257
|
+
div {
|
258
|
+
h3 'Next testing the creation of fancy CSS boxes (this may require
|
259
|
+
Firefox, though):'
|
260
|
+
ee generate_coloured_box
|
261
|
+
ee generate_coloured_box '','','Welcome Roebe!'
|
262
|
+
ee generate_coloured_box '','','Roebe!','200px'
|
263
|
+
ee generate_coloured_box 'darkgreen','','Roebe!!!'
|
264
|
+
ee generate_coloured_box 'orange','','Roebe!!!','400px'
|
265
|
+
}
|
266
|
+
h3 'Testing customized tags next:'
|
267
|
+
ee process_content('<ud>What is going on?</ud> (← This should appear underlined.)')
|
268
|
+
br
|
269
|
+
h3 'Play a local audio file (Conan_RidersOfDoom.ogg):'
|
270
|
+
audio '/Conan_RidersOfDoom.ogg'
|
271
|
+
br
|
272
|
+
# ========================================================================= #
|
273
|
+
# Display a colour table next
|
274
|
+
# ========================================================================= #
|
275
|
+
h3 'Displaying a colour-table next (only 10 colours though)','pad5px','',
|
276
|
+
'border-left: 5px solid orange'
|
277
|
+
h5 'colour_table() is currently disabled, as of May 2021. It may be '\
|
278
|
+
're-enabled at a later time.'
|
279
|
+
# colour_table(
|
280
|
+
# { show: 10, css_style: 'width:40%; background-color: black; padding:1em; margin-left:3em' }
|
281
|
+
# )
|
282
|
+
br
|
283
|
+
spacer
|
284
|
+
e 'We will now test the various input tags.'
|
285
|
+
div('marl5em','input'){
|
286
|
+
h5 'input: <b>image</b>'
|
287
|
+
input :image
|
288
|
+
h5 'input: <b>button</b>'
|
289
|
+
input :button
|
290
|
+
h5 'input: <b>hidden</b>'
|
291
|
+
input :hidden
|
292
|
+
h5 'input: <b>submit</b>'
|
293
|
+
input :submit
|
294
|
+
h5 'input: <b>reset</b>'
|
295
|
+
input :reset
|
296
|
+
h5 'input: <b>text</b>'
|
297
|
+
input :text
|
298
|
+
h5 'input: <b>file_dialogue</b>'
|
299
|
+
input :file_dialogue
|
300
|
+
h5 'input: <b>file</b>'
|
301
|
+
e '<input type="file">'
|
302
|
+
}
|
303
|
+
br
|
304
|
+
h2 'Now testing embedded Javascript in an input field:'
|
305
|
+
#button 'Go Back From Whence You Came', on_click: 'go back in history'
|
306
|
+
h3 'This has been disabled for now (May 2021) - we need to re-enable it.'
|
307
|
+
# button 'Go Back From Whence You Came', on_click: 'go back in history'
|
308
|
+
# <input type="button" value="Go Back From Whence You Came!" onclick="history.back(-1)" />
|
309
|
+
br
|
310
|
+
# ========================================================================= #
|
311
|
+
# Testing the <input> tag next:
|
312
|
+
#
|
313
|
+
# .focus_with_yellow_background:focus is a CSS directive in this file
|
314
|
+
# here.
|
315
|
+
# ========================================================================= #
|
316
|
+
e html_ready('Next testing the <input> tag, first normal, then select-all
|
317
|
+
and then the same thing again but with input:focus and once more with
|
318
|
+
colour: deepskyblue and then with colour: salmon.')
|
319
|
+
Input.set_css_class "FS2em"
|
320
|
+
div('mars2em mart1em ind0px','input_testing'){ # rf cybertest input_testing
|
321
|
+
input :text, 'Hello world!'
|
322
|
+
input :text, 'Hello World! - select on click', :select_on_click
|
323
|
+
br
|
324
|
+
input :text, 'Hello world! - focus on yellow background', :focus_with_yellow_background
|
325
|
+
input :text, 'Hello World! - focus on yellow background and select on click', :focus_with_yellow_background, :select_on_click
|
326
|
+
br
|
327
|
+
input :text, 'Hello world! - focus with deepskyblue background', :focus_with_deepskyblue_background
|
328
|
+
input :text, 'Hello World! - focus with deepskyblue background and select on click', :focus_with_deepskyblue_background, :select_on_click
|
329
|
+
br
|
330
|
+
input :text, 'Hello world! - salmon background', :focus_with_salmon_background
|
331
|
+
input :text, 'Hello World!', :focus_with_salmon_background, :select_on_click
|
332
|
+
Input.clear # And clear it again.
|
333
|
+
# input(:text, 'Hello World!') { :select_on_click }
|
334
|
+
}
|
335
|
+
br
|
336
|
+
last_modified?
|
337
|
+
br
|
338
|
+
h2 'Next testing <b>RANDOM_BORDER_12PX</b>, in the div:'
|
339
|
+
div('mart1em pad1em','','RANDOM_BORDER_12PX') {
|
340
|
+
h3 hescape(
|
341
|
+
'This <div> here should have a random border, with a width of 12 pixel.'
|
342
|
+
)
|
343
|
+
}
|
344
|
+
div {
|
345
|
+
h2 'We will report which tag was last in use:'
|
346
|
+
report_which_tag_was_used_last 'marl2em'
|
347
|
+
h3 'We will report which tag was last in use:','','test_tag'
|
348
|
+
report_which_tag_was_used_last 'marl3em'
|
349
|
+
}
|
350
|
+
br
|
351
|
+
# ========================================================================= #
|
352
|
+
# The warning boxes will appear next.
|
353
|
+
# ========================================================================= #
|
354
|
+
spacer
|
355
|
+
h2 'Several warning boxes will appear next - they can be dragged:'
|
356
|
+
info_box 'Hi there how do you do','__drag__','','width:30%'
|
357
|
+
success_box 'Hi there how do you do','__drag__','','width:30%'
|
358
|
+
error_box 'Hi there how do you do','__drag__','','width:30%'
|
359
|
+
warning_box 'Hi there how do you do','__drag__','','width:30%'
|
360
|
+
spacer
|
361
|
+
br
|
362
|
+
spacer
|
363
|
+
div('bblack1 pad1em wid50','drag_one','background-color: white') { h2 'hello world!'}
|
364
|
+
br
|
365
|
+
p {
|
366
|
+
ee 'Hover here<span class="tooltip">Text</span>'
|
367
|
+
}
|
368
|
+
br
|
369
|
+
# ========================================================================= #
|
370
|
+
# === Testing xrandr
|
371
|
+
# ========================================================================= #
|
372
|
+
div {
|
373
|
+
e 'Testing xrandr:','larger'
|
374
|
+
spacer
|
375
|
+
result = `xrandr 2>&1`.to_s.chomp
|
376
|
+
pre(result)
|
377
|
+
spacer
|
378
|
+
}
|
379
|
+
field_with_legend 'Password','','field_with_legend' # http://localhost/PROGRAMMING_LANGUAGES/RUBY/src/web_object/test/tests.cgi#field_with_legend
|
380
|
+
e AUSRUFUNG+'Zum Einloggen benutzt man root/root'
|
381
|
+
cfieldset; drag :field_with_legend
|
382
|
+
# ========================================================================= #
|
383
|
+
# Show an embedded frame next:
|
384
|
+
# ========================================================================= #
|
385
|
+
embedded_frame :linux_cmd, width: '90%'
|
386
|
+
error_box 'Hi there how do you do ERROR', :drag,'','width:30%'
|
387
|
+
spacer
|
388
|
+
h2 'Will we use exceptions?'
|
389
|
+
lem verbose_truth(Cyberweb.use_exceptions?.to_s)
|
390
|
+
spacer
|
391
|
+
div {
|
392
|
+
e rating :one
|
393
|
+
e rating :two
|
394
|
+
e rating :three
|
395
|
+
e rating :four
|
396
|
+
e rating :five
|
397
|
+
}
|
398
|
+
e 'Some more tests:'
|
399
|
+
e Cyberweb.instance_variables
|
400
|
+
e Cyberweb.convert_umlaute
|
401
|
+
e Cyberweb.do_convert_umlaute
|
402
|
+
e Cyberweb.convert_umlaute
|
403
|
+
e Cyberweb.stag 'hi'
|
404
|
+
br
|
405
|
+
# ========================================================================= #
|
406
|
+
# Testing the popups (popup tag, popups tag). Disabled for now.
|
407
|
+
# popup 'Testing ...','1'
|
408
|
+
# popup 'Testing ...','2'
|
409
|
+
# popup 'Testing ...'
|
410
|
+
# ========================================================================= #
|
411
|
+
e 'There used to be some popups here, but they are disabled as of now. ^^^'
|
412
|
+
br
|
413
|
+
div('mar1em') {
|
414
|
+
e 'Now showing the environmental variables.'
|
415
|
+
spacer
|
416
|
+
e '(Disabled as of May 2021 - has to be re-enabled at a later time.)'
|
417
|
+
# display_environmental_variables
|
418
|
+
spacer
|
419
|
+
# ======================================================================= #
|
420
|
+
# Next we will show the configuration that we will use.
|
421
|
+
# ======================================================================= #
|
422
|
+
e 'Next we will show the <b>current configuration</b> in use for '+
|
423
|
+
'the Cyberweb project:'
|
424
|
+
br
|
425
|
+
# div('mars3em') { w.show_config }
|
426
|
+
spacer
|
427
|
+
}
|
428
|
+
br
|
429
|
+
e Cyberweb.escape_html('Next testing <quote> tag:')
|
430
|
+
quote 'Hello world!'
|
431
|
+
e 'Next testing dropdown()'
|
432
|
+
dropdown
|
433
|
+
br
|
434
|
+
h2 'Embedding a .pdf file next (disabled for now - it takes too long)','marb4px'
|
435
|
+
div('mars1_5em wid80') {
|
436
|
+
embed_pdf '../../../../../STUDIUM/EXAMS_RESULT/AAA_EXAM_RESULTS.pdf'
|
437
|
+
} if false
|
438
|
+
anm ' Also note that if you invoke any .cgi page via a
|
439
|
+
<b>?pdf</b> parameter, then it will be stored in a .pdf
|
440
|
+
file.'
|
441
|
+
br
|
442
|
+
abr 'SELF?pdf', content: 'SELF', css_class: 'darkblue BOLD mars2em'
|
443
|
+
spacer
|
444
|
+
e 'The logfile is stored at:'
|
445
|
+
lem2 '<b>'+Cyberweb.logfile?.to_s+'</b>'
|
446
|
+
spacer
|
447
|
+
# h2 'Now showing all the IDs that were found so far:'
|
448
|
+
# show_all_ids?
|
449
|
+
# spacer
|
450
|
+
# ========================================================================= #
|
451
|
+
# Dragula tag
|
452
|
+
# ========================================================================= #
|
453
|
+
h2 'Next testing Dragula'
|
454
|
+
div('BG_Black pad1em mars2em White'){
|
455
|
+
ee '
|
456
|
+
<ul>
|
457
|
+
<li>item 1</li>
|
458
|
+
<li>item 2</li>
|
459
|
+
<li>item 3</li>
|
460
|
+
<li>item 4</li>
|
461
|
+
<li>item 5</li>
|
462
|
+
<li>item 6</li>
|
463
|
+
<li>item 7</li>'
|
464
|
+
cul
|
465
|
+
}
|
466
|
+
ee "<div class='parent'>
|
467
|
+
<label for='hy'>Drag handles float your cruise?</label>
|
468
|
+
<div class='wrapper'>
|
469
|
+
<div id='left-lovehandles' class='container'>
|
470
|
+
<div><span class='handle'>+</span>Move me, but you can use the plus sign to drag me around.</div>
|
471
|
+
<div><span class='handle'>+</span>Note that <code>handle</code> element in the <code>moves</code> handler is just the original event target.</div>
|
472
|
+
</div>
|
473
|
+
<div id='right-lovehandles' class='container'>
|
474
|
+
<div><span class='handle'>+</span>This might also be useful if you want multiple children of an element to be able to trigger a drag event.</div>
|
475
|
+
<div><span class='handle'>+</span>You can also use the <code>moves</code> option to determine whether an element can be dragged at all from a container, <em>drag handle or not</em>.</div>
|
476
|
+
</div>
|
477
|
+
</div>
|
478
|
+
<code>
|
479
|
+
dragula([document.getElementById(left), document.getElementById(right)], {
|
480
|
+
moves: function (el, container, handle) {
|
481
|
+
return handle.className === 'handle';
|
482
|
+
}
|
483
|
+
});
|
484
|
+
</code>"
|
485
|
+
spacer
|
486
|
+
div {
|
487
|
+
h2 'Hide p tags, on click'
|
488
|
+
on_click_hide 'p'
|
489
|
+
ee '
|
490
|
+
<p>If you click on me, I will disappear.</p>
|
491
|
+
<p>Click me away!</p>
|
492
|
+
<p>Click me too!</p>'
|
493
|
+
}
|
494
|
+
div {
|
495
|
+
h2 'The Web Object'
|
496
|
+
pp Cyberweb.html_escape(web_object?)
|
497
|
+
spacer
|
498
|
+
pp web_object?.drag_all_images?
|
499
|
+
spacer
|
500
|
+
} if false # This can be re-enabled at a later time again.
|
501
|
+
e 'Testing some constants:'
|
502
|
+
e RUBY
|
503
|
+
e SQUARE_VIOLET if defined? SQUARE_VIOLET
|
504
|
+
br
|
505
|
+
snoweffect
|
506
|
+
br
|
507
|
+
# ========================================================================= #
|
508
|
+
# === Will we debug
|
509
|
+
# ========================================================================= #
|
510
|
+
div {
|
511
|
+
e 'Will we debug?'
|
512
|
+
e debug?.to_s
|
513
|
+
}
|
514
|
+
spacer
|
515
|
+
# ========================================================================= #
|
516
|
+
# === Show all greek letters
|
517
|
+
# ========================================================================= #
|
518
|
+
Cyberweb.show_greek_letters
|
519
|
+
spacer
|
520
|
+
# ========================================================================= #
|
521
|
+
# === Testing the SVG Addons (svg tag)
|
522
|
+
# ========================================================================= #
|
523
|
+
if Object.const_defined? :SvgParadise
|
524
|
+
h3 'Next we will test the SVG Paradise add-ons:'
|
525
|
+
ee Cyberweb.circle
|
526
|
+
ee Cyberweb.circle(colour: :blue)
|
527
|
+
ee Cyberweb.circle(colour: :teal)
|
528
|
+
ee Cyberweb.circle(colour: :teal, radius: 3)
|
529
|
+
ee Cyberweb.circle(colour: :yellow, radius: 3, stroke_width: 8)
|
530
|
+
br
|
531
|
+
spacer
|
532
|
+
h5 'The next SVG "image" should be draggable'
|
533
|
+
ee '<svg id="a_random_svg_image" height="125" width="125"> <circle fill="darkseagreen" /> </svg>'
|
534
|
+
drag :a_random_svg_image
|
535
|
+
end
|
536
|
+
# ========================================================================= #
|
537
|
+
# === Resizable
|
538
|
+
# ========================================================================= #
|
539
|
+
div('ui-widget-content','resize_id_goes_here') {
|
540
|
+
h3 'Testing a resizable widget','ui-widget-header s1em'
|
541
|
+
}
|
542
|
+
ee '
|
543
|
+
<b class="round_border1"></b>
|
544
|
+
<b class="round_border2"></b>
|
545
|
+
<b class="round_border3"></b>
|
546
|
+
<b class="round_border4"></b>
|
547
|
+
<div class="round_border_content">
|
548
|
+
<div>Round Border</div>
|
549
|
+
</div>
|
550
|
+
<b class="round_border4"></b>
|
551
|
+
<b class="round_border3"></b>
|
552
|
+
<b class="round_border2"></b>
|
553
|
+
<b class="round_border1"></b>
|
554
|
+
<br/>'
|
555
|
+
# ========================================================================= #
|
556
|
+
# === Test Table.alternate_backgrounds
|
557
|
+
# ========================================================================= #
|
558
|
+
e 'Next we try <b>Table.alternate_backgrounds</b>'
|
559
|
+
br
|
560
|
+
Table.alternate_backgrounds(%w( one two three four ), 'bblack1 pad0_5em')
|
561
|
+
Table.alternate_backgrounds(%w( one two three four ), 'bblack1')
|
562
|
+
Table.alternate_backgrounds(%w( one two three four ))
|
563
|
+
spacer
|
564
|
+
e sg(:sword)
|
565
|
+
spacer
|
566
|
+
div('mart1em') {
|
567
|
+
e 'Undurchsichtig:'
|
568
|
+
br
|
569
|
+
e ' opacity: 1.0;','css'
|
570
|
+
br
|
571
|
+
e 'Sehr durchsichtig:'
|
572
|
+
br
|
573
|
+
e ' opacity: 0.2;','css'
|
574
|
+
br
|
575
|
+
e 'Das kann man so anwenden:'
|
576
|
+
br
|
577
|
+
marl1em 'div { opacity: 1.0;}','css'
|
578
|
+
marl1em 'div:hover { opacity: 0.9;}','css'
|
579
|
+
br
|
580
|
+
e 'Beispiele hierzu:'
|
581
|
+
br
|
582
|
+
p('marl2em hover_test1') {
|
583
|
+
e 'With hover'
|
584
|
+
}
|
585
|
+
p('marl2em') {
|
586
|
+
e 'Without hover'
|
587
|
+
}
|
588
|
+
p('marl2em opa5_hover') {
|
589
|
+
e 'With hover again'
|
590
|
+
}
|
591
|
+
p('marl2em') {
|
592
|
+
e 'With javascript-hover this time',
|
593
|
+
javascript_code: 'onmouseover="this.style.background=\'lightblue\';"'
|
594
|
+
}
|
595
|
+
}
|
596
|
+
spacer
|
597
|
+
div {
|
598
|
+
e 'A background image can be modified like this, by
|
599
|
+
stating the path via <b>url()</b>:'
|
600
|
+
e IMG_CSS+'background-image:url("bilder\sonnenblume_blass.jpg");','css'
|
601
|
+
e IMG_CSS+'background-image: url("marble.gif") }','css'
|
602
|
+
e IMG_CSS+'background-image: url("../images/PC/MATRIX/MATRIX.png") ','css'
|
603
|
+
css_code 'background-repeat:no-repeat;'
|
604
|
+
css_code 'background-attachment:fixed;'
|
605
|
+
div('','','background-image: url(\"../../../../../../images/PC/MATRIX/MATRIX.png\")') {
|
606
|
+
h3 'Test'
|
607
|
+
}
|
608
|
+
}
|
609
|
+
spacer
|
610
|
+
# ========================================================================= #
|
611
|
+
# === CSS und pseudo-links
|
612
|
+
# ========================================================================= #
|
613
|
+
div {
|
614
|
+
h3 'CSS und pseudo-links'
|
615
|
+
e 'Die pseudo-classes kann man in Verbindung mit Klassen verwenden.'
|
616
|
+
br
|
617
|
+
e 'Beispiel:'
|
618
|
+
br
|
619
|
+
css_code ' a.nameofclass:hover { color: red; }'
|
620
|
+
}
|
621
|
+
spacer
|
622
|
+
ee '
|
623
|
+
<table>
|
624
|
+
<tr>
|
625
|
+
|
626
|
+
<td class="dark_background">
|
627
|
+
one
|
628
|
+
</td>
|
629
|
+
</tr>
|
630
|
+
|
631
|
+
<tr>
|
632
|
+
|
633
|
+
<td class="light_background">
|
634
|
+
two
|
635
|
+
</td>
|
636
|
+
</tr>
|
637
|
+
<tr>
|
638
|
+
|
639
|
+
<td class="dark_background">
|
640
|
+
three
|
641
|
+
</td>
|
642
|
+
</tr>
|
643
|
+
<tr>
|
644
|
+
|
645
|
+
<td class="light_background">
|
646
|
+
four
|
647
|
+
</td>
|
648
|
+
</tr>'
|
649
|
+
ctable
|
650
|
+
spacer
|
651
|
+
|
652
|
+
# ========================================================================= #
|
653
|
+
# Some links
|
654
|
+
# ========================================================================= #
|
655
|
+
div('mars1em mart1em pad0_5em','link_collection','border:1px darkgreen dotted') {
|
656
|
+
h2 sg(:random,'marr0_5em','drag_random')+'Some Links:'
|
657
|
+
div('padl1em mars2em smaller') {
|
658
|
+
ee sg(:pfeil_rechts,'marr5px')
|
659
|
+
abr :local_webmin,
|
660
|
+
content: 'SELF_ONLY_NAME'
|
661
|
+
ee sg(:pfeil_rechts,'marr5px')
|
662
|
+
abr 'testing_email.cgi',
|
663
|
+
content: 'Test the email part of the Cyberweb Project'
|
664
|
+
}
|
665
|
+
}
|
666
|
+
}}
|