cyberweb 0.4.174 → 0.5.225
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 +4 -4
- data/README.md +1782 -405
- data/bin/cyberweb_sanitize +10 -0
- data/bin/download_webpage +7 -0
- data/bin/html_to_cyberweb_converter +7 -0
- data/cyberweb.gemspec +25 -25
- data/doc/README.gen +1745 -383
- data/doc/USAGE.md +16 -16
- data/doc/{AUTHORS.md → authors.md} +0 -0
- data/doc/configuration/configuration.md +3 -1
- data/doc/deprecations.md +13 -7
- data/doc/{DOCUMENTATION_FOR_CYBERSPRAWL.md → documentation_for_cybersprawl.md} +7 -4
- data/doc/future_design_goals.md +33 -0
- data/doc/html_characters.md +7 -7
- data/doc/{JQUERY.md → jquery/jquery.md} +20 -12
- data/doc/{MOUSE.md → mouse.md} +1 -9
- data/doc/{RENDER_WEB_BASE.md → render_web_base.md} +11 -4
- data/doc/todo/todo_for_the_cyberweb_project.md +791 -0
- data/examples/advanced/animated_css_example/animated_css_example.html +47 -0
- data/examples/advanced/animated_submarine/animated_submarine.html +511 -0
- data/examples/advanced/animated_windmill/animated_windmill.html +468 -0
- data/examples/advanced/delayed_update_of_the_body_via_javascript.cgi +8 -5
- data/examples/advanced/draw_circle/draw_circle.cgi +36 -0
- data/examples/advanced/drop_shadow_examples.cgi +37 -0
- data/examples/advanced/games/snake/food.png +0 -0
- data/examples/advanced/games/snake/ground.png +0 -0
- data/examples/advanced/games/snake/snake.cgi +28 -0
- data/examples/advanced/games/tetris/tetris.cgi +7 -0
- data/examples/advanced/games/tetris/tetris.rb +17 -0
- data/examples/advanced/games/tetris/tetris.sinatra +58 -0
- data/examples/advanced/games/tic-tac-toe/tic-tac-toe.cgi +123 -0
- data/examples/advanced/get_some_coffee/get_some_coffee.html +293 -0
- data/examples/advanced/glow_on_hover_example/glow_on_hover_example.cgi +27 -0
- data/examples/advanced/hybrid_experiment.cgi +34 -12
- data/examples/advanced/images/global_css_rules_for_the_images.cgi +32 -0
- data/examples/advanced/larger_image_on_mouse_over_example.cgi +2 -2
- data/examples/advanced/no_right_click.cgi +4 -3
- data/examples/advanced/{objectified_html_tags.cgi → objectified_html_tags/objectified_html_tags.cgi} +12 -3
- data/examples/advanced/objectified_html_tags/testing_objectified_html_tags_with_the_webobject.cgi +28 -0
- data/examples/advanced/random_glow_effects.cgi +34 -0
- data/examples/advanced/select_everything_example/select_everything_example.cgi +25 -0
- data/examples/advanced/simple_calculator.cgi +13 -21
- data/examples/advanced/simple_form_example.cgi +11 -11
- data/examples/advanced/traffic_light/traffic_light.html +163 -0
- data/examples/advanced/weather_animation/weather_animation.html +560 -0
- data/examples/css/animated_3D_cube_example/animated_3D_cube_example.html +265 -0
- data/examples/css/animated_bird_example/animated_bird_example.html +207 -0
- data/examples/css/animated_desk_example/animated_desk_example.html +120 -0
- data/examples/css/animated_dog_example/animated_dog_example.html +432 -0
- data/examples/css/animated_submit_button.html +190 -0
- data/examples/css/animated_text_colour_change/animated_text_colour_change.html +41 -0
- data/examples/css/blue_border.html +3 -1
- data/examples/css/border_image_example/border_image_example.html +40 -0
- data/examples/css/box_shadow/box_shadow_example.html +18 -0
- data/examples/css/christmas_snow_globe_animation.html +596 -0
- data/examples/css/css_border_spacing_example.html +5 -5
- data/examples/css/css_bubbles.html +3 -1
- data/examples/css/css_checkboxes_example/css_checkboxes_example.html +110 -0
- data/examples/css/css_drag_and_drop.html +1 -5
- data/examples/css/css_grid_feline_style/css_grid_feline_style.html +161 -0
- data/examples/css/css_neon_glow_effects.html +1 -1
- data/examples/css/css_rotate_these_words.html +83 -0
- data/examples/css/css_text_decoration_example.html +7 -7
- data/examples/css/css_thermometer/css_thermometer.html +91 -0
- data/examples/css/{css_tooltip.html → css_tooltip/css_tooltip.html} +8 -6
- data/examples/css/css_typewriter_example/css_typewriter_example.html +226 -0
- data/examples/css/cyberweb_animated_logo/cyberweb_animated_logo.html +179 -0
- data/examples/css/daily_coffee/daily_coffee.html +1110 -0
- data/examples/css/different_colour_on_selected_text/different_colour_on_selected_text.html +31 -0
- data/examples/css/differentially_glowing_text_example/differentially_glowing_text_example.html +82 -0
- data/examples/css/fade_in_and_fade_out_effect.html +2 -2
- data/examples/css/flying_birds_example/flying_birds_example.html +171 -0
- data/examples/css/folding_cards_example/folding_cards_example.html +624 -0
- data/examples/css/font_size_examples.html +7 -5
- data/examples/css/glowing_on_hover_animation/glowing_on_hover_animation.html +90 -0
- data/examples/css/grow_example.html +31 -0
- data/examples/css/happy_toaster_example/happy_toaster_example.html +830 -0
- data/examples/css/landing_on_mars_animation/landing_on_mars_animation.html +374 -0
- data/examples/css/letter_spacing_example.cgi +18 -14
- data/examples/css/lighthouse_example/lighthouse_example.html +1161 -0
- data/examples/css/{meter_example.html → meter_example/meter_example.html} +0 -0
- data/examples/css/motorcycle_on_the_go/motorcycle_on_the_go.html +227 -0
- data/examples/css/on_hover_glow_effect/on_hover_glow_effect.html +50 -0
- data/examples/css/on_mouse_button_pressed.html +6 -4
- data/examples/css/our_solar_system/our_solar_system.html +441 -0
- data/examples/css/outline/outline_versus_border_example.html +57 -0
- data/examples/css/polaroid_card_effect_example/polaroid_card_effect_example.html +130 -0
- data/examples/css/responsive_image_gallery/responsive_image_gallery.html +97 -0
- data/examples/css/rotating_DNA/rotating_DNA.html +626 -0
- data/examples/css/rotating_sphere_example/rotating_sphere_example.html +112 -0
- data/examples/css/scale_example.html +4 -5
- data/examples/css/shadow_example_in_CSS/shadow_example_in_CSS.cgi +62 -0
- data/examples/css/shaking_shapes_example.html +133 -0
- data/examples/css/simple_stars_example/simple_stars_example.html +27 -0
- data/examples/css/slide_checkbox_example/slide_checkbox_example.html +564 -0
- data/examples/css/speak_bubble_quote_example/speak_bubble_quote_example.html +109 -0
- data/examples/css/speedy_truck_example/speedy_truck_example.html +168 -0
- data/examples/css/{sticky_div_example.html → sticky_div_example/sticky_div_example.html} +0 -0
- data/examples/css/stitched_div.html +9 -0
- data/examples/css/sun_and_clouds_animation/sun_and_clouds_animation.html +292 -0
- data/examples/css/talking_candles_example/talking_candles_example.html +550 -0
- data/examples/css/text_decoration_underline_example/text_decoration_underline_example.html +62 -0
- data/examples/css/this_is_a_cat/this_is_a_cat.html +219 -0
- data/examples/css/three_dots_indicating_page_loading.html +65 -0
- data/examples/css/user_select_example/user_select_example.html +24 -0
- data/examples/css/walking_cat/walking_cat.html +128 -0
- data/examples/css/water_wave_text_animation_effect/water_wave_text_animation_effect.html +86 -0
- data/examples/csv/README.md +2 -1
- data/examples/flip_card_example/flip_card_example.html +10 -3
- data/examples/games/README.md +3 -0
- data/examples/games/snake/images/food.png +0 -0
- data/examples/games/snake/images/ground.png +0 -0
- data/examples/games/snake/snake.html +16 -0
- data/examples/games/snake/snake.js +117 -0
- data/examples/games/tetris/smaller_tetris_game.html +518 -0
- data/examples/games/tetris/tetris.html +461 -0
- data/examples/games/tic-tac-toe/index.js +125 -0
- data/examples/games/tic-tac-toe/style.css +79 -0
- data/examples/games/tic-tac-toe/tic-tac-toe.html +39 -0
- data/examples/html/MathML/001_show_a_simple_quadratic_equation.html +22 -0
- data/examples/html/MathML/002_simple_equation.html +7 -0
- data/examples/html/MathML/003_function_of_example.html +17 -0
- data/examples/html/MathML/README.md +2 -0
- data/examples/html/abbr_example.html +2 -5
- data/examples/html/accordion/README.md +1 -0
- data/examples/html/accordion/accordion.html +56 -0
- data/examples/html/base64_image_example.html +8 -5
- data/examples/html/buttons_example.html +133 -0
- data/examples/html/canvas_drawing_example.html +54 -0
- data/examples/html/colour_wheel.html +441 -442
- data/examples/html/column_width_example.html +2 -2
- data/examples/html/custom_cursor.html +8 -5
- data/examples/html/cyberweb_logo/README.md +2 -0
- data/examples/html/cyberweb_logo/cyberweb_logo.html +11 -0
- data/examples/html/draggable_paragraph.html +1 -2
- data/examples/html/email_popup_example/email_popup_example.html +175 -0
- data/examples/html/fieldset_example.html +3 -1
- data/examples/html/font_examples/README.md +1 -0
- data/examples/html/font_examples/chancery_text.html +19 -0
- data/examples/html/font_examples/fantasy_text.html +19 -0
- data/examples/html/font_examples/georgia_text.html +19 -0
- data/examples/html/font_size_example/font_size_example.html +85 -0
- data/examples/html/glyph_example.html +0 -1
- data/examples/html/grayscale_filter_example/grayscale_filter_example.html +15 -0
- data/examples/html/html_links_example.html +61 -0
- data/examples/html/html_slider/html_slider.html +39 -0
- data/examples/html/input_autofocus_example.html +11 -7
- data/examples/html/input_placeholder_example.html +15 -0
- data/examples/html/larger_image_on_mouse_over_example.html +1 -1
- data/examples/html/ordered_and_unordered_bulletsin.html +4 -2
- data/examples/html/play_video_example.html +3 -2
- data/examples/html/remote_image_example.html +8 -2
- data/examples/html/select_everything_on_mouse_click_event.html +38 -0
- data/examples/html/selected_text_appears_in_another_colour_example.html +34 -0
- data/examples/html/send_email_hyperlink/send_email_hyperlink.html +8 -0
- data/examples/html/simple_unordered_list.html +3 -0
- data/examples/html/spinner_example/spinner.html +79 -0
- data/examples/html/table_with_header_example.html +26 -13
- data/examples/html/test_mkv_codec/test_mkv_codec.html +11 -0
- data/examples/html/two_columns_flex_example.html +4 -1
- data/examples/{javascript → javascript_and_jquery}/README.md +0 -0
- data/examples/{javascript → javascript_and_jquery}/arrays/arrays_example_in_javascript.html +0 -0
- data/examples/javascript_and_jquery/autocomplete_on_an_input_field/autocomplete_on_an_input_field.html +295 -0
- data/examples/javascript_and_jquery/change_the_background_colour_dynamically/change_the_background_colour_dynamically.html +41 -0
- data/examples/{javascript → javascript_and_jquery}/delay_example/delay_example.html +0 -0
- data/examples/{javascript → javascript_and_jquery}/drag_support/drag_support.html +0 -0
- data/examples/javascript_and_jquery/jquery_bubbling_header/bubbling_header.html +109 -0
- data/examples/{javascript → javascript_and_jquery}/jquery_drag_and_drop/drag_and_drop_image_example.html +0 -0
- data/examples/javascript_and_jquery/jquery_showcase/README.md +6 -0
- data/examples/javascript_and_jquery/jquery_showcase/jquery_001.cgi +23 -0
- data/examples/javascript_and_jquery/jquery_showcase/jquery_002.cgi +34 -0
- data/examples/javascript_and_jquery/jquery_showcase/jquery_003.cgi +24 -0
- data/examples/javascript_and_jquery/jquery_showcase/jquery_004.cgi +34 -0
- data/examples/javascript_and_jquery/on_change_event/on_change_event.html +29 -0
- data/examples/javascript_and_jquery/on_click_colour_change/on_click_colour_change.html +31 -0
- data/examples/javascript_and_jquery/on_click_display_random_number/on_click_display_random_number.html +43 -0
- data/examples/{javascript → javascript_and_jquery}/on_click_event_hello_world/on_click_event_hello_world.html +0 -0
- data/examples/javascript_and_jquery/on_mouse_wheel_event/on_mouse_wheel_event.html +37 -0
- data/examples/javascript_and_jquery/read_the_content_of_a_local_file/read_the_content_of_a_local_file.html +35 -0
- data/examples/{javascript → javascript_and_jquery}/rgb_to_hex/rgb_to_hex.html +0 -0
- data/examples/{javascript → javascript_and_jquery}/screen_resolution/screen_resolution.html +2 -1
- data/examples/{javascript → javascript_and_jquery}/select_everything/select_everything.html +1 -1
- data/examples/javascript_and_jquery/vue/README.md +1 -0
- data/examples/javascript_and_jquery/vue/showcasing_vue.html +80 -0
- data/examples/{javascript → javascript_and_jquery}/write_into_a_file/write_into_a_file.html +0 -0
- data/examples/rack/example_with_html_template.rb +5 -4
- data/examples/rack/example_with_rack_and_cyberweb_showing_how_to_use_images.rb +3 -2
- data/examples/rack/hello_world_example_with_rack.rb +3 -2
- data/examples/rack/lobster.rb +7 -5
- data/examples/rack/rack_env.rb +3 -3
- data/examples/{show_greek_letters.rb → show_greek_letters/show_greek_letters.rb} +0 -0
- data/examples/simple/input_example_with_coloured_focus.cgi +32 -0
- data/examples/simple/input_type_examples.cgi +51 -0
- data/examples/simple/on_click_event_hello_world.cgi +5 -5
- data/examples/simple/rotate_these_words.cgi +90 -0
- data/examples/{example1.rb → simple/show_how_to_set_a_title.rb} +0 -0
- data/examples/simple/simple_gradient.cgi +57 -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/REST/README.md +7 -0
- data/lib/cyberweb/REST/base/accept_entry.rb +94 -0
- data/lib/cyberweb/REST/base/application.rb +37 -0
- data/lib/cyberweb/REST/base/bad_request.rb +10 -0
- data/lib/cyberweb/REST/base/base.rb +1131 -0
- data/lib/cyberweb/REST/base/common_logger.rb +35 -0
- data/lib/cyberweb/REST/base/delegator.rb +75 -0
- data/lib/cyberweb/REST/base/error.rb +8 -0
- data/lib/cyberweb/REST/base/extended_rack.rb +66 -0
- data/lib/cyberweb/REST/base/helpers/helpers.rb +473 -0
- data/lib/cyberweb/REST/base/helpers/stream.rb +75 -0
- data/lib/cyberweb/REST/base/mime_type_entry.rb +67 -0
- data/lib/cyberweb/{constants/file_constants.rb → REST/base/not_found.rb} +10 -5
- data/lib/cyberweb/REST/base/request.rb +145 -0
- data/lib/cyberweb/REST/base/response.rb +94 -0
- data/lib/cyberweb/REST/base/templates/templates.rb +208 -0
- data/lib/cyberweb/REST/base/wrapper.rb +28 -0
- data/lib/cyberweb/{constants/nl.rb → REST/constants.rb} +8 -9
- data/lib/cyberweb/REST/main.rb +109 -0
- data/lib/cyberweb/REST/show_exceptions.rb +396 -0
- data/lib/cyberweb/and_sinatra_base.rb +0 -0
- data/lib/cyberweb/autoinclude.rb +0 -0
- data/lib/cyberweb/autoinclude_webobject.rb +0 -0
- data/lib/cyberweb/base/base.rb +9 -2
- data/lib/cyberweb/base/colours.rb +8 -6
- data/lib/cyberweb/base/constants.rb +8 -0
- data/lib/cyberweb/base/misc.rb +140 -53
- data/lib/cyberweb/base/save_file.rb +3 -0
- data/lib/cyberweb/base_module/base_module.rb +79 -0
- data/lib/cyberweb/cascading_style_sheets/admonition.css +0 -0
- data/lib/cyberweb/cascading_style_sheets/balloon.css +0 -0
- data/lib/cyberweb/cascading_style_sheets/border.css +107 -41
- data/lib/cyberweb/cascading_style_sheets/code.css +0 -0
- data/lib/cyberweb/cascading_style_sheets/colours.css +46 -23
- data/lib/cyberweb/cascading_style_sheets/css_reset.css +59 -0
- data/lib/cyberweb/cascading_style_sheets/cursors.css +14 -0
- data/lib/cyberweb/cascading_style_sheets/custom/animated_bike.css +199 -0
- data/lib/cyberweb/cascading_style_sheets/default.css +171 -136
- data/lib/cyberweb/cascading_style_sheets/div.css +18 -4
- data/lib/cyberweb/cascading_style_sheets/drop_shadow.css +154 -0
- data/lib/cyberweb/cascading_style_sheets/error_404_css_class.css +26 -0
- data/lib/cyberweb/cascading_style_sheets/fonts.css +60 -39
- data/lib/cyberweb/cascading_style_sheets/glow_effects.css +69 -0
- data/lib/cyberweb/cascading_style_sheets/gradient_effects.css +5 -0
- data/lib/cyberweb/cascading_style_sheets/hover.css +4212 -0
- data/lib/cyberweb/cascading_style_sheets/links.css +8 -8
- data/lib/cyberweb/cascading_style_sheets/margin.css +195 -178
- data/lib/cyberweb/cascading_style_sheets/menu.css +0 -0
- data/lib/cyberweb/cascading_style_sheets/message_boxes.css +0 -0
- data/lib/cyberweb/cascading_style_sheets/misc.css +51 -11
- data/lib/cyberweb/cascading_style_sheets/popup.css +0 -0
- data/lib/cyberweb/cascading_style_sheets/rpg.css +0 -0
- data/lib/cyberweb/cascading_style_sheets/ruby_regexes.css +12 -0
- data/lib/cyberweb/cascading_style_sheets/shapes.css +59 -0
- data/lib/cyberweb/cascading_style_sheets/template2.css +0 -0
- data/lib/cyberweb/cascading_style_sheets/text_shadow.css +21 -0
- data/lib/cyberweb/cascading_style_sheets/tooltip.css +0 -0
- data/lib/cyberweb/cgi/constants.rb +1 -2
- data/lib/cyberweb/cgi/exceptions.rb +1 -1
- data/lib/cyberweb/coloured_tags/coloured_tags.rb +1 -1
- data/lib/cyberweb/colours/colour_chart.rb +10 -56
- data/lib/cyberweb/colours/colours.rb +149 -4
- data/lib/cyberweb/commandline/commandline_interface.rb +13 -8
- data/lib/cyberweb/configuration/load_the_configuration_file.rb +1 -1
- data/lib/cyberweb/constants/constants.rb +592 -2
- data/lib/cyberweb/controller/{webobject_controller.rb → controller.rb} +1 -1
- data/lib/cyberweb/css_manager/css_manager.rb +237 -0
- data/lib/cyberweb/databases/sqlite.rb +56 -0
- data/lib/cyberweb/debug/debug.rb +1 -1
- data/lib/cyberweb/encoding/encoding.rb +11 -0
- data/lib/cyberweb/erb/test.rhtml +0 -0
- data/lib/cyberweb/erb/test_template.erb +0 -0
- data/lib/cyberweb/evaluate_from_the_same_named_file_then_serve.rb +1 -1
- data/lib/cyberweb/favicon/favicon.rb +8 -7
- data/lib/cyberweb/forum/README.md +4 -0
- data/lib/cyberweb/foto_gallery/foto_gallery.rb +158 -0
- data/lib/cyberweb/generator/README.md +2 -2
- data/lib/cyberweb/generator/cgi.rb +22 -9
- data/lib/cyberweb/generator/static_webpage.rb +22 -12
- data/lib/cyberweb/html_tags/README.md +3 -3
- data/lib/cyberweb/html_tags/button.rb +10 -2
- data/lib/cyberweb/html_tags/h2.rb +6 -4
- data/lib/cyberweb/html_tags/html_tags.rb +17 -1
- data/lib/cyberweb/html_tags/input.rb +10 -5
- data/lib/cyberweb/html_tags/legend.rb +1 -1
- data/lib/cyberweb/html_tags/span.rb +10 -2
- data/lib/cyberweb/html_tags/table.rb +30 -19
- data/lib/cyberweb/html_template/html_template.rb +248 -85
- data/lib/cyberweb/images/embed_this_image.rb +3 -1
- data/lib/cyberweb/images/images.rb +2 -2
- data/lib/cyberweb/images/is_image.rb +2 -1
- data/lib/cyberweb/images/path_to_images.rb +2 -1
- data/lib/cyberweb/images/remove_this_substring_from_all_images.rb +1 -1
- data/lib/cyberweb/images/standalone_drag_and_drop_this_image.rb +3 -3
- data/lib/cyberweb/images/string_image.rb +6 -3
- data/lib/cyberweb/images_base64_encoded/404_ERROR.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/AUSRUFUNGSZEICHEN.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/BLUEARROW.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/BUBBLE.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/CAT.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/CAUTION.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/CHEERING_PERSON.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/CURSOR.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/DOT_01.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/DUCKY.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/ELEPHANT.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/HALLOWEEN.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/HANGING_MONKEY.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/LENS.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/README.md +0 -0
- data/lib/cyberweb/images_base64_encoded/SIX_SIDED_DICE.png.md +1 -0
- data/lib/cyberweb/images_base64_encoded/TU_WIEN_LOGO.png.md +0 -0
- data/lib/cyberweb/images_base64_encoded/VOGEL.png.md +0 -0
- data/lib/cyberweb/javascript/drag_and_drop.rb +17 -14
- data/lib/cyberweb/javascript/javascript.rb +79 -34
- data/lib/cyberweb/javascript/javascript_clock.rb +50 -14
- data/lib/cyberweb/javascript/javascript_helper/javascript_helper.rb +59 -0
- data/lib/cyberweb/javascript/jquery.rb +9 -5
- data/lib/cyberweb/javascript/on_click_change_opacity.rb +5 -1
- data/lib/cyberweb/javascript/on_click_hide.rb +2 -0
- data/lib/cyberweb/javascript/popup.rb +5 -2
- data/lib/cyberweb/javascript/resize.rb +4 -1
- data/lib/cyberweb/javascript_code/README.md +1 -1
- data/lib/cyberweb/javascript_code/custom_functions.js +51 -25
- data/lib/cyberweb/javascript_code/disable_right_click.js +5 -0
- data/lib/cyberweb/javascript_code/games/snake.js +113 -0
- data/lib/cyberweb/javascript_code/games/tetris.js +491 -0
- data/lib/cyberweb/javascript_code/games/tic-tac-toe.js +125 -0
- data/lib/cyberweb/javascript_code/html_colours.js +161 -0
- data/lib/cyberweb/javascript_code/jquery/jquery-3.6.1.js +10909 -0
- data/lib/cyberweb/javascript_code/select_everything_on_mouse_click_event.js +23 -0
- data/lib/cyberweb/javascript_code/simple_calculator.js +3 -3
- data/lib/cyberweb/javascript_code/simulate_a_dice.js +20 -0
- data/lib/cyberweb/javascript_code/sleep.js +3 -0
- data/lib/cyberweb/mouse/mouse.rb +4 -1
- data/lib/cyberweb/objectified/html_tags/README.md +13 -0
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/a.rb +17 -35
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/abbr.rb +18 -9
- data/lib/cyberweb/objectified/html_tags/base.rb +960 -0
- data/lib/cyberweb/objectified/html_tags/blockquote.rb +106 -0
- data/lib/cyberweb/{objectified_html_tags/span.rb → objectified/html_tags/body.rb} +25 -20
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/button.rb +26 -34
- data/lib/cyberweb/objectified/html_tags/canvas.rb +202 -0
- data/lib/cyberweb/objectified/html_tags/cite.rb +103 -0
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/combobox.rb +26 -34
- data/lib/cyberweb/objectified/html_tags/div.rb +155 -0
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/embed.rb +18 -33
- data/lib/cyberweb/objectified/html_tags/fieldset.rb +107 -0
- data/lib/cyberweb/objectified/html_tags/figure.rb +152 -0
- data/lib/cyberweb/objectified/html_tags/form.rb +155 -0
- data/lib/cyberweb/objectified/html_tags/h1.rb +176 -0
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/h2.rb +32 -40
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/h3.rb +30 -42
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/h4.rb +30 -42
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/h5.rb +31 -40
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/h6.rb +31 -41
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/hbox.rb +12 -10
- data/lib/cyberweb/objectified/html_tags/head.rb +126 -0
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/img.rb +47 -32
- data/lib/cyberweb/objectified/html_tags/include_objectified_html_tags.rb +49 -0
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/input.rb +50 -51
- data/lib/cyberweb/objectified/html_tags/map.rb +107 -0
- data/lib/cyberweb/{objectified_html_tags/div.rb → objectified/html_tags/meta.rb} +36 -47
- data/lib/cyberweb/{objectified_html_tags/h1.rb → objectified/html_tags/object.rb} +34 -42
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/p.rb +17 -32
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/pre.rb +28 -34
- data/lib/cyberweb/{objectified_html_tags/table.rb → objectified/html_tags/progress.rb} +99 -94
- data/lib/cyberweb/objectified/html_tags/span.rb +103 -0
- data/lib/cyberweb/objectified/html_tags/table.rb +257 -0
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/textarea.rb +25 -36
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/title.rb +11 -17
- data/lib/cyberweb/{objectified_html_tags/form.rb → objectified/html_tags/ul.rb} +45 -42
- data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/window.rb +15 -10
- data/lib/cyberweb/objectified/mask/README.md +8 -0
- data/lib/cyberweb/objectified/mask/compatibility_to_html_tags.rb +40 -0
- data/lib/cyberweb/objectified/mask/mask.rb +490 -0
- data/lib/cyberweb/objectified/web_object/README.md +4 -0
- data/lib/cyberweb/objectified/web_object/web_object.rb +119 -0
- data/lib/cyberweb/predefined_and_freeform_methods/frage.rb +4 -2
- data/lib/cyberweb/predefined_and_freeform_methods/freeform_methods.rb +30 -19
- data/lib/cyberweb/predefined_and_freeform_methods/hash_registered_extra_tags.rb +6 -0
- data/lib/cyberweb/predefined_and_freeform_methods/header.rb +2 -0
- data/lib/cyberweb/predefined_and_freeform_methods/predefined_methods.rb +10 -175
- data/lib/cyberweb/project/project.rb +9 -4
- data/lib/cyberweb/rack/request.rb +11 -11
- data/lib/cyberweb/raw_images/404.png +0 -0
- data/lib/cyberweb/raw_images/500.png +0 -0
- data/lib/cyberweb/raw_images/README.md +2 -0
- data/lib/cyberweb/raw_images/a_dice.png +0 -0
- data/lib/cyberweb/raw_images/food.png +0 -0
- data/lib/cyberweb/raw_images/ground.png +0 -0
- data/lib/cyberweb/requires/require_generators.rb +1 -1
- data/lib/cyberweb/requires/require_html_tags_files.rb +1 -1
- data/lib/cyberweb/requires/require_javascript_files.rb +1 -1
- data/lib/cyberweb/requires/require_objectified_html_tags_files.rb +29 -3
- data/lib/cyberweb/requires/require_the_constants.rb +3 -1
- data/lib/cyberweb/requires/require_the_cyberweb_project.rb +12 -31
- data/lib/cyberweb/requires/require_the_toplevel_methods_files.rb +1 -1
- data/lib/cyberweb/requires/require_web_object_files.rb +1 -1
- data/lib/cyberweb/requires/require_yaml.rb +3 -3
- data/lib/cyberweb/rest +1 -0
- data/lib/cyberweb/route_handler/class_based_test.rb +43 -0
- data/lib/cyberweb/route_handler/module/misc.rb +108 -0
- data/lib/cyberweb/route_handler/module/route_handler_module.rb +215 -0
- data/lib/cyberweb/route_handler/module/verbs.rb +53 -0
- data/lib/cyberweb/route_handler/route_handler.rb +56 -0
- data/lib/cyberweb/route_handler/test.rb +43 -0
- data/lib/cyberweb/{constants/array_predefined_constants.rb → sinatra/base/set_use_this_port.rb} +16 -9
- data/lib/cyberweb/sinatra/base/use_this_port.rb +40 -0
- data/lib/cyberweb/sinatra/base.rb +51 -36
- data/lib/cyberweb/sinatra/custom_extensions.rb +39 -14
- data/lib/cyberweb/standalone_classes/all_css_classes.rb +1 -1
- data/lib/cyberweb/standalone_classes/calculator.rb +7 -1
- data/lib/cyberweb/standalone_classes/correct_image_entries_in_html_file.rb +12 -7
- data/lib/cyberweb/standalone_classes/turn_html_into_cyberweb.rb +13 -11
- data/lib/cyberweb/svg/standalone/README.md +2 -0
- data/lib/cyberweb/svg/standalone/amusement_park.svg +738 -0
- data/lib/cyberweb/svg/svg.cgi +2 -3
- data/lib/cyberweb/toplevel_methods/a.rb +2 -1
- data/lib/cyberweb/toplevel_methods/anmerkung.rb +3 -0
- data/lib/cyberweb/toplevel_methods/audio.rb +1 -1
- data/lib/cyberweb/toplevel_methods/bold.rb +9 -3
- data/lib/cyberweb/toplevel_methods/charsets.rb +17 -13
- data/lib/cyberweb/toplevel_methods/consider_serving_the_web_object.rb +3 -3
- data/lib/cyberweb/toplevel_methods/css.rb +719 -25
- data/lib/cyberweb/{csv → toplevel_methods}/csv.rb +5 -3
- data/lib/cyberweb/{constants/roebe.rb → toplevel_methods/custom_error_page.rb} +10 -10
- data/lib/cyberweb/toplevel_methods/{date.rb → date_and_time.rb} +23 -10
- data/lib/cyberweb/toplevel_methods/disable.rb +7 -3
- data/lib/cyberweb/toplevel_methods/dot.rb +2 -2
- data/lib/cyberweb/toplevel_methods/download_webpage.rb +41 -3
- data/lib/cyberweb/toplevel_methods/edit_configuration_file.rb +1 -1
- data/lib/cyberweb/toplevel_methods/fields.rb +2 -0
- data/lib/cyberweb/toplevel_methods/filename.rb +3 -1
- data/lib/cyberweb/toplevel_methods/frames.rb +0 -2
- data/lib/cyberweb/toplevel_methods/google.rb +52 -0
- data/lib/cyberweb/{html_codes → toplevel_methods}/greek_letters.rb +22 -1
- data/lib/cyberweb/toplevel_methods/hardware_information.rb +2 -1
- data/lib/cyberweb/{help → toplevel_methods}/help.rb +3 -2
- data/lib/cyberweb/toplevel_methods/html_comment.rb +2 -2
- data/lib/cyberweb/toplevel_methods/html_tables.rb +401 -266
- data/lib/cyberweb/toplevel_methods/internal_hash.rb +173 -0
- data/lib/cyberweb/{io → toplevel_methods}/io.rb +1 -1
- data/lib/cyberweb/toplevel_methods/javascript.rb +42 -0
- data/lib/cyberweb/toplevel_methods/jquery.rb +8 -0
- data/lib/cyberweb/toplevel_methods/last_modified.rb +4 -0
- data/lib/cyberweb/toplevel_methods/links.rb +23 -7
- data/lib/cyberweb/toplevel_methods/listing.rb +2 -1
- data/lib/cyberweb/toplevel_methods/localhost.rb +3 -0
- data/lib/cyberweb/toplevel_methods/markdown.rb +3 -2
- data/lib/cyberweb/toplevel_methods/mathml.rb +5 -3
- data/lib/cyberweb/toplevel_methods/message_boxes.rb +6 -2
- data/lib/cyberweb/toplevel_methods/misc.rb +531 -79
- data/lib/cyberweb/toplevel_methods/padlem_and_marlem.rb +3 -0
- data/lib/cyberweb/toplevel_methods/path.rb +6 -1
- data/lib/cyberweb/toplevel_methods/pdf.rb +1 -1
- data/lib/cyberweb/toplevel_methods/process_content.rb +4 -7
- data/lib/cyberweb/toplevel_methods/progress.rb +6 -2
- data/lib/cyberweb/toplevel_methods/quote.rb +7 -1
- data/lib/cyberweb/toplevel_methods/random.rb +4 -1
- data/lib/cyberweb/toplevel_methods/rds.rb +14 -6
- data/lib/cyberweb/toplevel_methods/read_and_display.rb +3 -2
- data/lib/cyberweb/toplevel_methods/return_head_start.rb +1 -1
- data/lib/cyberweb/toplevel_methods/return_html_fin.rb +6 -3
- data/lib/cyberweb/toplevel_methods/return_html_header.rb +8 -3
- data/lib/cyberweb/toplevel_methods/return_html_start.rb +7 -2
- data/lib/cyberweb/toplevel_methods/return_meta_collection.rb +15 -4
- data/lib/cyberweb/toplevel_methods/return_pwd.rb +4 -0
- data/lib/cyberweb/toplevel_methods/return_strict_doctype.rb +8 -7
- data/lib/cyberweb/toplevel_methods/roebe.rb +6 -0
- data/lib/cyberweb/toplevel_methods/s2.rb +3 -1
- data/lib/cyberweb/toplevel_methods/sanitize_url.rb +7 -5
- data/lib/cyberweb/toplevel_methods/sbr.rb +7 -7
- data/lib/cyberweb/toplevel_methods/server_base_directory.rb +7 -3
- data/lib/cyberweb/toplevel_methods/show_and_display.rb +15 -15
- data/lib/cyberweb/toplevel_methods/show_configuration.rb +2 -2
- data/lib/cyberweb/toplevel_methods/spacer.rb +5 -2
- data/lib/cyberweb/toplevel_methods/svg.rb +62 -4
- data/lib/cyberweb/toplevel_methods/tag.rb +8 -2
- data/lib/cyberweb/toplevel_methods/temp_directory.rb +2 -2
- data/lib/cyberweb/toplevel_methods/textile.rb +2 -2
- data/lib/cyberweb/toplevel_methods/title.rb +14 -2
- data/lib/cyberweb/toplevel_methods/video.rb +3 -4
- data/lib/cyberweb/toplevel_methods/write_what_into.rb +2 -0
- data/lib/cyberweb/utility_scripts/README.md +3 -4
- data/lib/cyberweb/utility_scripts/autogenerate_drop_shadow_rules/autogenerate_drop_shadow_rules.rb +71 -0
- data/lib/cyberweb/utility_scripts/create_standalone_html_page.rb +223 -0
- data/lib/cyberweb/utility_scripts/download_all_images_from_this_website.rb +143 -0
- data/lib/cyberweb/utility_scripts/download_balloon_css.rb +1 -1
- data/lib/cyberweb/utility_scripts/fix_incorrect_links_to_locally_existing_images_in_this_file.rb +142 -0
- data/lib/cyberweb/utility_scripts/html_to_cyberweb_converter.rb +235 -0
- data/lib/cyberweb/utility_scripts/images_to_html/images_to_html.rb +878 -0
- data/lib/cyberweb/utility_scripts/images_to_html/misc.rb +62 -0
- data/lib/cyberweb/utility_scripts/new_tags.rb +105 -0
- data/lib/cyberweb/utility_scripts/simple_index/README.md +9 -0
- data/lib/cyberweb/utility_scripts/simple_index/simple_index.rb +149 -0
- data/lib/cyberweb/version/version.rb +2 -2
- data/lib/cyberweb/vue/README.md +2 -0
- data/lib/cyberweb/vue/vue.rb +91 -0
- data/lib/cyberweb/web_images/array_listing_all_project_images.rb +1 -1
- data/lib/cyberweb/web_images/map_symbol_to_image_location.rb +60 -4
- data/lib/cyberweb/web_images/web_images.rb +37 -20
- data/lib/cyberweb/{constants/array_images.rb → web_object/display_output_and_report.rb} +11 -10
- data/lib/cyberweb/web_object/english.rb +55 -0
- data/lib/cyberweb/web_object/favicon.rb +103 -22
- data/lib/cyberweb/web_object/html_tags.rb +1433 -0
- data/lib/cyberweb/web_object/images.rb +428 -398
- data/lib/cyberweb/web_object/{javascript.rb → javascript_and_jquery.rb} +174 -276
- data/lib/cyberweb/web_object/{links.rb → link.rb} +185 -83
- data/lib/cyberweb/web_object/misc.rb +3934 -3928
- data/lib/cyberweb/web_object/reset.rb +153 -67
- data/lib/cyberweb/web_object/run.rb +1 -1
- data/lib/cyberweb/web_object/web_object.rb +3690 -49
- data/lib/cyberweb/web_scraper/scrape_this_url.rb +4 -2
- data/lib/cyberweb/webmin/biology_server.cgi +14 -15
- data/lib/cyberweb/webmin/calculator.cgi +2 -2
- data/lib/cyberweb/webmin/colour_chart.cgi +4 -5
- data/lib/cyberweb/webmin/comments.cgi +8 -7
- data/lib/cyberweb/webmin/comments_data +0 -0
- data/lib/cyberweb/webmin/constants.rb +1 -2
- data/lib/cyberweb/webmin/dictionary.cgi +3 -4
- data/lib/cyberweb/webmin/sys_info.cgi +1 -2
- data/lib/cyberweb/webmin/webforum.cgi +1 -2
- data/lib/cyberweb/webmin/webmin.cgi +2 -3
- data/lib/cyberweb/yaml/autogenerated_system_settings.yml +10 -10
- data/lib/cyberweb/yaml/custom_tags.yml +1 -1
- data/lib/cyberweb/yaml/html5_global_attributes.yml +5 -1
- data/lib/cyberweb/yaml/html_tag_legend.yml +2 -0
- data/lib/cyberweb/yaml/http_status_codes.yml +4 -1
- data/lib/cyberweb/yaml/load_these_yaml_files_by_default.yml +29 -0
- data/lib/cyberweb/yaml/project_configuration.yml +42 -31
- data/lib/cyberweb/yaml/video_attributes.yml +2 -0
- data/lib/cyberweb/yaml/web_images.yml +1 -1
- data/test/REST/simple.rb +7 -0
- data/test/complex_tests/simple_sinatra_example_using_cyberweb/simple.rb +1 -1
- data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.cgi +1 -1
- data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.rb +4 -4
- data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.sinatra +1 -2
- data/test/complex_tests/testing_frames.cgi +3 -5
- data/test/complex_tests/testing_objectified_html_tags/testing_objectified_html_tags.html +28 -0
- data/test/complex_tests/testing_objectified_html_tags/testing_objectified_html_tags.rb +175 -0
- data/test/complex_tests/testing_style_variants/show_coloured_boxes.cgi +11 -7
- data/test/complex_tests/testing_tables.cgi +3 -3
- data/test/complex_tests/testing_the_cyberweb_shell.rb +2 -0
- data/test/complex_tests/testing_web_object.rb +5 -2
- data/test/css/README.md +4 -3
- data/test/css/return_the_content_of_these_css_classes.rb +5 -1
- data/test/css/test_hover_css/test_hover_css.cgi +59 -0
- data/test/css/test_ordered_list/test_ordered_list.cgi +31 -0
- data/test/css/testing_css_effects.cgi +3 -4
- data/test/css/testing_css_masking.cgi +3 -4
- data/test/hello_world/hello_world.cgi +6 -4
- data/test/html_template/html_template.rb +15 -0
- data/test/javascript/testing_custom_functions.js +24 -0
- data/test/javascript/testing_drag_and_drop_support.cgi +1 -1
- data/test/javascript/testing_on_click_change_opacity.cgi +4 -5
- data/test/javascript/testing_snowflakes.cgi +2 -2
- data/test/simple_tests/ad-hoc-test.cgi +5 -2
- data/test/simple_tests/cgi/hello_world_with_cyberweb.cgi +14 -0
- data/test/simple_tests/commandline_tests.rb +21 -15
- data/test/simple_tests/display_this_file.cgi +2 -2
- data/test/simple_tests/simple_html_example.cgi +2 -1
- data/test/simple_tests/simple_html_test_page/simple_html_test_page.html +20 -0
- data/test/simple_tests/simple_status_page.cgi +2 -2
- data/test/simple_tests/string_s2_test.rb +5 -0
- data/test/simple_tests/test_simple_string_as_input.rb +3 -1
- data/test/simple_tests/testing_base64_images.cgi +3 -4
- data/test/simple_tests/testing_checkboxes.cgi +22 -0
- data/test/simple_tests/testing_dragging_an_image.cgi +5 -6
- data/test/simple_tests/testing_editable_text.cgi +2 -3
- data/test/simple_tests/testing_email.cgi +6 -7
- data/test/simple_tests/testing_embedding_a_pdf_file.cgi +5 -5
- data/test/simple_tests/testing_google_charts.cgi +3 -3
- data/test/simple_tests/testing_html_forms.cgi +3 -3
- data/test/simple_tests/testing_html_template.rb +2 -0
- data/test/simple_tests/testing_popup_div.cgi +2 -3
- data/test/simple_tests/testing_return_dataset_without_any_comments.rb +3 -1
- data/test/simple_tests/testing_the_cap_box.cgi +3 -4
- data/test/simple_tests/testing_the_div_tag.cgi +3 -4
- data/test/simple_tests/testing_the_headers_tag.cgi +3 -4
- data/test/simple_tests/testing_the_html_colours.cgi +2 -3
- data/test/simple_tests/testing_the_info_box.cgi +2 -3
- data/test/simple_tests/testing_the_li_tag.cgi +2 -1
- data/test/simple_tests/testing_the_s2_method.rb +6 -1
- data/test/simple_tests/testing_the_select_tag.cgi +16 -8
- data/test/simple_tests/testing_the_span_tag.cgi +2 -3
- data/test/simple_tests/testing_web_images.rb +4 -2
- data/test/testing_html_tags/button_example.cgi +6 -7
- metadata +345 -151
- data/doc/CONVENTIONS.md +0 -7
- data/doc/CYBERWEB_TUTORIAL.cgi +0 -43
- data/doc/FUTURE_DESIGN_GOAL_CONSIDERATIONS.md +0 -13
- data/doc/todo/TODO_FOR_THE_CYBERWEB_PROJECT.md +0 -1089
- data/examples/css/shadow_example_in_CSS.cgi +0 -30
- data/lib/cyberweb/charts/README.md +0 -2
- data/lib/cyberweb/charts/google_charts.rb +0 -51
- data/lib/cyberweb/colours/random_colour.rb +0 -28
- data/lib/cyberweb/colours/sanitize_for_colours.rb +0 -95
- data/lib/cyberweb/constants/array_local_css_files.rb +0 -35
- data/lib/cyberweb/constants/configuration_file.rb +0 -33
- data/lib/cyberweb/constants/http_status_codes.rb +0 -42
- data/lib/cyberweb/constants/project_constants.rb +0 -99
- data/lib/cyberweb/constants/standalone_constants.rb +0 -309
- data/lib/cyberweb/csv/README.md +0 -2
- data/lib/cyberweb/generator/webpage_for_images.rb +0 -553
- data/lib/cyberweb/html_codes/README.md +0 -15
- data/lib/cyberweb/images/real/README.md +0 -6
- data/lib/cyberweb/io/README.md +0 -1
- data/lib/cyberweb/javascript/scroll.rb +0 -17
- data/lib/cyberweb/objectified_html_tags/README.md +0 -8
- data/lib/cyberweb/objectified_html_tags/base.rb +0 -376
- data/lib/cyberweb/predefined_and_freeform_methods/hash_css_class_to_use.rb +0 -55
- data/lib/cyberweb/requires/require_charts.rb +0 -20
- data/lib/cyberweb/web_object/css.rb +0 -627
- data/lib/cyberweb/web_object/evaluate.rb +0 -126
- data/lib/cyberweb/web_object/html_related_tags.rb +0 -320
- data/lib/cyberweb/web_object/initialize.rb +0 -51
- data/lib/cyberweb/web_object/input_related_functionality.rb +0 -414
- data/lib/cyberweb/web_object/languages.rb +0 -172
- data/lib/cyberweb/web_object/params.rb +0 -289
- data/lib/cyberweb/web_object/sinatra_related_functionality.rb +0 -30
- data/lib/cyberweb/web_object/sitemap.rb +0 -176
- data/lib/cyberweb/web_object/table.rb +0 -378
- data/test/complex_tests/testing_objectified_html_tags.rb +0 -82
- data/test/javascript/testing_cheerleader_javascript.cgi +0 -0
@@ -0,0 +1,791 @@
|
|
1
|
+
--------------------------------------------------------------------------------
|
2
|
+
(1) → images_css 'bblack1'
|
3
|
+
^^^ in webobject will mean that we have black border 1
|
4
|
+
for all images by default.
|
5
|
+
ENABLE AND DOCUMENT THIS!!!!!!!
|
6
|
+
And test it too.
|
7
|
+
--------------------------------------------------------------------------------
|
8
|
+
(2) → add a simple and documented way to convert from csv into
|
9
|
+
table format
|
10
|
+
csv_from_file_to_table
|
11
|
+
or something liket hat.
|
12
|
+
class method
|
13
|
+
Cyberweb.
|
14
|
+
This has been implemented but not yet documented.
|
15
|
+
What does this mean, though?
|
16
|
+
--------------------------------------------------------------------------------
|
17
|
+
(3) → ability to use different CSS templates quickly
|
18
|
+
to change the look and style of any site
|
19
|
+
--------------------------------------------------------------------------------
|
20
|
+
(4) → Ability to generate static html sites.
|
21
|
+
The whole layout should be also put into static html and
|
22
|
+
then upload to a remote host! \o/
|
23
|
+
--------------------------------------------------------------------------------
|
24
|
+
(5) → in img:
|
25
|
+
img 'FOO/BAR'
|
26
|
+
und wenn es hinter keine Endung .png oder .jpg gibt, dann machen
|
27
|
+
wir ein glob und versuchen irgend etwas zu finden.
|
28
|
+
--------------------------------------------------------------------------------
|
29
|
+
(6) → Wir erstellen eine inline .css Datei.
|
30
|
+
Die nur genau jene Elemente enthält, die in einer webpage auch vorkommen
|
31
|
+
können.
|
32
|
+
This already works like:
|
33
|
+
pre found_these_css_classes?.join(''+"\n")
|
34
|
+
What is missing is:
|
35
|
+
(a) Fetch all these entries (use a little class, a converter...)
|
36
|
+
(b) put this into a giant string and generate an inline css for this
|
37
|
+
--------------------------------------------------------------------------------
|
38
|
+
(7) → > Integriere Sinatra-Funktionalität in WebFoundation, also
|
39
|
+
langsam Sinatra erlernen. Insbesondere das Routing.
|
40
|
+
--------------------------------------------------------------------------------
|
41
|
+
(8) → Flexible Menügenerierung:
|
42
|
+
Schneiden Sie mit dem grafischen Editor Menüs auf Bedürfnisse von Man-
|
43
|
+
^^ allow us to create easy menus (meta menus):
|
44
|
+
menu 'foo','bla','ble'
|
45
|
+
^^^ Shall make a menu with an added mouse-over effect.
|
46
|
+
screw that - add css-only menus
|
47
|
+
add + document them
|
48
|
+
remove this here, then upload to rubygems
|
49
|
+
--------------------------------------------------------------------------------
|
50
|
+
(9) → # ======================================================================== #
|
51
|
+
# This is a clone of Webmin. In addition to what webmin allows, the
|
52
|
+
# features of this webmin clone will be manifold, such as the ones
|
53
|
+
# that are listed below.
|
54
|
+
# ======================================================================== #
|
55
|
+
# URL:
|
56
|
+
# localhost/PROGRAMMING_LANGUAGES/RUBY/SRC/cyberweb/lib/cyberweb/webmin_components/webmin.cgi
|
57
|
+
# ======================================================================== #
|
58
|
+
rf webmin
|
59
|
+
# ======================================================================== #
|
60
|
+
# FINISHED AND COMPLETED FEATURES FOR THE WEBMIN-CYBERSPRAWL SUBPROJECT.
|
61
|
+
# ======================================================================== #
|
62
|
+
- Ability to define own tags via web_foundation [DONE]
|
63
|
+
- Show aliases [DONE] (alias tag)
|
64
|
+
- Show sys information [DONE] (sys tag)
|
65
|
+
- Burn an ISO, or, ability to burn an iso, like cdrecord
|
66
|
+
Hmmmm. This can be done via the class:
|
67
|
+
class BurnISO
|
68
|
+
Also make an input formular and checkboxes for that.
|
69
|
+
_ = BurnISO.new(ARGV)
|
70
|
+
_.burn :dvd
|
71
|
+
_.run
|
72
|
+
^^^ Das geht zwar aber ... das input field ist noch nit so cool.
|
73
|
+
wir sollten das mal über das WebInterface testen.
|
74
|
+
- Create an ISO for a linux system using purely the www, then you can
|
75
|
+
dump it somewhere and install your linux distribution. First version
|
76
|
+
is already realized via $RUBY_GLINUX/RModuleMaker.rb but it is
|
77
|
+
not perfect yet. WILL DO THIS LATER, ONCE WHEN SLAX IS MORE
|
78
|
+
STABLE. [HALF DONE...hmmm]
|
79
|
+
ADD a formular for this too.
|
80
|
+
- Use it to compile a program on your system. [HALF DONE, problems
|
81
|
+
with permissions ;< ]
|
82
|
+
- Maybe have an IRC Server via the web as well
|
83
|
+
hmm... hmm hmmmmmmmmmm
|
84
|
+
- Start webrick [DONE but buggy]
|
85
|
+
- Allow user comments into a formular, so that they can
|
86
|
+
post feedback etc.. first version into text file.
|
87
|
+
[DONE but could be improved a lot, adding
|
88
|
+
metadata etc to it or use/hookup to a database...]
|
89
|
+
- make it so that in something like a mud, we can display
|
90
|
+
information on the www, like number of people etc..
|
91
|
+
You know, kinda helpful admin work. [NOT YET DONE]
|
92
|
+
- realize a browser game, similar to TR but simpler. [NOT YET DONE]
|
93
|
+
- add something like quicknote [NOT YET DONE]
|
94
|
+
- extend file viewer... we want to syntax highlight
|
95
|
+
certain tags for instance... in an easy manner [NOT YET DONE]
|
96
|
+
- start and stop servers
|
97
|
+
- edit apache config files easily [NOT YET DONE]
|
98
|
+
- sql browser + sql dump [NOT YET DONE]
|
99
|
+
- add/delete users [NOT YET DONE]
|
100
|
+
- stats net stuts [NOT YET DONE]
|
101
|
+
- be able to login (via cyber_login.rb) [STARTED BUT NOT YET DONE]
|
102
|
+
- Generate spreadsheets via rubyspreadsheet. [HALF DONE]
|
103
|
+
- Use the info from install_these_binaries, to tell the user
|
104
|
+
what belongs to which package [NOT YET STARTED BUT A SIMPLE TASK]
|
105
|
+
- ability to display screenshots ie. " Show Images: 1-4 | 5-7 "
|
106
|
+
and also thumbnails maybe with external rmagick addons (wtf???)
|
107
|
+
unkie APR 2008:
|
108
|
+
Besser als keine icons zu sammeln wäre es, dass deine sprache
|
109
|
+
bestimmte verzeichnisse einlesen kann und diese bilder nach
|
110
|
+
id oder namen ausgeben kann - evtl auch nach Größe.
|
111
|
+
--------------------------------------------------------------------------------
|
112
|
+
(10) → dig through the php docu and integrate things that seem useful.
|
113
|
+
--------------------------------------------------------------------------------
|
114
|
+
(11) → Work through How2Do and look if we can streamline / integrate stuff.
|
115
|
+
bl how2do; rf how2do
|
116
|
+
--------------------------------------------------------------------------------
|
117
|
+
(12) → Todo bei webmin.cgi überarbeiten/abarbeiten.
|
118
|
+
rf webmin
|
119
|
+
pwdrbsrc
|
120
|
+
cd WWW/cybersprawl
|
121
|
+
bl webmi*
|
122
|
+
bl *bio*
|
123
|
+
bl $RUBY_SRC/www/cybersprawl/cybersprawl_requires.rb
|
124
|
+
ADD html/css colourizer (???)
|
125
|
+
Hmm eventuell das man das ganze ansehen kann farbig...
|
126
|
+
Und auch den biology_server.cgi verbessern - der soll irgendwann so
|
127
|
+
gut sein, das ich quasi ein biologisches Job-Offering damit erfüllen
|
128
|
+
kann/könnte. rf bioserver
|
129
|
+
Also unter anderem:
|
130
|
+
-> Fasta Search durchführen können
|
131
|
+
-> Postgre und MySQL Anbindung haben (Activerecord ansehen ...)
|
132
|
+
Über weitere Verbesserungen nachdenken, vor allem über Wege, das ganze
|
133
|
+
SCHNELLER zu machen, auch sicherer UND VOR ALLEM FEATURES REINHAUN.
|
134
|
+
Baue ein ruby CMS, so wie trac, für Irgendein Projekt.
|
135
|
+
Einen 1:1 Klon. Am besten für die Gobolinux Scripts und mittels
|
136
|
+
cybersprawl realisieren.
|
137
|
+
http://nanoc.stoneship.org/
|
138
|
+
# =========================================================================== #
|
139
|
+
# For more things, ask our users so we can adapt to their needs.
|
140
|
+
# =========================================================================== #
|
141
|
+
(1)
|
142
|
+
Das folgende snippet hier macht extra characters
|
143
|
+
um die "" quotes herum. Das sollte nit sein:
|
144
|
+
sbr 'Via jumpers you can quickly change to another directory.','','jumpers'
|
145
|
+
s2 'Expressed in another way, jumpers are "'
|
146
|
+
s2 'Bookmarks for Terminals','dodgerblue'
|
147
|
+
sbr '".'
|
148
|
+
(2)
|
149
|
+
div_fin {} is not working as expected. WHY NOT!
|
150
|
+
--------------------------------------------------------------------------------
|
151
|
+
(13) → add support for erb.
|
152
|
+
first extend this on
|
153
|
+
todoc: bl erb; rf ruby erb
|
154
|
+
then add it.
|
155
|
+
--------------------------------------------------------------------------------
|
156
|
+
(14) → Reach a point where we can simply copy a remote webpage, and transform all
|
157
|
+
of its components into the logic of a local page.
|
158
|
+
bl $CYBERWEB/standalone_classes/turn_html_into_cyberweb.rb
|
159
|
+
--------------------------------------------------------------------------------
|
160
|
+
(15) → fieldset.id = 'bla'
|
161
|
+
^^^ Jedes HTML Element, das registriert ist, muss ein OpenStruct sein.
|
162
|
+
class Foo < OpenStruct
|
163
|
+
end
|
164
|
+
foo = Foo.new
|
165
|
+
foo.id = 'This is Foo'
|
166
|
+
Aber wieso? Hmmm. Unsure whether to keep this.
|
167
|
+
Hmmm.
|
168
|
+
Cyberweb.fieldset.id 'ok'
|
169
|
+
Eventually sollte das einen default Wert setzen.
|
170
|
+
Aber ich weiss nicht...
|
171
|
+
--------------------------------------------------------------------------------
|
172
|
+
(16) → propel.targetPackage = lib.model
|
173
|
+
propel.packageObjectModel = true
|
174
|
+
propel.project = blog
|
175
|
+
propel.database = mysql
|
176
|
+
propel.database.createUrl = mysql://localhost/
|
177
|
+
propel.database.url = mysql://blog:blog@localhost/blog
|
178
|
+
propel.mysql.tableType = InnoDB
|
179
|
+
^^^ können wir daraus etwas lernen? Ja.
|
180
|
+
w.database = mysql
|
181
|
+
^^^ verwende mysql database.
|
182
|
+
w.database = sqlite
|
183
|
+
w.database = postgresql
|
184
|
+
yup yup yup.
|
185
|
+
Aber was machen wir dann? Wie holen wir daten da raus?
|
186
|
+
Noch keine Ahnung.
|
187
|
+
--------------------------------------------------------------------------------
|
188
|
+
(17) → extend on dragula, so that we can do fancier stuff
|
189
|
+
--------------------------------------------------------------------------------
|
190
|
+
(18) → Wir brauchen einen weg das letzte Tag anzusprechen. Beispiel:
|
191
|
+
img 'LAYOUT.png','mar8px FLL'
|
192
|
+
Dieses Image sollte man dann so verwenden können.
|
193
|
+
last_object.onmousedown = 'dragstart(this)'
|
194
|
+
Aber im Moment verwenden wir das gar nit.
|
195
|
+
set_last_tag_used() # bl $CYBER/foundation/tag.rb
|
196
|
+
^^^ THis will already store the last ID too.
|
197
|
+
Ok, seit Dezember 2014 ist es nun möglich das letzte Tag zu verwenden.
|
198
|
+
--------------------------------------------------------------------------------
|
199
|
+
(19) → Feed some class arbitrary html and convert this into
|
200
|
+
cyberweb-conforming generators.
|
201
|
+
--------------------------------------------------------------------------------
|
202
|
+
(20) → === We must redirect output into the web object.
|
203
|
+
Perhaps we should do another rewrite, where we write up the default
|
204
|
+
tests first. And clean up as we go.
|
205
|
+
^^^^
|
206
|
+
Let's see:
|
207
|
+
w {
|
208
|
+
title 'bla'
|
209
|
+
main_css 'bklablalba'
|
210
|
+
use_jquery
|
211
|
+
} # Up until that part this will have stored all stuff
|
212
|
+
# until the <body> tag
|
213
|
+
p {
|
214
|
+
h2 'Hello world!'
|
215
|
+
}
|
216
|
+
^^^ this here must be redirected into the webobject.
|
217
|
+
hfin # this is the final trigger that will invoke our object.
|
218
|
+
# it is </html>, but it also equal to:
|
219
|
+
web_object.serve
|
220
|
+
Also enable PDF Generation via prawn once the above works.
|
221
|
+
Combine this then with the web framework above.
|
222
|
+
def generate_pdf()
|
223
|
+
pdf = Pdf.new
|
224
|
+
end
|
225
|
+
WebObject.new
|
226
|
+
Prawn..
|
227
|
+
require 'prawn'
|
228
|
+
Prawn::Document.generate('/Depot/Information/hello.pdf') { |pdf|
|
229
|
+
text("Hello Prawn!")
|
230
|
+
}
|
231
|
+
--------------------------------------------------------------------------------
|
232
|
+
(21) → Consider switching to a database-layout and enable a plugin
|
233
|
+
structure with different database-adapters.
|
234
|
+
^^^ The above should probably also store everything into
|
235
|
+
a database.
|
236
|
+
--------------------------------------------------------------------------------
|
237
|
+
(22) → Try to add activerecord. For this to work, we must first work a
|
238
|
+
bit with activerecord. (And maybe we should try to install rails)
|
239
|
+
--------------------------------------------------------------------------------
|
240
|
+
(23) → Sending an email is as simple as using the composeAndSend()
|
241
|
+
method from an action:
|
242
|
+
$this->getMailer()->composeAndSend(
|
243
|
+
'from@example.com', 'to@example.com', 'Subject', 'Body'
|
244
|
+
);
|
245
|
+
Find out how to send an email:
|
246
|
+
email.content("bblablabla oder lies von einer datei ein..:").send_to(:mama)
|
247
|
+
^^^ und das auch in html <form>
|
248
|
+
form
|
249
|
+
input.id("content")
|
250
|
+
input.send_to("content")
|
251
|
+
input.button # click button
|
252
|
+
We can try to use the mail gem.
|
253
|
+
This can work through sendmail but logically sendmail must exist.
|
254
|
+
http://localhost/PROGRAMMING_LANGUAGES/RUBY/SRC/cyberweb/test/testing_email.cgi
|
255
|
+
--------------------------------------------------------------------------------
|
256
|
+
(24) → Anschauen ob man den pretty_url kerl da mit den installable
|
257
|
+
URLs installieren kann.
|
258
|
+
Kann man, und zwar über url_action.
|
259
|
+
Aber da klappt was mit den requires nicht.
|
260
|
+
Das sehen wir uns zu einem späteren Zeitpunkt erneut an.
|
261
|
+
^^^ Das irgendwie ermöglichen das wir da auch was
|
262
|
+
installieren können.
|
263
|
+
^^^ Das geht aber net so ohne weiteres, weil man hierzu
|
264
|
+
die RBT scripts requiren wuss.
|
265
|
+
Die funzen zur zeit aber net mit WebFoundation HMMMM.
|
266
|
+
Also bevor wir das hier testen können, müssen wir die RBT
|
267
|
+
Scripts adaptieren. Die RBT Scripts müssen auch über das
|
268
|
+
WWW verwendbar sein!!!!! Das muss dann ein Teil von
|
269
|
+
Ruby-Webmin (cybermin) werden, also das Testen.
|
270
|
+
^^^ Nein das geht mit Easycompile.
|
271
|
+
--------------------------------------------------------------------------------
|
272
|
+
(25) → html { head; body { p { "I'm awesome!" } } }
|
273
|
+
^^^ the cyberweb framework should allow this as well
|
274
|
+
include Cyberweb
|
275
|
+
include HtmlTags
|
276
|
+
html { head; body { p { "I'm awesome!" } } }
|
277
|
+
Hmmmm.
|
278
|
+
--------------------------------------------------------------------------------
|
279
|
+
(26) → Von Markaby lernen heisst siegen lernen -> anschauen was
|
280
|
+
man da verwenden kann. Die haben einen HTML Generator
|
281
|
+
der brauchbar ist:
|
282
|
+
https://github.com/markaby/markaby
|
283
|
+
--------------------------------------------------------------------------------
|
284
|
+
(27) → === IMPROVE THE FRAMES-CODE PART OF CYBERWEB.
|
285
|
+
Right now we can do frames like so:
|
286
|
+
w.frame_left 'foo.cgi'
|
287
|
+
w.frame_right 'bla.cgi'
|
288
|
+
w.use_frames()
|
289
|
+
OR:
|
290
|
+
w.use_frames(
|
291
|
+
:left => 'foo.cgi', :right => 'bla.cgi'
|
292
|
+
)
|
293
|
+
OR:
|
294
|
+
w.frames(
|
295
|
+
left: 'foo.cgi',
|
296
|
+
right: 'bla.cgi'
|
297
|
+
)
|
298
|
+
The problem with that is that we require two more pages here,
|
299
|
+
foo.cgi and bla.cgi. This is ok for complicated pages - but
|
300
|
+
what if we wish to just use some html in one page?
|
301
|
+
We should be able to do this instead:
|
302
|
+
w.frame_left: '<h2>Some testing</h2><p>Hi folks...
|
303
|
+
content missing yet ...</p>'
|
304
|
+
Without doing a new page! We want completely dynamic html pages.
|
305
|
+
So, we will first check that the above syntax works, and document
|
306
|
+
this properly. And when it works, we move on to the next step.
|
307
|
+
frameset('30,40') { 'FRAME_LEFT.html,FRAME_RIGHT.html' }
|
308
|
+
Hmm. Das klappt, glaube ich... testen, dann entfernen.
|
309
|
+
--------------------------------------------------------------------------------
|
310
|
+
(28) → Globally enable drag-all functionality for all images on a webpage.
|
311
|
+
By using something like:
|
312
|
+
w {
|
313
|
+
enable 'drag_all_images'
|
314
|
+
}
|
315
|
+
and perhaps...
|
316
|
+
drag_all_images
|
317
|
+
directly
|
318
|
+
and perhaps:
|
319
|
+
drag 'all_images'
|
320
|
+
drag '+images'
|
321
|
+
drag 'images+'
|
322
|
+
This has been enabled, sort of, but it does not work as intended. :(
|
323
|
+
Test it, then document it, then upload.
|
324
|
+
Irgendwas stimmt da tatsächlich nicht.... ich check das nicht.
|
325
|
+
--------------------------------------------------------------------------------
|
326
|
+
(29) → === Extend Webmin functionality
|
327
|
+
--------------------------------------------------------------------------------
|
328
|
+
(30) → Debug Toolbar
|
329
|
+
Irgendwann, wenn wir mal WebApps schreiben, machen wir so eine
|
330
|
+
Debug Toolbar. Die sollte auch status information anzeigen können.
|
331
|
+
Also see:
|
332
|
+
http://django-debug-toolbar.readthedocs.org/en/1.3/panels.html
|
333
|
+
--------------------------------------------------------------------------------
|
334
|
+
(31) → Gegeben ist:
|
335
|
+
read_display 'foo'
|
336
|
+
Nun wollen wir eine Möglichkeit haben, herauszufinden:
|
337
|
+
(a) Wo diese Methode definiert ist.
|
338
|
+
(b) Den Quellcode der Methode anzuzeigen IN der Webpage.
|
339
|
+
debug_method "read_display 'foo'"
|
340
|
+
Siehe hierzu die beiden Klassen:
|
341
|
+
method_searcher.rb
|
342
|
+
find_end.rb
|
343
|
+
Das geht eigentlich schon über die DiamondShell.
|
344
|
+
--------------------------------------------------------------------------------
|
345
|
+
(32) → Factor out:
|
346
|
+
CGI.new.params
|
347
|
+
So that we don't depend on ruby-cgi anymore.
|
348
|
+
Perhaps as a first step, we will copy all of cgi into cyberweb,
|
349
|
+
and then slowly phase it.
|
350
|
+
--------------------------------------------------------------------------------
|
351
|
+
(33) → Wenn eine CSS klasse verlinkt wird, sie aber nicht existiert,
|
352
|
+
dann reporten wir das im debug mode.
|
353
|
+
^^^^^^^^^^^^
|
354
|
+
--------------------------------------------------------------------------------
|
355
|
+
(34) → https://github.com/rdoc/rdoc/blob/master/lib/rdoc/encoding.rb#L21-46
|
356
|
+
^^^ das is cool... wir sollten das eines Tages implementieren,
|
357
|
+
so ein line highlighting.
|
358
|
+
if params.include?('#') and params.include?('-') and params.include?('L')
|
359
|
+
# Assume a Range.
|
360
|
+
Wir sollten das in Teilen implementieren.
|
361
|
+
Zuerst einmal alle Zeilen ansehen.
|
362
|
+
?show_source
|
363
|
+
^^^ add this
|
364
|
+
http://localhost/MISC/SITEMAP.cgi?show_source
|
365
|
+
Now this works. We have to add some highlight-thingy though.
|
366
|
+
--------------------------------------------------------------------------------
|
367
|
+
(35) → improve on dragula
|
368
|
+
dragula([document.getElementById(left), document.getElementById(right)], {
|
369
|
+
moves: function (el, container, handle) {
|
370
|
+
return handle.className === 'handle';
|
371
|
+
}
|
372
|
+
});
|
373
|
+
^^^ add handles,
|
374
|
+
also perhaps images as these handles
|
375
|
+
--------------------------------------------------------------------------------
|
376
|
+
(36) → img 'chemistry/teflon'
|
377
|
+
^^^ also enable this here
|
378
|
+
so that we don't have to specify the full location.
|
379
|
+
--------------------------------------------------------------------------------
|
380
|
+
(37) → ?sys_information also does not work.
|
381
|
+
rf sitemap ?sys_information
|
382
|
+
--------------------------------------------------------------------------------
|
383
|
+
(38) → in cyberweb, find a way to add a special environment so that
|
384
|
+
my variables are also known.
|
385
|
+
Cyberweb.add_this_environment_variable(hash_here)
|
386
|
+
This method now exists and it also works; we have to generate all
|
387
|
+
my variables first before this can work completely.
|
388
|
+
This may require another project ... hmmm...
|
389
|
+
--------------------------------------------------------------------------------
|
390
|
+
(39) → finish the cgi? environment
|
391
|
+
right now there is a bug so that does not work.
|
392
|
+
--------------------------------------------------------------------------------
|
393
|
+
(40) → Scroll down with a delay through jquery.
|
394
|
+
Add it!
|
395
|
+
--------------------------------------------------------------------------------
|
396
|
+
(41) → also ... we need to be able to describe a valid HTML document
|
397
|
+
w {
|
398
|
+
}
|
399
|
+
^^^ the above should give us a full valid HTML document,
|
400
|
+
all within the constraints of w {}.
|
401
|
+
# =========================================================================== #
|
402
|
+
# === W
|
403
|
+
#
|
404
|
+
# Usage example:
|
405
|
+
# W.new
|
406
|
+
# =========================================================================== #
|
407
|
+
module Cyberweb
|
408
|
+
# =========================================================================== #
|
409
|
+
# === w
|
410
|
+
# =========================================================================== #
|
411
|
+
def w(i = ARGV, &block)
|
412
|
+
@web_object ||= Cyberweb::Webobject.new(i, &block)
|
413
|
+
end
|
414
|
+
class Webobject # require 'w'; W.new
|
415
|
+
# We store everything into the string()-method here.
|
416
|
+
attr_accessor :string; alias string? string
|
417
|
+
# ========================================================================= #
|
418
|
+
# === initialize
|
419
|
+
# ========================================================================= #
|
420
|
+
def initialize(
|
421
|
+
i = nil,
|
422
|
+
run_already = true,
|
423
|
+
&block
|
424
|
+
)
|
425
|
+
reset
|
426
|
+
set_input(i)
|
427
|
+
if block_given?
|
428
|
+
@block_was_given = true
|
429
|
+
add_to_html_tag '<html><head>
|
430
|
+
<meta http-equiv="content-type" content="ttp-equiv; charset=UTF-8" >'
|
431
|
+
instance_eval(&block)
|
432
|
+
end
|
433
|
+
run if run_already
|
434
|
+
end
|
435
|
+
# ========================================================================= #
|
436
|
+
# === title
|
437
|
+
# ========================================================================= #
|
438
|
+
def title(i = 'VIENNA - WIEN')
|
439
|
+
HtmlTags.title(i)
|
440
|
+
end
|
441
|
+
# ========================================================================= #
|
442
|
+
# === reset (reset tag)
|
443
|
+
# ========================================================================= #
|
444
|
+
def reset
|
445
|
+
@string = ''
|
446
|
+
@block_was_given = false
|
447
|
+
end
|
448
|
+
# ========================================================================= #
|
449
|
+
# === set_input
|
450
|
+
# ========================================================================= #
|
451
|
+
def set_input(i = '')
|
452
|
+
i = i.first if i.is_a? Array
|
453
|
+
i = i.to_s.dup if i
|
454
|
+
@input = i
|
455
|
+
end
|
456
|
+
# ========================================================================= #
|
457
|
+
# === input?
|
458
|
+
# ========================================================================= #
|
459
|
+
def input?
|
460
|
+
@input
|
461
|
+
end
|
462
|
+
# ========================================================================= #
|
463
|
+
# === hfin
|
464
|
+
# ========================================================================= #
|
465
|
+
def hfin
|
466
|
+
HtmlTags.add('</body>'+N,'</html>'+N)
|
467
|
+
end
|
468
|
+
# ========================================================================= #
|
469
|
+
# === to_s
|
470
|
+
# ========================================================================= #
|
471
|
+
def to_s
|
472
|
+
@string
|
473
|
+
end
|
474
|
+
# ========================================================================= #
|
475
|
+
# === add
|
476
|
+
# ========================================================================= #
|
477
|
+
def add(i = nil)
|
478
|
+
@string << i if i
|
479
|
+
end; alias _ add
|
480
|
+
# ========================================================================= #
|
481
|
+
# === run (run tag)
|
482
|
+
# ========================================================================= #
|
483
|
+
def run
|
484
|
+
add HtmlTags[] # Obtain all elements that were stored in HtmlTags.
|
485
|
+
if @block_was_given and !@string.include?('</html>')
|
486
|
+
add hfin
|
487
|
+
end
|
488
|
+
end
|
489
|
+
# ========================================================================= #
|
490
|
+
# === add_to_html_tag
|
491
|
+
# ========================================================================= #
|
492
|
+
def add_to_html_tag(i = '<head>')
|
493
|
+
HtmlTags.add(i)
|
494
|
+
end
|
495
|
+
# ========================================================================= #
|
496
|
+
# === sbody
|
497
|
+
#
|
498
|
+
# Start of body tag.
|
499
|
+
# ========================================================================= #
|
500
|
+
def sbody
|
501
|
+
add_to_html_tag '</head><body>'
|
502
|
+
end
|
503
|
+
end; end
|
504
|
+
if __FILE__ == $PROGRAM_NAME
|
505
|
+
include Cyberweb
|
506
|
+
result = w {
|
507
|
+
title 'joe'
|
508
|
+
sbody
|
509
|
+
h2 'Yo there'
|
510
|
+
h3 'Ok there'
|
511
|
+
}
|
512
|
+
e result
|
513
|
+
end # w.rb
|
514
|
+
# bar = Bar.new # But we want foo to add into @string.
|
515
|
+
# e bar.string
|
516
|
+
--------------------------------------------------------------------------------
|
517
|
+
(42) → FS_BIGGER
|
518
|
+
^^^ when a CSS class is not found, report it.
|
519
|
+
This exists now in the file:
|
520
|
+
all_css_classes.rb
|
521
|
+
--------------------------------------------------------------------------------
|
522
|
+
(43) → add support for gettext
|
523
|
+
http://sevenseacat.net/
|
524
|
+
An introduction to I18n with Gettext
|
525
|
+
Gettext is an established standard for doing i18n and l10n in any
|
526
|
+
kind of applications, not just web applications. So how does it work?
|
527
|
+
In your template files, you can now use the helper function gettext
|
528
|
+
to mark where translated text should go. If you've generated a new
|
529
|
+
Phoenix app using Phoenix 1.1, an example of this will already be
|
530
|
+
done in web/templates/page/index.html.eex -
|
531
|
+
<h2><%= gettext "Welcome to %{name}", name: "Phoenix!" %></h2>
|
532
|
+
--------------------------------------------------------------------------------
|
533
|
+
(44) → clone the functionality of webmin
|
534
|
+
--------------------------------------------------------------------------------
|
535
|
+
(45) → we must be able to play local video files
|
536
|
+
--------------------------------------------------------------------------------
|
537
|
+
(46) → https://jqueryui.com/resizable/
|
538
|
+
add support for resizable; when this is done,
|
539
|
+
perhaps move one down the line from
|
540
|
+
there adn continue
|
541
|
+
would be nice to have all of jquery supported.
|
542
|
+
https://jqueryui.com/resizable/
|
543
|
+
^^^ take this example
|
544
|
+
--------------------------------------------------------------------------------
|
545
|
+
(47) → javascript charts
|
546
|
+
- start with google charts, but branch out to other charts lateron as well.
|
547
|
+
This sorta works but we have to continue this, then add docu.
|
548
|
+
https://developers.google.com/chart/interactive/docs/quick_start
|
549
|
+
--------------------------------------------------------------------------------
|
550
|
+
(48) → # self.append_to_tables << result if result # Store the result in our Tables.
|
551
|
+
^^^ this does not work no clue why not
|
552
|
+
--------------------------------------------------------------------------------
|
553
|
+
(49) → import io.kweb.*
|
554
|
+
import io.kweb.dom.element.*
|
555
|
+
fun main(args : Array<String>) {
|
556
|
+
Kweb(port = 8091) {
|
557
|
+
doc.body.new {
|
558
|
+
p().text("Hello world with Kweb!")
|
559
|
+
}
|
560
|
+
}
|
561
|
+
^^^ das p.text('FOOBAR')
|
562
|
+
ist interessamnt
|
563
|
+
überlegen ob wir das in html tags oder cyberweb integrieren
|
564
|
+
sollten - eher in cyberweb, so das html_tags clean bleibt.
|
565
|
+
--------------------------------------------------------------------------------
|
566
|
+
(50) → be able to read up a .html page and
|
567
|
+
"convert" it into a .cgi page;
|
568
|
+
including the option to dump the html again,
|
569
|
+
including sanitiziation
|
570
|
+
--------------------------------------------------------------------------------
|
571
|
+
(51) → add a html->markdown converter
|
572
|
+
--------------------------------------------------------------------------------
|
573
|
+
(52) → write a webforum, simple one with
|
574
|
+
yaml files first
|
575
|
+
and /tmp or so
|
576
|
+
a temp dir
|
577
|
+
^^^ document if we have a temp dir and where it it is as well
|
578
|
+
--------------------------------------------------------------------------------
|
579
|
+
(53) → https://wiki.gentoo.org/wiki/Portage
|
580
|
+
steal the tip-box there
|
581
|
+
--------------------------------------------------------------------------------
|
582
|
+
(54) → The fancy popup thingy, that we ingegrated into studium -. also somehow
|
583
|
+
generate this via cyberweb hmmmmm.
|
584
|
+
Cyberweb.popup_widget(text: 'bla bla bla')
|
585
|
+
^^^ add balloon thingy to cyberweb
|
586
|
+
+ documentation
|
587
|
+
AND a way to use Cyberweb.return_balloon
|
588
|
+
or something like that to returh a stylesheet or so
|
589
|
+
--------------------------------------------------------------------------------
|
590
|
+
(55) → 15) build a big CSS string that is then displayed. perhaps
|
591
|
+
also store it into some file or so. Or at the least
|
592
|
+
offer that possibility to save it.
|
593
|
+
^^^ Well ... storing has to be re-thought.
|
594
|
+
--------------------------------------------------------------------------------
|
595
|
+
(56) → search for web-related projects on rubygems.
|
596
|
+
--------------------------------------------------------------------------------
|
597
|
+
(57) → Make sure that gathering all CSS classes works properly.
|
598
|
+
--------------------------------------------------------------------------------
|
599
|
+
(58) → make sure that a HTML-dumper works. It does via the
|
600
|
+
.save functionality but perhaps we have to simplify the
|
601
|
+
API and add a standalone bin/ file for that functionality.
|
602
|
+
And check the documetnation.
|
603
|
+
--------------------------------------------------------------------------------
|
604
|
+
(59) → continue objectified tags and add a table to the docu to
|
605
|
+
explain which variants are objectified already.
|
606
|
+
Add them all.
|
607
|
+
^^^^ Not sure whether all will be added or not. At one
|
608
|
+
point in the future we should also join to an OOP
|
609
|
+
variant of the www. So perhaps not all, but all
|
610
|
+
that make sense. Once finished there, document it
|
611
|
+
and remov the entry here.
|
612
|
+
--------------------------------------------------------------------------------
|
613
|
+
(60) → (19)
|
614
|
+
kjavascript
|
615
|
+
on_click :random_colour
|
616
|
+
^^^
|
617
|
+
first add it to objectified tags
|
618
|
+
then o regular tacks
|
619
|
+
hmm
|
620
|
+
for href tags at the least
|
621
|
+
docuemnt this in cyberweb
|
622
|
+
then upload!
|
623
|
+
document.getElementById('change').onclick = changeColor;
|
624
|
+
function changeColor() {
|
625
|
+
document.body.style.color = "purple";
|
626
|
+
return false;
|
627
|
+
}
|
628
|
+
first add standalone html; it now exists as standalone
|
629
|
+
but we must add it to objectified html tags still.
|
630
|
+
--------------------------------------------------------------------------------
|
631
|
+
(61) → flip the image and only use the teal part; drop the rest or re-work it
|
632
|
+
a bit until it looks better. and improve the cyborg too.
|
633
|
+
--------------------------------------------------------------------------------
|
634
|
+
(62) → add a download-all-images from this remote website
|
635
|
+
and add it to cyberweb
|
636
|
+
and document it too!
|
637
|
+
Downloading a remote webpage
|
638
|
+
You can use Cyberweb.download_webpage() to download a remote webpage.
|
639
|
+
^^^ expand this subsection
|
640
|
+
download_all_images_from_this_website.rb
|
641
|
+
^^^ this is partially implemented... need to finish it up and
|
642
|
+
clean it up. perhaps need to re-think the approach
|
643
|
+
rather than a regex we may have to use something else
|
644
|
+
to obtain all img tags
|
645
|
+
--------------------------------------------------------------------------------
|
646
|
+
(63) → change meta, store it into ONE variable only
|
647
|
+
and add meta.rb
|
648
|
+
meta_description 'This is a sitemap.'
|
649
|
+
<meta name="description" content="Used auto parts for sale">
|
650
|
+
^^^ add this
|
651
|
+
This works only partially. I think we have to rewrite WebObject...
|
652
|
+
--------------------------------------------------------------------------------
|
653
|
+
(64) → continue experimenting with Objectified::HtmlTags
|
654
|
+
--------------------------------------------------------------------------------
|
655
|
+
(65) → expand css stuff in cyberweb. and more screenshots.
|
656
|
+
--------------------------------------------------------------------------------
|
657
|
+
(66) → add:
|
658
|
+
send email via cyberweb
|
659
|
+
send_email(
|
660
|
+
to: 'foobar@hotmail.com',
|
661
|
+
title: 'Hey there'
|
662
|
+
content: 'Bla bla'
|
663
|
+
from: 'email here'
|
664
|
+
}
|
665
|
+
^^^ and then add it to ingrid via an interface
|
666
|
+
and explain it to ingrid.
|
667
|
+
^^^ hmmm first test the above API.
|
668
|
+
THEN document the API too.
|
669
|
+
Then test it; and it must insta-show up on my system or something... hmm
|
670
|
+
^^^ we want to be able to use emails from cyberweb, no matter how.
|
671
|
+
--------------------------------------------------------------------------------
|
672
|
+
(67) → html_slider.html
|
673
|
+
^^^ integrate this into WebObject as well as the OOP variant. We need
|
674
|
+
to use range-like elements like this.
|
675
|
+
--------------------------------------------------------------------------------
|
676
|
+
(68) → create a fully objectified HTML page somehow.
|
677
|
+
Continue to explore how an OOP-webpage would
|
678
|
+
look like.
|
679
|
+
--------------------------------------------------------------------------------
|
680
|
+
(69) → consider supporting:
|
681
|
+
def on_this_id(:div_browser_in_use).content = 'Browser in use: <b>'+navigator.userAgent+"</b>";
|
682
|
+
to return JavaccriptHelper class
|
683
|
+
so .content= works on that class
|
684
|
+
--------------------------------------------------------------------------------
|
685
|
+
(70) → consider adding:
|
686
|
+
form.label # Implemented!
|
687
|
+
form.check_box # Implemented!
|
688
|
+
form.text_field # Implemented!
|
689
|
+
but think this through first. Add this to objectified-html tags perhaps.
|
690
|
+
^^^
|
691
|
+
and check which tags are not yet objectified
|
692
|
+
actually add this to the form OOP tag
|
693
|
+
and document it too.
|
694
|
+
--------------------------------------------------------------------------------
|
695
|
+
(71) → Add more games to the cyberweb project.
|
696
|
+
- Tetris!!!
|
697
|
+
- snake (added) hmmmmmm
|
698
|
+
--------------------------------------------------------------------------------
|
699
|
+
(72) → add more jquery goodies. Document them once they work too.
|
700
|
+
https://www.tutorialrepublic.com/jquery-examples.php
|
701
|
+
^^^ continue there
|
702
|
+
--------------------------------------------------------------------------------
|
703
|
+
(73) → modify grub file via webmin [HALF DONE]
|
704
|
+
--------------------------------------------------------------------------------
|
705
|
+
(74) → require "http/server"
|
706
|
+
# === response?
|
707
|
+
def response?
|
708
|
+
"Hello world! The time is #{Time.now}"
|
709
|
+
end
|
710
|
+
server = HTTP::Server.new(8080) { |request|
|
711
|
+
# What to show in response.
|
712
|
+
HTTP::Response.ok "text/plain",
|
713
|
+
response?
|
714
|
+
}
|
715
|
+
puts "Listening on http://0.0.0.0:8080"
|
716
|
+
server.listen
|
717
|
+
^^^ add ?time
|
718
|
+
or something to display the time.
|
719
|
+
^^^ this was now implemented
|
720
|
+
document it, test it, and then when it works, remove the entry here.
|
721
|
+
--------------------------------------------------------------------------------
|
722
|
+
(75) → Add www-support for the simple widgets project.
|
723
|
+
This may take a longer while so before we go to do that, perhaps
|
724
|
+
first make libui+ruby-gtk3 support better. Then at a later point
|
725
|
+
we can perhaps improve support for simple widgets in the cyberweb
|
726
|
+
project.
|
727
|
+
--------------------------------------------------------------------------------
|
728
|
+
(76) → add some way to collect or generate
|
729
|
+
good CSS and re-use them somehow.
|
730
|
+
also document to other people how this is done. Add more CSS
|
731
|
+
solutions in this regard and document them. Then eventually
|
732
|
+
deprecate this entry, or move it towards a "recurring-todo.md"
|
733
|
+
file or something.
|
734
|
+
--------------------------------------------------------------------------------
|
735
|
+
(77) → Make a flexible base directory and document it.
|
736
|
+
This should also be set-able via yaml files.
|
737
|
+
perhaps scan:
|
738
|
+
if has_dir? yaml/base_dir.yml
|
739
|
+
end
|
740
|
+
then document it, also in FEATURES
|
741
|
+
and then upload this.
|
742
|
+
^^^ such a file must be allowed to overrule any other setting!
|
743
|
+
and work on a per-project basis.
|
744
|
+
try_to_use_per_project_settings:
|
745
|
+
--------------------------------------------------------------------------------
|
746
|
+
(78) → write a forum for the web_object-project, in yaml initially.
|
747
|
+
^^^ make this work hmmmm then
|
748
|
+
show to the users how to work with it, as a proof-of-concept.
|
749
|
+
^^^ and rewrite the project TOO!
|
750
|
+
Well this works somewhat. Needs to be improved still.
|
751
|
+
--------------------------------------------------------------------------------
|
752
|
+
(79) → Add openID support. everyone likes openID so lets add that
|
753
|
+
--------------------------------------------------------------------------------
|
754
|
+
(80) → extend jquery examples, like via:
|
755
|
+
https://www.freecodecamp.org/news/the-best-jquery-examples/
|
756
|
+
https://www.w3schools.com/jquery/jquery_examples.asp
|
757
|
+
<meta name="DCTERMS.language" content="eng" />
|
758
|
+
^^^
|
759
|
+
https://terms.tdwg.org/wiki/dcterms:language
|
760
|
+
--------------------------------------------------------------------------------
|
761
|
+
(81) → http://asciimath.org/
|
762
|
+
^^^ integrate this.
|
763
|
+
--------------------------------------------------------------------------------
|
764
|
+
(82) → $(document).ready(function(){
|
765
|
+
$("p").click(function(){
|
766
|
+
$(this).hide();
|
767
|
+
});
|
768
|
+
});
|
769
|
+
^^ add:
|
770
|
+
div() {
|
771
|
+
}
|
772
|
+
on_click_hide('id_here')
|
773
|
+
^^^
|
774
|
+
--------------------------------------------------------------------------------
|
775
|
+
(83) → We can animate any element, such as a simple image:
|
776
|
+
<div id="clickme">
|
777
|
+
Click here
|
778
|
+
</div>
|
779
|
+
<img id="book" src="book.png" alt="" width="100" height="123">
|
780
|
+
// With the element initially shown, we can hide it slowly:
|
781
|
+
$( "#clickme" ).click(function() {
|
782
|
+
$( "#book" ).hide( "slow", function() {
|
783
|
+
alert( "Animation complete." );
|
784
|
+
});
|
785
|
+
});
|
786
|
+
--------------------------------------------------------------------------------
|
787
|
+
(84) → investigate charts in javascript
|
788
|
+
http://n3-charts.github.io/line-chart/#/home
|
789
|
+
https://d3js.org/
|
790
|
+
http://smoothiecharts.org/
|
791
|
+
--------------------------------------------------------------------------------
|