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
data/bin/cyberweb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# === Cyberweb
|
6
|
+
#
|
7
|
+
# Usage example:
|
8
|
+
#
|
9
|
+
# Cyberweb::CGI_Generator.new('test.cgi')
|
10
|
+
#
|
11
|
+
# =========================================================================== #
|
12
|
+
require 'cyberweb/commandline/commandline_interface.rb'
|
13
|
+
require 'cyberweb/generator/cgi.rb'
|
14
|
+
|
15
|
+
if __FILE__ == $PROGRAM_NAME
|
16
|
+
_ = ARGV.first
|
17
|
+
case _
|
18
|
+
when 'help','HELP','--help','show_help','h'
|
19
|
+
Cyberweb.show_help
|
20
|
+
when 'webrick','server','start','start_server','serve','s'
|
21
|
+
Cyberweb.start_server
|
22
|
+
else
|
23
|
+
Cyberweb.menu(_)
|
24
|
+
Cyberweb.generate_cgi(ARGV)
|
25
|
+
end
|
26
|
+
end # cyberweb
|
27
|
+
# cyberweb generate index.cgi
|
data/cyberweb.gemspec
ADDED
@@ -0,0 +1,119 @@
|
|
1
|
+
require 'cyberweb/version/version.rb'
|
2
|
+
require 'roebe'
|
3
|
+
|
4
|
+
Gem::Specification.new { |s|
|
5
|
+
|
6
|
+
s.name = 'cyberweb'
|
7
|
+
s.version = Cyberweb::VERSION
|
8
|
+
s.date = Time.now.strftime('%Y-%m-%d')
|
9
|
+
|
10
|
+
DESCRIPTION = <<-EOF
|
11
|
+
|
12
|
+
Cyberweb is a tool-set project for the www, including an incomplete
|
13
|
+
web "framework". The project attempts to explore different ideas,
|
14
|
+
so it has a somewhat medium-to-large size as-is.
|
15
|
+
|
16
|
+
As a project, cyberweb is quite far away from being complete or
|
17
|
+
reasonably finished - consider it more as a proof-of-concept
|
18
|
+
project than something that should be used in production.
|
19
|
+
|
20
|
+
The cyberweb project in its present state is not fully documented
|
21
|
+
either, which is unfortunate - the documentation will be
|
22
|
+
improved, until the 1.0 release will eventually be uploaded.
|
23
|
+
|
24
|
+
The project is used since many years years to augment
|
25
|
+
Ruby-CGI scripts. For these basic needs cyberweb works fairly well.
|
26
|
+
Since as of May 2021, sinatra is another option, so the cyberweb
|
27
|
+
project tries to adjust to different use cases.
|
28
|
+
|
29
|
+
While .cgi scripts are not that common to see in use past the year
|
30
|
+
2015, and admittedly nowhere as as flexible as sinatra or rails, I
|
31
|
+
consider .cgi scripts still to be extremely SIMPLE to use and I
|
32
|
+
appreciate simplicity. Compare a hello-world example in a .cgi
|
33
|
+
script with one in rails; in my opinion, the .cgi example is
|
34
|
+
simpler. I don't refer to the default cgi in ruby, though, which is
|
35
|
+
admittedly not so great - otherwise I would not have had a need
|
36
|
+
to create this project many years ago.
|
37
|
+
|
38
|
+
If you need a framework that is more sophisticated then it is
|
39
|
+
recommended to use sinatra and padrino.
|
40
|
+
|
41
|
+
For more information about the cyberweb project, please look at the
|
42
|
+
following link:
|
43
|
+
|
44
|
+
https://www.rubydoc.info/gems/cyberweb/
|
45
|
+
|
46
|
+
EOF
|
47
|
+
|
48
|
+
s.summary = DESCRIPTION
|
49
|
+
s.description = DESCRIPTION
|
50
|
+
|
51
|
+
s.authors = ['Robert A. Heiler']
|
52
|
+
s.email = Roebe.email?
|
53
|
+
s.files = Dir['**/*']
|
54
|
+
s.homepage = 'https://rubygems.org/gems/cyberweb'
|
55
|
+
s.licenses = 'MIT'
|
56
|
+
s.executables = ['cyberweb']
|
57
|
+
|
58
|
+
# ========================================================================= #
|
59
|
+
# Show this when a user installs this project.
|
60
|
+
# ========================================================================= #
|
61
|
+
s.post_install_message = <<-EOF
|
62
|
+
|
63
|
+
To use this web-related tool-set project, try:
|
64
|
+
|
65
|
+
require 'cyberweb/autoinclude'
|
66
|
+
|
67
|
+
A special object, @web_object aka w() aka Cyberweb.new() will
|
68
|
+
be created that holds all the dataset describing your app in
|
69
|
+
question.
|
70
|
+
|
71
|
+
The HTML content is available in the instance_variable @string,
|
72
|
+
and can be queried through the .string? method.
|
73
|
+
|
74
|
+
You can edit the configuration settings via either:
|
75
|
+
|
76
|
+
webobject edit
|
77
|
+
webobject --edit
|
78
|
+
|
79
|
+
For all available commandline options, do:
|
80
|
+
|
81
|
+
cyberweb --help
|
82
|
+
|
83
|
+
To generate a new .cgi file, do:
|
84
|
+
|
85
|
+
cyberweb test.cgi
|
86
|
+
|
87
|
+
The argument will become the name of the file, so the above command
|
88
|
+
will create the file test.cgi.
|
89
|
+
|
90
|
+
Also remember that you can add instructions ad-hoc while running
|
91
|
+
a .cgi page, such as foobar.cgi?disable_webimages would disable
|
92
|
+
webimages. You can view of source of any .cgi page by issuing
|
93
|
+
foobar.cgi?show_source - provided that this has been enabled
|
94
|
+
in the default configuration.
|
95
|
+
|
96
|
+
For more information, have a look at:
|
97
|
+
|
98
|
+
#{Cyberweb::URL_TO_THE_DOCUMENTATION}
|
99
|
+
|
100
|
+
EOF
|
101
|
+
|
102
|
+
# ========================================================================= #
|
103
|
+
# All dependencies will be listed next.
|
104
|
+
# ========================================================================= #
|
105
|
+
s.add_dependency 'colours'
|
106
|
+
s.add_dependency 'html_tags'
|
107
|
+
|
108
|
+
# ========================================================================= #
|
109
|
+
# External projects not written by me are listed past this point:
|
110
|
+
# ========================================================================= #
|
111
|
+
s.add_dependency 'coderay'
|
112
|
+
s.add_dependency 'kramdown'
|
113
|
+
s.add_dependency 'rack'
|
114
|
+
|
115
|
+
s.required_ruby_version = '>= '+Roebe.third_most_stable_version_of_ruby
|
116
|
+
s.required_rubygems_version = '>= '+Gem::VERSION
|
117
|
+
s.rubygems_version = '>= '+Gem::VERSION
|
118
|
+
|
119
|
+
}
|
data/doc/AUTHORS.md
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
The main author of the Cyberweb project is:
|
2
|
+
|
3
|
+
Robert A. Heiler
|
4
|
+
|
5
|
+
Various addons and components:
|
6
|
+
|
7
|
+
Matz and others:
|
8
|
+
|
9
|
+
They wrote the ruby-cgi main interface which has been updated
|
10
|
+
and integrated into this project in the year 2015, with a few
|
11
|
+
modifications. See the respective file for the copyright,
|
12
|
+
which essentially is a copy-paste of that license.
|
data/doc/CONVENTIONS.md
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# http://localhost/DATA/PROGRAMMING_LANGUAGES/RUBY/src/web_object/doc/CYBERWEB_TUTORIAL.cgi
|
6
|
+
# =========================================================================== #
|
7
|
+
# rf cyberweb_tutorial
|
8
|
+
# =========================================================================== #
|
9
|
+
require 'cyberweb/autoinclude'
|
10
|
+
require 'cyberweb/toplevel_methods/logo.rb'
|
11
|
+
|
12
|
+
english {
|
13
|
+
t 'SELF#NO_EXTENSION'
|
14
|
+
css_style :template1 # Is shorter.
|
15
|
+
favicon ::Cyberweb.logo?
|
16
|
+
body_css_class 's12px padt0px marpad1px VERDANAs'
|
17
|
+
body_css_style 'background-color: #d3d2d1;'
|
18
|
+
font_size '1.1em'
|
19
|
+
|
20
|
+
# =========================================================================== #
|
21
|
+
# === header
|
22
|
+
# =========================================================================== #
|
23
|
+
def header(i, use_this_css = '')
|
24
|
+
h3 sg(:pfeil5,'marr5px')+i,
|
25
|
+
use_this_css
|
26
|
+
end
|
27
|
+
|
28
|
+
doc('mart0px s0_5em') {
|
29
|
+
h2 sg(:blue_star,'marr6px')+'Cyberweb Tutorial'+
|
30
|
+
' <span class="smaller">('+return_date+')</span>'
|
31
|
+
le 'This Tutorial will demonstrate and highlight
|
32
|
+
capabilities of the <b class="ud">Cyberweb Framework</b>.'
|
33
|
+
br
|
34
|
+
header 'USAGE'+' <span class="smaller">(bl '+
|
35
|
+
::Cyberweb.absolute_path('USAGE')+')</span>','mart5px'
|
36
|
+
read_and_display 'USAGE.md','pad1em bigger' # bl USAGE
|
37
|
+
header 'README'
|
38
|
+
read_and_display 'README.md','pad1em','','font-size:1.4em'
|
39
|
+
header 'FEATURES'
|
40
|
+
read_and_display 'FEATURES.md','pad1em larger'
|
41
|
+
h4 'The logfile can be found here:'
|
42
|
+
e ::Cyberweb.logfile?
|
43
|
+
}}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# =========================================================================== #
|
2
|
+
# Welcome to Cybersprawl, the WebApp of WebObject.
|
3
|
+
# =========================================================================== #
|
4
|
+
|
5
|
+
Cybersprawl is a WebApp generator for ruby.
|
6
|
+
|
7
|
+
It is based on Cyberweb, which is a general web framework written
|
8
|
+
in Ruby.
|
9
|
+
|
10
|
+
Specific Features of Cybersprawl:
|
11
|
+
|
12
|
+
- It can use a SIMPLE templating language (for an example, look at
|
13
|
+
raw_data.raw)
|
14
|
+
|
15
|
+
IF you want to use a templating language at all that is.
|
16
|
+
|
17
|
+
Cybersprawl won't force anyone to use one if this is not wanted.
|
18
|
+
|
19
|
+
- Uses a simplified language, see foundation/foundation.rb. This is
|
20
|
+
based on my experience with the www. It is quite easy to use.
|
21
|
+
|
22
|
+
The reasoning behind is is that it is better to use an easier
|
23
|
+
language and let the computer do more work behind it.
|
24
|
+
|
25
|
+
- Describe your application in one central fashion and use flexible
|
26
|
+
components to add functionality to your application.
|
27
|
+
|
28
|
+
- Uses blogs, and blog components in an easy manner, including
|
29
|
+
Tumblelog-like behaviour.
|
30
|
+
|
31
|
+
- Use a Webmin-like system administration.
|
32
|
+
|
33
|
+
- Use "The Matrix" as a meeting point, "The Hub" as an IRC channel.
|
34
|
+
|
35
|
+
- Use graphics easily by providing access to "typical" images
|
36
|
+
(see ADMIN.cgi#std_images for a list of what is available)
|
37
|
+
|
38
|
+
- Use project collaboration (see at Basecamp to get an idea what
|
39
|
+
this means, i.e. IRC-like communication.)
|
40
|
+
|
41
|
+
- Provide bindings for many external components.
|
42
|
+
|
43
|
+
The javascript methods:
|
44
|
+
|
45
|
+
- Certain words are handled as instructional "keywords".
|
46
|
+
|
47
|
+
For instance, you can pass "on_click_select" and this will
|
48
|
+
be interpreted to have the following meaning:
|
49
|
+
|
50
|
+
"on click with your mouse, the whole text will be selected."
|
@@ -0,0 +1,13 @@
|
|
1
|
+
This file just contains some random ideas what/how to improve
|
2
|
+
the Cyberweb project in the long run. Sort of a "todo" list,
|
3
|
+
but without too much code (yet) to implement these ideas.
|
4
|
+
|
5
|
+
The entries will be kept listed via numbers, to make it
|
6
|
+
simpler to keep track of what has all been suggested so far:
|
7
|
+
|
8
|
+
-------------------------------------------------------------------------------
|
9
|
+
|
10
|
+
1) Add a method called "index" for subclasses that wish to
|
11
|
+
render content (e. g. html content) as view to the visitor.
|
12
|
+
Index is the method that may be called by default when
|
13
|
+
this class is served to the browser.
|
data/doc/JQUERY.md
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
Thanks to JQuery and its drag and drop support, you can enable
|
2
|
+
draggable elements based on the id of that element.
|
3
|
+
|
4
|
+
There are multiple ways to do this, as far as the Cyberweb
|
5
|
+
project is concerned.
|
6
|
+
|
7
|
+
Internally, cyberweb will look for the string instruction __drag__.
|
8
|
+
|
9
|
+
More generally, however, you can simply use the method drag() and
|
10
|
+
pass in the ID in question.
|
11
|
+
|
12
|
+
Let's show a specific usage example for the call to the drag() method:
|
13
|
+
|
14
|
+
First, create or define an id such a in this way:
|
15
|
+
|
16
|
+
div('','some_id_here')
|
17
|
+
|
18
|
+
or simpler
|
19
|
+
|
20
|
+
div(id: some_id_here)
|
21
|
+
|
22
|
+
Then:
|
23
|
+
|
24
|
+
drag :some_id_here
|
25
|
+
|
26
|
+
A slightly more readable variant may be this one here:
|
27
|
+
|
28
|
+
div(id: 'some_id_here')
|
29
|
+
drag :some_id_here
|
30
|
+
|
31
|
+
Whether to use Symbols or Strings does not matter - the Cyberweb
|
32
|
+
project will convert input if necessary.
|
33
|
+
|
34
|
+
One "advantage" of Symbols, aside from them requiring no new
|
35
|
+
instantiation of an object, unlike String objects, is that you
|
36
|
+
can save one character. This may appear hugely insignificant,
|
37
|
+
but if you have to type things one thousand times, using one
|
38
|
+
less character may make it simply easier to write and read
|
39
|
+
something such as:
|
40
|
+
|
41
|
+
enable :drag
|
42
|
+
|
43
|
+
As opposed to:
|
44
|
+
|
45
|
+
enable 'drag'
|
46
|
+
|
47
|
+
Which variant is nicer to read? I sort of prefer the first variant,
|
48
|
+
although the second one is not that much harder to read either.
|
49
|
+
It may be a tiny bit faster to write, though.
|
50
|
+
|
51
|
+
At any rate - the above shows that drag() expects the id, of the
|
52
|
+
HTML element in question.
|
53
|
+
|
54
|
+
In our example here, the ID of a div() aka a HTML <div> element. That
|
55
|
+
element will have a specific id, if you assigned one.
|
56
|
+
|
57
|
+
Also note that some alternative syntaxes to the above example exist.
|
58
|
+
|
59
|
+
For instance:
|
60
|
+
|
61
|
+
div(id: 'some_id_here')
|
62
|
+
drag :some_id_here
|
63
|
+
|
64
|
+
This may be easier to read. Note that this passes only one argument,
|
65
|
+
a Hash.
|
66
|
+
|
67
|
+
Another alternative to the above, rather than forcing you to pass in
|
68
|
+
the specific ID, you can simply point to the last id used, like by
|
69
|
+
doing this:
|
70
|
+
|
71
|
+
drag :last_id_used
|
72
|
+
drag :last_id
|
73
|
+
|
74
|
+
Since as of January 2015, it is also possible to enable drag-support
|
75
|
+
on-the-fly if the elements start with the string 'drag_', as
|
76
|
+
identifier to their ID elements.
|
77
|
+
|
78
|
+
This can happen like so, in the following two equivalent examples:
|
79
|
+
|
80
|
+
div('', 'drag_this_div')
|
81
|
+
div(id: 'drag_this_div')
|
82
|
+
|
83
|
+
You can see that these IDs start with the string 'drag_', which
|
84
|
+
will be used by Cyberweb as an identifier. Past this point,
|
85
|
+
the two div-elements can be dragged via the mouse. I use this
|
86
|
+
variant usually, even in the year 2021.
|
87
|
+
|
88
|
+
For Images, you can also use the following variant here:
|
89
|
+
|
90
|
+
img('foobar.png', 'drag_#NAME#')
|
91
|
+
|
92
|
+
This will use the name of the file in question.
|
93
|
+
|
94
|
+
Sometime later in 2015, I have also added this variant:
|
95
|
+
|
96
|
+
img 'foobar.png','', :drag
|
97
|
+
|
98
|
+
That means that you can pass the symbol :drag to the ID, which
|
99
|
+
means that we wish to drag this image.
|
100
|
+
|
101
|
+
Pick a variant that is fitting to your personal preference.
|
102
|
+
|
103
|
+
Note that since as of May 2015 you can also enable this through
|
104
|
+
the URL itself.
|
105
|
+
|
106
|
+
For instance, .cgi?use_jquery=1 means that we will enable
|
107
|
+
jquery, irrelevant over what value the configuration holds.
|
108
|
+
|
109
|
+
Examples for the latter:
|
110
|
+
|
111
|
+
http://localhost/MISC/ROEBE_TEMPEL.cgi?use_jquery=1
|
112
|
+
http://localhost/MISC/ROEBE_TEMPEL.cgi?use_jquery
|
113
|
+
|
114
|
+
You can enable or disable jquery through the configuration
|
115
|
+
file by the way.
|
116
|
+
|
117
|
+
Note that you can download jquery via this module method:
|
118
|
+
|
119
|
+
Cyberweb.download_latest_jquery
|
120
|
+
|
121
|
+
This will use wget and download into the current working
|
122
|
+
directory.
|
data/doc/MOUSE.md
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
Mouse
|
2
|
+
======
|
3
|
+
|
4
|
+
The Cyberweb project uses a small DSL for automated mouse input
|
5
|
+
in X11 - even though this is currently disabled.
|
6
|
+
|
7
|
+
In principle keyboard input can also be handled but this may
|
8
|
+
remain on a todo list.
|
9
|
+
|
10
|
+
Usage
|
11
|
+
-----
|
12
|
+
|
13
|
+
Presently, now Cyberweb only does mouse input.
|
14
|
+
|
15
|
+
The API will look like this:
|
16
|
+
|
17
|
+
Cyberweb::Mouse.move 200, 300 # puts the cursor at x: 200px, y: 300px
|
18
|
+
Cyberweb::Mouse.down # presses the primary mouse button
|
19
|
+
Cyberweb::Mouse.up # releases the primary mouse button
|
20
|
+
Cyberweb::Mouse.click # clicks with the primary mouse button
|
21
|
+
Cyberweb::Mouse.location # => [ 200, 300 ]
|
22
|
+
|
23
|
+
The first line can also accept a more explicit hash:
|
24
|
+
|
25
|
+
Cyberweb::Mouse.move x: 200, y: 300
|
26
|
+
|
27
|
+
Which is all well and good, but the more useful stuff looks like:
|
28
|
+
|
29
|
+
Cyberweb::Mouse.drag :from => [ 200, 300 ], :distance => [ 30, 60 ], :increments => 10 do
|
30
|
+
Cyberweb::Mouse.drag :distance => [ 80, 100 ] do
|
31
|
+
sleep 0.5
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
This may be quite useful if you use it in conjunction with Selenium-based
|
36
|
+
Javascript testing.
|
37
|
+
|
38
|
+
Complex movements such as a velocity-aware drag, or drag and drop between
|
39
|
+
multiple containers with timeouts, may be tested.
|
40
|
+
|
41
|
+
Requirements
|
42
|
+
------------
|
43
|
+
|
44
|
+
The mouse component will require `libxdo`. Libxdo is part of `xdotool`.
|
45
|
+
|
46
|
+
Details and installation instructions can be found at:
|
47
|
+
|
48
|
+
http://www.semicomplete.com/projects/xdotool/
|
49
|
+
|
50
|
+
Build instructions for Ubuntu:
|
51
|
+
|
52
|
+
$ sudo apt-get install xorg-dev
|
53
|
+
$ wget http://semicomplete.googlecode.com/files/xdotool-2.20100818.3004.tar.gz
|
54
|
+
$ tar xzvf xdotool*.tar.gz
|
55
|
+
$ cd xdotool-*
|
56
|
+
$ sudo make all install
|
57
|
+
|
58
|
+
Testing
|
59
|
+
-------
|
60
|
+
|
61
|
+
Cyberweb in a VM environment set up can be tested via Vagrant.
|
62
|
+
|
63
|
+
If you have Vagrant (https://www.vagrantup.com/) set up and running,
|
64
|
+
and you have the lucid32.box, you can just do:
|
65
|
+
|
66
|
+
cd test && vagrant up
|
67
|
+
|
68
|
+
Once your VM is provisioned and running, ssh in (`vagrant ssh`) and then:
|
69
|
+
|
70
|
+
startx &
|
71
|
+
cd ~/web_object/test
|
72
|
+
ruby web_object_test.rb
|
73
|
+
|
74
|
+
If you do not happen to have Vagrant set up, you can follow the getting
|
75
|
+
started guide at:
|
76
|
+
|
77
|
+
http://www.vagrantup.com/
|
78
|
+
|
79
|
+
or you can install the necessary dependencies on your local machine
|
80
|
+
and test locally.
|