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,427 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'cyberweb/web_object/javascript.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
require 'cyberweb/base/base.rb'
|
8
|
+
|
9
|
+
module Cyberweb
|
10
|
+
|
11
|
+
class WebObject < Base # === Cyberweb::WebObject
|
12
|
+
|
13
|
+
require 'cyberweb/toplevel_methods/jquery.rb'
|
14
|
+
require 'cyberweb/javascript/javascript.rb'
|
15
|
+
require 'cyberweb/toplevel_methods/html_comment.rb'
|
16
|
+
|
17
|
+
# ========================================================================= #
|
18
|
+
# === make_this_id_draggable
|
19
|
+
#
|
20
|
+
# Note that this will be guaranteed to always add the corresponding
|
21
|
+
# javascript code, which is different to javascript_drag_and_drop().
|
22
|
+
# ========================================================================= #
|
23
|
+
def make_this_id_draggable(this_id)
|
24
|
+
addnl(
|
25
|
+
::Cyberweb.return_javascript_drag_and_drop(this_id)
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
# ========================================================================= #
|
30
|
+
# === javascript_drag_and_drop
|
31
|
+
# ========================================================================= #
|
32
|
+
def javascript_drag_and_drop(i)
|
33
|
+
if use_jquery?
|
34
|
+
make_this_id_draggable(i)
|
35
|
+
end
|
36
|
+
end; alias drag_and_drop javascript_drag_and_drop # === drag_and_drop
|
37
|
+
alias drag_n_drop javascript_drag_and_drop # === drag_n_drop
|
38
|
+
alias drag_drop javascript_drag_and_drop # === drag_drop
|
39
|
+
alias drag javascript_drag_and_drop # === drag
|
40
|
+
alias add_javascript_drag javascript_drag_and_drop # === add_javascript_drag
|
41
|
+
alias drag_this javascript_drag_and_drop # === drag_this
|
42
|
+
alias enable_drag_for javascript_drag_and_drop # === enable_drag_for
|
43
|
+
alias drag_this_id javascript_drag_and_drop # === drag_this_id
|
44
|
+
|
45
|
+
# ========================================================================= #
|
46
|
+
# === this_jquery_version
|
47
|
+
#
|
48
|
+
# This method will always return the latest jquery version to use.
|
49
|
+
#
|
50
|
+
# It will query a toplevel method for this, rather than storing
|
51
|
+
# this internally.
|
52
|
+
# ========================================================================= #
|
53
|
+
def this_jquery_version
|
54
|
+
::Cyberweb.jquery_version? # Ought to be a String, always.
|
55
|
+
end; alias jquery_version? this_jquery_version # === jquery_version?
|
56
|
+
|
57
|
+
# ========================================================================= #
|
58
|
+
# === path_to_jquery_dir?
|
59
|
+
# ========================================================================= #
|
60
|
+
def path_to_jquery_dir?
|
61
|
+
::Cyberweb.path_to_jquery_dir?
|
62
|
+
end
|
63
|
+
|
64
|
+
# ========================================================================= #
|
65
|
+
# === return_jquery_string
|
66
|
+
#
|
67
|
+
# Since as of 21.09.2014 this method will return two .js files here.
|
68
|
+
#
|
69
|
+
# The version of jquery-ui is currently hardcoded.
|
70
|
+
#
|
71
|
+
# The latest version of jquery-ui can be viewed here:
|
72
|
+
#
|
73
|
+
# https://code.jquery.com/ui/
|
74
|
+
#
|
75
|
+
# ========================================================================= #
|
76
|
+
def return_jquery_string(
|
77
|
+
jquery_ui_version = Cyberweb.jquery_ui_version?
|
78
|
+
)
|
79
|
+
return ::Cyberweb.return_jquery_string(jquery_ui_version)
|
80
|
+
end; alias build_jquery_string return_jquery_string # === build_jquery_string
|
81
|
+
|
82
|
+
require 'cyberweb/javascript/drag_and_drop.rb'
|
83
|
+
# ========================================================================= #
|
84
|
+
# === drag_and_drop
|
85
|
+
# ========================================================================= #
|
86
|
+
def drag_and_drop(
|
87
|
+
this_id = 'drag_test'
|
88
|
+
)
|
89
|
+
if use_jquery?
|
90
|
+
addnl(
|
91
|
+
::Cyberweb.return_javascript_drag_and_drop(this_id)
|
92
|
+
)
|
93
|
+
end
|
94
|
+
end; alias drag drag_and_drop # === drag
|
95
|
+
alias enable_drag_for drag_and_drop # === enable_drag_for
|
96
|
+
alias drag_n_drop drag_and_drop # === drag_n_drop
|
97
|
+
alias drag_drop drag_and_drop # === drag_drop
|
98
|
+
alias add_javascript_drag drag_and_drop # === add_javascript_drag
|
99
|
+
|
100
|
+
# ========================================================================= #
|
101
|
+
# === update_the_body
|
102
|
+
#
|
103
|
+
# This method will update the content of the <body> tag, via javascript.
|
104
|
+
# ========================================================================= #
|
105
|
+
def update_the_body(with_this_content)
|
106
|
+
ejavascript'
|
107
|
+
document.body.innerHTML = "'+with_this_content+'"
|
108
|
+
'
|
109
|
+
end
|
110
|
+
|
111
|
+
# ========================================================================= #
|
112
|
+
# === ejavascript
|
113
|
+
#
|
114
|
+
# The name of this method indicates "echo javascript", mostly for
|
115
|
+
# historic/legacy reasons.
|
116
|
+
# ========================================================================= #
|
117
|
+
def ejavascript(i = '')
|
118
|
+
if i.is_a? Symbol
|
119
|
+
case i
|
120
|
+
# ===================================================================== #
|
121
|
+
# === :popup_open
|
122
|
+
# ===================================================================== #
|
123
|
+
when :popup_open
|
124
|
+
i = '
|
125
|
+
function popup_open(name_of_the_id = "popup_element") {
|
126
|
+
var popup = document.getElementById(name_of_the_id);
|
127
|
+
popup.classList.toggle("show");
|
128
|
+
}
|
129
|
+
'
|
130
|
+
end
|
131
|
+
end
|
132
|
+
addn(
|
133
|
+
return_javascript(i)
|
134
|
+
)
|
135
|
+
end; alias javascript ejavascript # === javascript
|
136
|
+
alias embed_javascript ejavascript # === embed_javascript
|
137
|
+
alias embed_this_javascript ejavascript # === embed_this_javascript
|
138
|
+
alias ejavascript_code ejavascript # === ejavascript_code
|
139
|
+
alias add_this_javascript_code ejavascript # === add_this_javascript_code
|
140
|
+
alias script ejavascript # === script
|
141
|
+
|
142
|
+
# ========================================================================= #
|
143
|
+
# === javascript_defer
|
144
|
+
#
|
145
|
+
# The point of defer is to indicate that a javascript-file will
|
146
|
+
# not be changing structure of the page as it is being executed.
|
147
|
+
#
|
148
|
+
# Note that the defer attribute is supported only for external
|
149
|
+
# script files; it is ignored for internal javascript code.
|
150
|
+
# ========================================================================= #
|
151
|
+
def javascript_defer(
|
152
|
+
use_this_source
|
153
|
+
)
|
154
|
+
addnl(
|
155
|
+
'<script defer src="'+use_this_source+'"></script>'
|
156
|
+
)
|
157
|
+
end
|
158
|
+
|
159
|
+
# ========================================================================= #
|
160
|
+
# === disable_right_click
|
161
|
+
# ========================================================================= #
|
162
|
+
def disable_right_click
|
163
|
+
addnl(
|
164
|
+
::Cyberweb.disable_right_click(:return_it)
|
165
|
+
)
|
166
|
+
end; alias no_right_click disable_right_click # === no_right_click
|
167
|
+
|
168
|
+
# ========================================================================= #
|
169
|
+
# === append_jquery_string
|
170
|
+
# ========================================================================= #
|
171
|
+
def append_jquery_string
|
172
|
+
if use_jquery?
|
173
|
+
append return_jquery_string
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
# ========================================================================= #
|
178
|
+
# === return_javascript
|
179
|
+
# ========================================================================= #
|
180
|
+
def return_javascript(i)
|
181
|
+
::Cyberweb.return_javascript(i)
|
182
|
+
end
|
183
|
+
|
184
|
+
# ========================================================================= #
|
185
|
+
# === use_jquery?
|
186
|
+
#
|
187
|
+
# This allows us to use jquery specifically.
|
188
|
+
# ========================================================================= #
|
189
|
+
def use_jquery?
|
190
|
+
@config['use_jquery']
|
191
|
+
end
|
192
|
+
|
193
|
+
# ========================================================================= #
|
194
|
+
# === javascript_file=
|
195
|
+
#
|
196
|
+
# A wrapper towards cyberweb.rb and javascript_file() method.
|
197
|
+
#
|
198
|
+
# Usage example:
|
199
|
+
#
|
200
|
+
# w.javascript_file = :fader
|
201
|
+
#
|
202
|
+
# ========================================================================= #
|
203
|
+
def javascript_file=(i)
|
204
|
+
@internal_hash[:javascript] << javascript_file(i)+N
|
205
|
+
end; alias link_in_javascript javascript_file= # === link_in_javascript
|
206
|
+
alias load_javascript javascript_file= # === load_javascript
|
207
|
+
|
208
|
+
require 'cyberweb/javascript/javascript_last_modified.rb'
|
209
|
+
# ========================================================================= #
|
210
|
+
# === javascript_last_modified
|
211
|
+
# ========================================================================= #
|
212
|
+
def javascript_last_modified(i = '')
|
213
|
+
addnl(
|
214
|
+
::Cyberweb.javascript_last_modified(i)
|
215
|
+
)
|
216
|
+
end
|
217
|
+
|
218
|
+
# ========================================================================= #
|
219
|
+
# === display_time
|
220
|
+
#
|
221
|
+
# Simply display the time.
|
222
|
+
# ========================================================================= #
|
223
|
+
def display_time(
|
224
|
+
in_what_format = :javascript,
|
225
|
+
css_style = ''
|
226
|
+
)
|
227
|
+
if in_what_format.is_a?(Hash) and in_what_format.has_key?(:css_style)
|
228
|
+
css_style = in_what_format.delete(:css_style)
|
229
|
+
in_what_format = :javascript
|
230
|
+
end
|
231
|
+
div('','clock',css_style) {
|
232
|
+
case in_what_format
|
233
|
+
# ===================================================================== #
|
234
|
+
# === :javascript
|
235
|
+
# ===================================================================== #
|
236
|
+
when :javascript, :default
|
237
|
+
return_javascript "updateClock(); setInterval('updateClock()', 1000 )"
|
238
|
+
when :ruby
|
239
|
+
e Time.now.strftime('%H:%M:%S')
|
240
|
+
end
|
241
|
+
}
|
242
|
+
end
|
243
|
+
|
244
|
+
# ========================================================================= #
|
245
|
+
# === show_cheerleader
|
246
|
+
#
|
247
|
+
# Shows an ASCII cheerleader.
|
248
|
+
# ========================================================================= #
|
249
|
+
def show_cheerleader(
|
250
|
+
path_to_cheerleader_file = Cyberweb.path_to_data?+'CODE/javascript/cheerleader.js'
|
251
|
+
)
|
252
|
+
filename = 'cheerleader.js'
|
253
|
+
_ = path_to_cheerleader_file
|
254
|
+
_ << filename unless _[-filename.size, filename.size] == filename
|
255
|
+
load_javascript(_)
|
256
|
+
end
|
257
|
+
|
258
|
+
# ========================================================================= #
|
259
|
+
# === display_simple_clock
|
260
|
+
#
|
261
|
+
# This is a simpler clock variant.
|
262
|
+
# ========================================================================= #
|
263
|
+
def display_simple_clock(
|
264
|
+
optional_css_class = ''
|
265
|
+
)
|
266
|
+
ee '<p id="id_for_the_simple_clock_timer" class="'+optional_css_class.to_s+'"></p>'
|
267
|
+
addnl(
|
268
|
+
return_javascript '
|
269
|
+
simple_clock_timer();
|
270
|
+
var timer = setInterval(function() {
|
271
|
+
simple_clock_timer();
|
272
|
+
}, 1000);
|
273
|
+
|
274
|
+
function return_formatted_time() {
|
275
|
+
var d = new Date();
|
276
|
+
var formatted_time = ("0"+d.getHours()).slice(-2)+":"+
|
277
|
+
("0"+d.getMinutes()).slice(-2)+":"+
|
278
|
+
("0"+d.getSeconds()).slice(-2);
|
279
|
+
return formatted_time;
|
280
|
+
}
|
281
|
+
|
282
|
+
function simple_clock_timer() {
|
283
|
+
document.getElementById("id_for_the_simple_clock_timer").innerHTML = return_formatted_time();
|
284
|
+
}
|
285
|
+
'
|
286
|
+
)
|
287
|
+
end
|
288
|
+
|
289
|
+
# ========================================================================= #
|
290
|
+
# === chmod_displayer
|
291
|
+
# ========================================================================= #
|
292
|
+
def chmod_displayer(i = :default)
|
293
|
+
addnl(
|
294
|
+
::Cyberweb.chmod_displayer(i)
|
295
|
+
)
|
296
|
+
end
|
297
|
+
|
298
|
+
require 'cyberweb/javascript/javascript.rb'
|
299
|
+
# ========================================================================= #
|
300
|
+
# === sanitize_javascript
|
301
|
+
# ========================================================================= #
|
302
|
+
def sanitize_javascript(i)
|
303
|
+
::Cyberweb.sanitize_javascript(i)
|
304
|
+
end
|
305
|
+
|
306
|
+
# ========================================================================= #
|
307
|
+
# === javascript_script=
|
308
|
+
#
|
309
|
+
# This method assigns to the @javascript variable. We expect it to
|
310
|
+
# hold strings related to javascript-code.
|
311
|
+
# ========================================================================= #
|
312
|
+
def javascript_script=(i)
|
313
|
+
if @internal_hash[:javascript].frozen?
|
314
|
+
@internal_hash[:javascript] = @internal_hash[:javascript].dup
|
315
|
+
end
|
316
|
+
@internal_hash[:javascript] << return_javascript(i) # Tap into javascript/ subdirectory.
|
317
|
+
end; alias javascript_in_head_tag javascript_script= # === javascript_in_head_tag
|
318
|
+
|
319
|
+
# ========================================================================= #
|
320
|
+
# === return_default_javascript
|
321
|
+
# ========================================================================= #
|
322
|
+
def return_default_javascript(
|
323
|
+
i = ::Cyberweb.converted_path_to_data
|
324
|
+
)
|
325
|
+
::Cyberweb.return_default_javascript(i)
|
326
|
+
end
|
327
|
+
|
328
|
+
# ========================================================================= #
|
329
|
+
# === javascript?
|
330
|
+
# ========================================================================= #
|
331
|
+
def javascript?
|
332
|
+
@internal_hash[:javascript]
|
333
|
+
end
|
334
|
+
|
335
|
+
require 'cyberweb/javascript/on_click_change_opacity.rb'
|
336
|
+
# ========================================================================= #
|
337
|
+
# === on_click_make_darker
|
338
|
+
# ========================================================================= #
|
339
|
+
def on_click_make_darker(this_id, opacity = '0.90')
|
340
|
+
addn(
|
341
|
+
::Cyberweb.on_click_make_darker(this_id, opacity)
|
342
|
+
)
|
343
|
+
end
|
344
|
+
|
345
|
+
# ========================================================================= #
|
346
|
+
# === enable_jquery_for_every_page?
|
347
|
+
#
|
348
|
+
# Determine whether we are using jquery for every page.
|
349
|
+
# ========================================================================= #
|
350
|
+
def enable_jquery_for_every_page?
|
351
|
+
@config['enable_jquery_for_every_page']
|
352
|
+
end
|
353
|
+
|
354
|
+
# ========================================================================= #
|
355
|
+
# === jquery
|
356
|
+
#
|
357
|
+
# An alias to enabling the use of jquery on a website, through the
|
358
|
+
# method call do_use_jquery().
|
359
|
+
# ========================================================================= #
|
360
|
+
def jquery(i = '+')
|
361
|
+
i = i.to_s # We definitely do want a String here.
|
362
|
+
do_use_jquery if i == '+'
|
363
|
+
end
|
364
|
+
|
365
|
+
# ========================================================================= #
|
366
|
+
# === report_the_jquery_version_in_use
|
367
|
+
# ========================================================================= #
|
368
|
+
def report_the_jquery_version_in_use
|
369
|
+
e 'The jquery version in use is '\
|
370
|
+
'<b>'+this_jquery_version.to_s+'</b>.'
|
371
|
+
end
|
372
|
+
|
373
|
+
# ========================================================================= #
|
374
|
+
# === do_we_use_jquery?
|
375
|
+
#
|
376
|
+
# This method can be used to report whether a particular web-object
|
377
|
+
# makes use of jquery or whether it does not.
|
378
|
+
# ========================================================================= #
|
379
|
+
def do_we_use_jquery?
|
380
|
+
e "Does this web_object make use of jquery? #{use_jquery?}"
|
381
|
+
end; alias report_whether_this_webobject_makes_use_of_jquery do_we_use_jquery? # === report_whether_this_webobject_makes_use_of_jquery
|
382
|
+
alias report_use_jquery? do_we_use_jquery? # === report_use_jquery?
|
383
|
+
alias jquery_is_used? do_we_use_jquery? # === jquery_is_used?
|
384
|
+
|
385
|
+
# ========================================================================= #
|
386
|
+
# === do_use_jquery
|
387
|
+
#
|
388
|
+
# Use this method to enable jquery support.
|
389
|
+
#
|
390
|
+
# I recommend to use this method, rather than use_jquery, but if
|
391
|
+
# you want to be lazy, feel free to use either variant. I just
|
392
|
+
# think that the explicit "do_" implies an action, which I
|
393
|
+
# think is more logical.
|
394
|
+
# ========================================================================= #
|
395
|
+
def do_use_jquery
|
396
|
+
@config['use_jquery'] = true # Do a batch-assignment here.
|
397
|
+
end; alias use_jquery do_use_jquery # === use_jquery
|
398
|
+
alias enable_drag do_use_jquery # === enable_drag
|
399
|
+
alias enable_jquery do_use_jquery # === enable_jquery
|
400
|
+
|
401
|
+
# ========================================================================= #
|
402
|
+
# === jquery_resizable_via_the_mouse
|
403
|
+
#
|
404
|
+
# This method can be used to resize an element via the mouse.
|
405
|
+
# ========================================================================= #
|
406
|
+
def jquery_resizable_via_the_mouse(
|
407
|
+
hash_or_string = { id: :resizable_via_the_mouse }
|
408
|
+
)
|
409
|
+
if hash_or_string and hash_or_string.is_a?(Hash) and
|
410
|
+
hash_or_string.has_key?(:id)
|
411
|
+
hash_or_string = hash_or_string[:id].to_s
|
412
|
+
end
|
413
|
+
ejavascript '$( function() {
|
414
|
+
$("#'+hash_or_string.to_s+'").resizable();
|
415
|
+
} );'
|
416
|
+
end
|
417
|
+
|
418
|
+
# ========================================================================= #
|
419
|
+
# === no_jquery
|
420
|
+
#
|
421
|
+
# Do not use jquery. This is the default.
|
422
|
+
# ========================================================================= #
|
423
|
+
def no_jquery
|
424
|
+
@config['use_jquery'] = false
|
425
|
+
end
|
426
|
+
|
427
|
+
end; end
|
@@ -0,0 +1,172 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# The typical layout of a .html page should be similar to this:
|
6
|
+
#
|
7
|
+
# <!DOCTYPE html>
|
8
|
+
# <html lang="en">
|
9
|
+
# <head>
|
10
|
+
# <meta charset="utf-8"/>
|
11
|
+
#
|
12
|
+
# =========================================================================== #
|
13
|
+
# require 'cyberweb/web_object/languages.rb'
|
14
|
+
# =========================================================================== #
|
15
|
+
require 'cyberweb/base/base.rb'
|
16
|
+
|
17
|
+
module Cyberweb
|
18
|
+
|
19
|
+
class WebObject < Base # === Cyberweb::WebObject
|
20
|
+
|
21
|
+
# ========================================================================= #
|
22
|
+
# === german
|
23
|
+
# ========================================================================= #
|
24
|
+
def german(i = nil, &block)
|
25
|
+
add_doctype_then_html_start_tag_then_head_tag_then_charset
|
26
|
+
german_trinity
|
27
|
+
if i
|
28
|
+
set_title(i)
|
29
|
+
end
|
30
|
+
handle_these_calls(&block)
|
31
|
+
close_html_after_making_sure_that_the_body_tag_exists
|
32
|
+
end
|
33
|
+
|
34
|
+
# ========================================================================= #
|
35
|
+
# === english (english tag)
|
36
|
+
# ========================================================================= #
|
37
|
+
def english(i = nil, &block)
|
38
|
+
add_doctype_then_html_start_tag_then_head_tag_then_charset
|
39
|
+
english_trinity
|
40
|
+
if i
|
41
|
+
set_title(i)
|
42
|
+
end
|
43
|
+
handle_these_calls(&block)
|
44
|
+
close_html_after_making_sure_that_the_body_tag_exists
|
45
|
+
end
|
46
|
+
|
47
|
+
# ========================================================================= #
|
48
|
+
# === language
|
49
|
+
#
|
50
|
+
# You can use this method to specify a certain language in order to
|
51
|
+
# use for the given web page. I tend to use this to remind myself
|
52
|
+
# in which language I shall write a web-page in, e. g. usually
|
53
|
+
# either in german, or more commonly these days, in english.
|
54
|
+
#
|
55
|
+
# Invocation example:
|
56
|
+
#
|
57
|
+
# language :english
|
58
|
+
#
|
59
|
+
# ========================================================================= #
|
60
|
+
def language(
|
61
|
+
which_language = nil
|
62
|
+
)
|
63
|
+
case which_language
|
64
|
+
# ======================================================================= #
|
65
|
+
# === eng
|
66
|
+
# ======================================================================= #
|
67
|
+
when 'eng','e','en','default'
|
68
|
+
which_language = 'english'
|
69
|
+
# ======================================================================= #
|
70
|
+
# === ger
|
71
|
+
# ======================================================================= #
|
72
|
+
when 'ger','g','ge','german','deutsch'
|
73
|
+
which_language = 'german'
|
74
|
+
end
|
75
|
+
@internal_hash[:language] = which_language.to_s # Will be kept as a String.
|
76
|
+
end
|
77
|
+
|
78
|
+
# ========================================================================= #
|
79
|
+
# === german_unicode_and_jquery
|
80
|
+
#
|
81
|
+
# This convenience method will enable german language layout for a
|
82
|
+
# webpage, jquery-drag-and-drop support, as well as declare that
|
83
|
+
# the page at hand uses unicode characters (and thus needs support
|
84
|
+
# for unicode).
|
85
|
+
# ========================================================================= #
|
86
|
+
def german_unicode_and_jquery
|
87
|
+
do_use_jquery
|
88
|
+
german_trinity
|
89
|
+
end; alias german_unicode_jquery german_unicode_and_jquery # === german_unicode_jquery
|
90
|
+
alias use_jquery_german_and_unicode german_unicode_and_jquery # === german_unicode_and_jquery
|
91
|
+
|
92
|
+
# ========================================================================= #
|
93
|
+
# === english_unicode_and_jquery
|
94
|
+
# ========================================================================= #
|
95
|
+
def english_unicode_and_jquery
|
96
|
+
do_use_jquery
|
97
|
+
english_trinity
|
98
|
+
end
|
99
|
+
|
100
|
+
# ========================================================================= #
|
101
|
+
# === german_unicode
|
102
|
+
# ========================================================================= #
|
103
|
+
def german_unicode
|
104
|
+
use_german
|
105
|
+
use_unicode
|
106
|
+
end
|
107
|
+
|
108
|
+
# ========================================================================= #
|
109
|
+
# === use_english
|
110
|
+
# ========================================================================= #
|
111
|
+
def use_english # An easier shortcut.
|
112
|
+
language :english
|
113
|
+
end; alias do_use_english use_english # === english
|
114
|
+
|
115
|
+
# ========================================================================= #
|
116
|
+
# === german_trinity
|
117
|
+
#
|
118
|
+
# This variant specifically does NOT force the use of jquery since as
|
119
|
+
# of May 2021. If you want to force jquery, use the method
|
120
|
+
# called german_unicode_and_jquery() instead.
|
121
|
+
#
|
122
|
+
# Strictly speaking the word "trinity" is thus no longer correct, but
|
123
|
+
# for the time being it will be retained.
|
124
|
+
# ========================================================================= #
|
125
|
+
def german_trinity
|
126
|
+
german_unicode # This bundles "use_german" and "use_unicode".
|
127
|
+
add_html_comment("\nThis website is making use of german.\n")
|
128
|
+
add_relevant_meta_entries(:ignore_checks)
|
129
|
+
end; alias use_unicode_german_and_jquery german_trinity # === use_unicode_german_and_jquery
|
130
|
+
alias trinity_german german_trinity # === trinity_german
|
131
|
+
alias trinity german_trinity # === trinity
|
132
|
+
|
133
|
+
# ========================================================================= #
|
134
|
+
# === use_german
|
135
|
+
#
|
136
|
+
# This is an easier shortcut to designate that the current webpage
|
137
|
+
# makes use of the german language as part of its content primarily.
|
138
|
+
# ========================================================================= #
|
139
|
+
def use_german # An easier shortcut.
|
140
|
+
language :german
|
141
|
+
end
|
142
|
+
|
143
|
+
# ========================================================================= #
|
144
|
+
# === english_trinity
|
145
|
+
# ========================================================================= #
|
146
|
+
def english_trinity
|
147
|
+
do_use_english
|
148
|
+
use_unicode
|
149
|
+
add_html_comment("\nThis website is making use of english.\n")
|
150
|
+
add_relevant_meta_entries(:ignore_checks)
|
151
|
+
end; alias use_english_trinity english_trinity # === use_english_trinity
|
152
|
+
alias english_trinity english_trinity # === english_trinity
|
153
|
+
|
154
|
+
# ========================================================================= #
|
155
|
+
# === add_doctype_then_html_start_tag_then_head_tag_then_charset
|
156
|
+
#
|
157
|
+
# This must add a string-chain like:
|
158
|
+
#
|
159
|
+
# <!DOCTYPE html>
|
160
|
+
# <html lang="en">
|
161
|
+
# <head>
|
162
|
+
# <meta charset="utf-8"/>
|
163
|
+
#
|
164
|
+
# ========================================================================= #
|
165
|
+
def add_doctype_then_html_start_tag_then_head_tag_then_charset
|
166
|
+
add(DOCTYPE_HTML5)
|
167
|
+
add(Cyberweb.return_html_start) # html lang.
|
168
|
+
add(Cyberweb.return_head_start)
|
169
|
+
add(Cyberweb.return_utf_charset)
|
170
|
+
end
|
171
|
+
|
172
|
+
end; end
|