cyberweb 0.4.174 → 0.5.225

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of cyberweb might be problematic. Click here for more details.

Files changed (625) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1782 -405
  3. data/bin/cyberweb_sanitize +10 -0
  4. data/bin/download_webpage +7 -0
  5. data/bin/html_to_cyberweb_converter +7 -0
  6. data/cyberweb.gemspec +25 -25
  7. data/doc/README.gen +1745 -383
  8. data/doc/USAGE.md +16 -16
  9. data/doc/{AUTHORS.md → authors.md} +0 -0
  10. data/doc/configuration/configuration.md +3 -1
  11. data/doc/deprecations.md +13 -7
  12. data/doc/{DOCUMENTATION_FOR_CYBERSPRAWL.md → documentation_for_cybersprawl.md} +7 -4
  13. data/doc/future_design_goals.md +33 -0
  14. data/doc/html_characters.md +7 -7
  15. data/doc/{JQUERY.md → jquery/jquery.md} +20 -12
  16. data/doc/{MOUSE.md → mouse.md} +1 -9
  17. data/doc/{RENDER_WEB_BASE.md → render_web_base.md} +11 -4
  18. data/doc/todo/todo_for_the_cyberweb_project.md +791 -0
  19. data/examples/advanced/animated_css_example/animated_css_example.html +47 -0
  20. data/examples/advanced/animated_submarine/animated_submarine.html +511 -0
  21. data/examples/advanced/animated_windmill/animated_windmill.html +468 -0
  22. data/examples/advanced/delayed_update_of_the_body_via_javascript.cgi +8 -5
  23. data/examples/advanced/draw_circle/draw_circle.cgi +36 -0
  24. data/examples/advanced/drop_shadow_examples.cgi +37 -0
  25. data/examples/advanced/games/snake/food.png +0 -0
  26. data/examples/advanced/games/snake/ground.png +0 -0
  27. data/examples/advanced/games/snake/snake.cgi +28 -0
  28. data/examples/advanced/games/tetris/tetris.cgi +7 -0
  29. data/examples/advanced/games/tetris/tetris.rb +17 -0
  30. data/examples/advanced/games/tetris/tetris.sinatra +58 -0
  31. data/examples/advanced/games/tic-tac-toe/tic-tac-toe.cgi +123 -0
  32. data/examples/advanced/get_some_coffee/get_some_coffee.html +293 -0
  33. data/examples/advanced/glow_on_hover_example/glow_on_hover_example.cgi +27 -0
  34. data/examples/advanced/hybrid_experiment.cgi +34 -12
  35. data/examples/advanced/images/global_css_rules_for_the_images.cgi +32 -0
  36. data/examples/advanced/larger_image_on_mouse_over_example.cgi +2 -2
  37. data/examples/advanced/no_right_click.cgi +4 -3
  38. data/examples/advanced/{objectified_html_tags.cgi → objectified_html_tags/objectified_html_tags.cgi} +12 -3
  39. data/examples/advanced/objectified_html_tags/testing_objectified_html_tags_with_the_webobject.cgi +28 -0
  40. data/examples/advanced/random_glow_effects.cgi +34 -0
  41. data/examples/advanced/select_everything_example/select_everything_example.cgi +25 -0
  42. data/examples/advanced/simple_calculator.cgi +13 -21
  43. data/examples/advanced/simple_form_example.cgi +11 -11
  44. data/examples/advanced/traffic_light/traffic_light.html +163 -0
  45. data/examples/advanced/weather_animation/weather_animation.html +560 -0
  46. data/examples/css/animated_3D_cube_example/animated_3D_cube_example.html +265 -0
  47. data/examples/css/animated_bird_example/animated_bird_example.html +207 -0
  48. data/examples/css/animated_desk_example/animated_desk_example.html +120 -0
  49. data/examples/css/animated_dog_example/animated_dog_example.html +432 -0
  50. data/examples/css/animated_submit_button.html +190 -0
  51. data/examples/css/animated_text_colour_change/animated_text_colour_change.html +41 -0
  52. data/examples/css/blue_border.html +3 -1
  53. data/examples/css/border_image_example/border_image_example.html +40 -0
  54. data/examples/css/box_shadow/box_shadow_example.html +18 -0
  55. data/examples/css/christmas_snow_globe_animation.html +596 -0
  56. data/examples/css/css_border_spacing_example.html +5 -5
  57. data/examples/css/css_bubbles.html +3 -1
  58. data/examples/css/css_checkboxes_example/css_checkboxes_example.html +110 -0
  59. data/examples/css/css_drag_and_drop.html +1 -5
  60. data/examples/css/css_grid_feline_style/css_grid_feline_style.html +161 -0
  61. data/examples/css/css_neon_glow_effects.html +1 -1
  62. data/examples/css/css_rotate_these_words.html +83 -0
  63. data/examples/css/css_text_decoration_example.html +7 -7
  64. data/examples/css/css_thermometer/css_thermometer.html +91 -0
  65. data/examples/css/{css_tooltip.html → css_tooltip/css_tooltip.html} +8 -6
  66. data/examples/css/css_typewriter_example/css_typewriter_example.html +226 -0
  67. data/examples/css/cyberweb_animated_logo/cyberweb_animated_logo.html +179 -0
  68. data/examples/css/daily_coffee/daily_coffee.html +1110 -0
  69. data/examples/css/different_colour_on_selected_text/different_colour_on_selected_text.html +31 -0
  70. data/examples/css/differentially_glowing_text_example/differentially_glowing_text_example.html +82 -0
  71. data/examples/css/fade_in_and_fade_out_effect.html +2 -2
  72. data/examples/css/flying_birds_example/flying_birds_example.html +171 -0
  73. data/examples/css/folding_cards_example/folding_cards_example.html +624 -0
  74. data/examples/css/font_size_examples.html +7 -5
  75. data/examples/css/glowing_on_hover_animation/glowing_on_hover_animation.html +90 -0
  76. data/examples/css/grow_example.html +31 -0
  77. data/examples/css/happy_toaster_example/happy_toaster_example.html +830 -0
  78. data/examples/css/landing_on_mars_animation/landing_on_mars_animation.html +374 -0
  79. data/examples/css/letter_spacing_example.cgi +18 -14
  80. data/examples/css/lighthouse_example/lighthouse_example.html +1161 -0
  81. data/examples/css/{meter_example.html → meter_example/meter_example.html} +0 -0
  82. data/examples/css/motorcycle_on_the_go/motorcycle_on_the_go.html +227 -0
  83. data/examples/css/on_hover_glow_effect/on_hover_glow_effect.html +50 -0
  84. data/examples/css/on_mouse_button_pressed.html +6 -4
  85. data/examples/css/our_solar_system/our_solar_system.html +441 -0
  86. data/examples/css/outline/outline_versus_border_example.html +57 -0
  87. data/examples/css/polaroid_card_effect_example/polaroid_card_effect_example.html +130 -0
  88. data/examples/css/responsive_image_gallery/responsive_image_gallery.html +97 -0
  89. data/examples/css/rotating_DNA/rotating_DNA.html +626 -0
  90. data/examples/css/rotating_sphere_example/rotating_sphere_example.html +112 -0
  91. data/examples/css/scale_example.html +4 -5
  92. data/examples/css/shadow_example_in_CSS/shadow_example_in_CSS.cgi +62 -0
  93. data/examples/css/shaking_shapes_example.html +133 -0
  94. data/examples/css/simple_stars_example/simple_stars_example.html +27 -0
  95. data/examples/css/slide_checkbox_example/slide_checkbox_example.html +564 -0
  96. data/examples/css/speak_bubble_quote_example/speak_bubble_quote_example.html +109 -0
  97. data/examples/css/speedy_truck_example/speedy_truck_example.html +168 -0
  98. data/examples/css/{sticky_div_example.html → sticky_div_example/sticky_div_example.html} +0 -0
  99. data/examples/css/stitched_div.html +9 -0
  100. data/examples/css/sun_and_clouds_animation/sun_and_clouds_animation.html +292 -0
  101. data/examples/css/talking_candles_example/talking_candles_example.html +550 -0
  102. data/examples/css/text_decoration_underline_example/text_decoration_underline_example.html +62 -0
  103. data/examples/css/this_is_a_cat/this_is_a_cat.html +219 -0
  104. data/examples/css/three_dots_indicating_page_loading.html +65 -0
  105. data/examples/css/user_select_example/user_select_example.html +24 -0
  106. data/examples/css/walking_cat/walking_cat.html +128 -0
  107. data/examples/css/water_wave_text_animation_effect/water_wave_text_animation_effect.html +86 -0
  108. data/examples/csv/README.md +2 -1
  109. data/examples/flip_card_example/flip_card_example.html +10 -3
  110. data/examples/games/README.md +3 -0
  111. data/examples/games/snake/images/food.png +0 -0
  112. data/examples/games/snake/images/ground.png +0 -0
  113. data/examples/games/snake/snake.html +16 -0
  114. data/examples/games/snake/snake.js +117 -0
  115. data/examples/games/tetris/smaller_tetris_game.html +518 -0
  116. data/examples/games/tetris/tetris.html +461 -0
  117. data/examples/games/tic-tac-toe/index.js +125 -0
  118. data/examples/games/tic-tac-toe/style.css +79 -0
  119. data/examples/games/tic-tac-toe/tic-tac-toe.html +39 -0
  120. data/examples/html/MathML/001_show_a_simple_quadratic_equation.html +22 -0
  121. data/examples/html/MathML/002_simple_equation.html +7 -0
  122. data/examples/html/MathML/003_function_of_example.html +17 -0
  123. data/examples/html/MathML/README.md +2 -0
  124. data/examples/html/abbr_example.html +2 -5
  125. data/examples/html/accordion/README.md +1 -0
  126. data/examples/html/accordion/accordion.html +56 -0
  127. data/examples/html/base64_image_example.html +8 -5
  128. data/examples/html/buttons_example.html +133 -0
  129. data/examples/html/canvas_drawing_example.html +54 -0
  130. data/examples/html/colour_wheel.html +441 -442
  131. data/examples/html/column_width_example.html +2 -2
  132. data/examples/html/custom_cursor.html +8 -5
  133. data/examples/html/cyberweb_logo/README.md +2 -0
  134. data/examples/html/cyberweb_logo/cyberweb_logo.html +11 -0
  135. data/examples/html/draggable_paragraph.html +1 -2
  136. data/examples/html/email_popup_example/email_popup_example.html +175 -0
  137. data/examples/html/fieldset_example.html +3 -1
  138. data/examples/html/font_examples/README.md +1 -0
  139. data/examples/html/font_examples/chancery_text.html +19 -0
  140. data/examples/html/font_examples/fantasy_text.html +19 -0
  141. data/examples/html/font_examples/georgia_text.html +19 -0
  142. data/examples/html/font_size_example/font_size_example.html +85 -0
  143. data/examples/html/glyph_example.html +0 -1
  144. data/examples/html/grayscale_filter_example/grayscale_filter_example.html +15 -0
  145. data/examples/html/html_links_example.html +61 -0
  146. data/examples/html/html_slider/html_slider.html +39 -0
  147. data/examples/html/input_autofocus_example.html +11 -7
  148. data/examples/html/input_placeholder_example.html +15 -0
  149. data/examples/html/larger_image_on_mouse_over_example.html +1 -1
  150. data/examples/html/ordered_and_unordered_bulletsin.html +4 -2
  151. data/examples/html/play_video_example.html +3 -2
  152. data/examples/html/remote_image_example.html +8 -2
  153. data/examples/html/select_everything_on_mouse_click_event.html +38 -0
  154. data/examples/html/selected_text_appears_in_another_colour_example.html +34 -0
  155. data/examples/html/send_email_hyperlink/send_email_hyperlink.html +8 -0
  156. data/examples/html/simple_unordered_list.html +3 -0
  157. data/examples/html/spinner_example/spinner.html +79 -0
  158. data/examples/html/table_with_header_example.html +26 -13
  159. data/examples/html/test_mkv_codec/test_mkv_codec.html +11 -0
  160. data/examples/html/two_columns_flex_example.html +4 -1
  161. data/examples/{javascript → javascript_and_jquery}/README.md +0 -0
  162. data/examples/{javascript → javascript_and_jquery}/arrays/arrays_example_in_javascript.html +0 -0
  163. data/examples/javascript_and_jquery/autocomplete_on_an_input_field/autocomplete_on_an_input_field.html +295 -0
  164. data/examples/javascript_and_jquery/change_the_background_colour_dynamically/change_the_background_colour_dynamically.html +41 -0
  165. data/examples/{javascript → javascript_and_jquery}/delay_example/delay_example.html +0 -0
  166. data/examples/{javascript → javascript_and_jquery}/drag_support/drag_support.html +0 -0
  167. data/examples/javascript_and_jquery/jquery_bubbling_header/bubbling_header.html +109 -0
  168. data/examples/{javascript → javascript_and_jquery}/jquery_drag_and_drop/drag_and_drop_image_example.html +0 -0
  169. data/examples/javascript_and_jquery/jquery_showcase/README.md +6 -0
  170. data/examples/javascript_and_jquery/jquery_showcase/jquery_001.cgi +23 -0
  171. data/examples/javascript_and_jquery/jquery_showcase/jquery_002.cgi +34 -0
  172. data/examples/javascript_and_jquery/jquery_showcase/jquery_003.cgi +24 -0
  173. data/examples/javascript_and_jquery/jquery_showcase/jquery_004.cgi +34 -0
  174. data/examples/javascript_and_jquery/on_change_event/on_change_event.html +29 -0
  175. data/examples/javascript_and_jquery/on_click_colour_change/on_click_colour_change.html +31 -0
  176. data/examples/javascript_and_jquery/on_click_display_random_number/on_click_display_random_number.html +43 -0
  177. data/examples/{javascript → javascript_and_jquery}/on_click_event_hello_world/on_click_event_hello_world.html +0 -0
  178. data/examples/javascript_and_jquery/on_mouse_wheel_event/on_mouse_wheel_event.html +37 -0
  179. data/examples/javascript_and_jquery/read_the_content_of_a_local_file/read_the_content_of_a_local_file.html +35 -0
  180. data/examples/{javascript → javascript_and_jquery}/rgb_to_hex/rgb_to_hex.html +0 -0
  181. data/examples/{javascript → javascript_and_jquery}/screen_resolution/screen_resolution.html +2 -1
  182. data/examples/{javascript → javascript_and_jquery}/select_everything/select_everything.html +1 -1
  183. data/examples/javascript_and_jquery/vue/README.md +1 -0
  184. data/examples/javascript_and_jquery/vue/showcasing_vue.html +80 -0
  185. data/examples/{javascript → javascript_and_jquery}/write_into_a_file/write_into_a_file.html +0 -0
  186. data/examples/rack/example_with_html_template.rb +5 -4
  187. data/examples/rack/example_with_rack_and_cyberweb_showing_how_to_use_images.rb +3 -2
  188. data/examples/rack/hello_world_example_with_rack.rb +3 -2
  189. data/examples/rack/lobster.rb +7 -5
  190. data/examples/rack/rack_env.rb +3 -3
  191. data/examples/{show_greek_letters.rb → show_greek_letters/show_greek_letters.rb} +0 -0
  192. data/examples/simple/input_example_with_coloured_focus.cgi +32 -0
  193. data/examples/simple/input_type_examples.cgi +51 -0
  194. data/examples/simple/on_click_event_hello_world.cgi +5 -5
  195. data/examples/simple/rotate_these_words.cgi +90 -0
  196. data/examples/{example1.rb → simple/show_how_to_set_a_title.rb} +0 -0
  197. data/examples/simple/simple_gradient.cgi +57 -0
  198. data/images/cyberweb_favicon.png +0 -0
  199. data/images/cyberweb_logo.png +0 -0
  200. data/images/cyberweb_theme.png +0 -0
  201. data/lib/cyberweb/REST/README.md +7 -0
  202. data/lib/cyberweb/REST/base/accept_entry.rb +94 -0
  203. data/lib/cyberweb/REST/base/application.rb +37 -0
  204. data/lib/cyberweb/REST/base/bad_request.rb +10 -0
  205. data/lib/cyberweb/REST/base/base.rb +1131 -0
  206. data/lib/cyberweb/REST/base/common_logger.rb +35 -0
  207. data/lib/cyberweb/REST/base/delegator.rb +75 -0
  208. data/lib/cyberweb/REST/base/error.rb +8 -0
  209. data/lib/cyberweb/REST/base/extended_rack.rb +66 -0
  210. data/lib/cyberweb/REST/base/helpers/helpers.rb +473 -0
  211. data/lib/cyberweb/REST/base/helpers/stream.rb +75 -0
  212. data/lib/cyberweb/REST/base/mime_type_entry.rb +67 -0
  213. data/lib/cyberweb/{constants/file_constants.rb → REST/base/not_found.rb} +10 -5
  214. data/lib/cyberweb/REST/base/request.rb +145 -0
  215. data/lib/cyberweb/REST/base/response.rb +94 -0
  216. data/lib/cyberweb/REST/base/templates/templates.rb +208 -0
  217. data/lib/cyberweb/REST/base/wrapper.rb +28 -0
  218. data/lib/cyberweb/{constants/nl.rb → REST/constants.rb} +8 -9
  219. data/lib/cyberweb/REST/main.rb +109 -0
  220. data/lib/cyberweb/REST/show_exceptions.rb +396 -0
  221. data/lib/cyberweb/and_sinatra_base.rb +0 -0
  222. data/lib/cyberweb/autoinclude.rb +0 -0
  223. data/lib/cyberweb/autoinclude_webobject.rb +0 -0
  224. data/lib/cyberweb/base/base.rb +9 -2
  225. data/lib/cyberweb/base/colours.rb +8 -6
  226. data/lib/cyberweb/base/constants.rb +8 -0
  227. data/lib/cyberweb/base/misc.rb +140 -53
  228. data/lib/cyberweb/base/save_file.rb +3 -0
  229. data/lib/cyberweb/base_module/base_module.rb +79 -0
  230. data/lib/cyberweb/cascading_style_sheets/admonition.css +0 -0
  231. data/lib/cyberweb/cascading_style_sheets/balloon.css +0 -0
  232. data/lib/cyberweb/cascading_style_sheets/border.css +107 -41
  233. data/lib/cyberweb/cascading_style_sheets/code.css +0 -0
  234. data/lib/cyberweb/cascading_style_sheets/colours.css +46 -23
  235. data/lib/cyberweb/cascading_style_sheets/css_reset.css +59 -0
  236. data/lib/cyberweb/cascading_style_sheets/cursors.css +14 -0
  237. data/lib/cyberweb/cascading_style_sheets/custom/animated_bike.css +199 -0
  238. data/lib/cyberweb/cascading_style_sheets/default.css +171 -136
  239. data/lib/cyberweb/cascading_style_sheets/div.css +18 -4
  240. data/lib/cyberweb/cascading_style_sheets/drop_shadow.css +154 -0
  241. data/lib/cyberweb/cascading_style_sheets/error_404_css_class.css +26 -0
  242. data/lib/cyberweb/cascading_style_sheets/fonts.css +60 -39
  243. data/lib/cyberweb/cascading_style_sheets/glow_effects.css +69 -0
  244. data/lib/cyberweb/cascading_style_sheets/gradient_effects.css +5 -0
  245. data/lib/cyberweb/cascading_style_sheets/hover.css +4212 -0
  246. data/lib/cyberweb/cascading_style_sheets/links.css +8 -8
  247. data/lib/cyberweb/cascading_style_sheets/margin.css +195 -178
  248. data/lib/cyberweb/cascading_style_sheets/menu.css +0 -0
  249. data/lib/cyberweb/cascading_style_sheets/message_boxes.css +0 -0
  250. data/lib/cyberweb/cascading_style_sheets/misc.css +51 -11
  251. data/lib/cyberweb/cascading_style_sheets/popup.css +0 -0
  252. data/lib/cyberweb/cascading_style_sheets/rpg.css +0 -0
  253. data/lib/cyberweb/cascading_style_sheets/ruby_regexes.css +12 -0
  254. data/lib/cyberweb/cascading_style_sheets/shapes.css +59 -0
  255. data/lib/cyberweb/cascading_style_sheets/template2.css +0 -0
  256. data/lib/cyberweb/cascading_style_sheets/text_shadow.css +21 -0
  257. data/lib/cyberweb/cascading_style_sheets/tooltip.css +0 -0
  258. data/lib/cyberweb/cgi/constants.rb +1 -2
  259. data/lib/cyberweb/cgi/exceptions.rb +1 -1
  260. data/lib/cyberweb/coloured_tags/coloured_tags.rb +1 -1
  261. data/lib/cyberweb/colours/colour_chart.rb +10 -56
  262. data/lib/cyberweb/colours/colours.rb +149 -4
  263. data/lib/cyberweb/commandline/commandline_interface.rb +13 -8
  264. data/lib/cyberweb/configuration/load_the_configuration_file.rb +1 -1
  265. data/lib/cyberweb/constants/constants.rb +592 -2
  266. data/lib/cyberweb/controller/{webobject_controller.rb → controller.rb} +1 -1
  267. data/lib/cyberweb/css_manager/css_manager.rb +237 -0
  268. data/lib/cyberweb/databases/sqlite.rb +56 -0
  269. data/lib/cyberweb/debug/debug.rb +1 -1
  270. data/lib/cyberweb/encoding/encoding.rb +11 -0
  271. data/lib/cyberweb/erb/test.rhtml +0 -0
  272. data/lib/cyberweb/erb/test_template.erb +0 -0
  273. data/lib/cyberweb/evaluate_from_the_same_named_file_then_serve.rb +1 -1
  274. data/lib/cyberweb/favicon/favicon.rb +8 -7
  275. data/lib/cyberweb/forum/README.md +4 -0
  276. data/lib/cyberweb/foto_gallery/foto_gallery.rb +158 -0
  277. data/lib/cyberweb/generator/README.md +2 -2
  278. data/lib/cyberweb/generator/cgi.rb +22 -9
  279. data/lib/cyberweb/generator/static_webpage.rb +22 -12
  280. data/lib/cyberweb/html_tags/README.md +3 -3
  281. data/lib/cyberweb/html_tags/button.rb +10 -2
  282. data/lib/cyberweb/html_tags/h2.rb +6 -4
  283. data/lib/cyberweb/html_tags/html_tags.rb +17 -1
  284. data/lib/cyberweb/html_tags/input.rb +10 -5
  285. data/lib/cyberweb/html_tags/legend.rb +1 -1
  286. data/lib/cyberweb/html_tags/span.rb +10 -2
  287. data/lib/cyberweb/html_tags/table.rb +30 -19
  288. data/lib/cyberweb/html_template/html_template.rb +248 -85
  289. data/lib/cyberweb/images/embed_this_image.rb +3 -1
  290. data/lib/cyberweb/images/images.rb +2 -2
  291. data/lib/cyberweb/images/is_image.rb +2 -1
  292. data/lib/cyberweb/images/path_to_images.rb +2 -1
  293. data/lib/cyberweb/images/remove_this_substring_from_all_images.rb +1 -1
  294. data/lib/cyberweb/images/standalone_drag_and_drop_this_image.rb +3 -3
  295. data/lib/cyberweb/images/string_image.rb +6 -3
  296. data/lib/cyberweb/images_base64_encoded/404_ERROR.png.md +1 -0
  297. data/lib/cyberweb/images_base64_encoded/AUSRUFUNGSZEICHEN.png.md +0 -0
  298. data/lib/cyberweb/images_base64_encoded/BLUEARROW.png.md +0 -0
  299. data/lib/cyberweb/images_base64_encoded/BUBBLE.png.md +0 -0
  300. data/lib/cyberweb/images_base64_encoded/CAT.png.md +0 -0
  301. data/lib/cyberweb/images_base64_encoded/CAUTION.png.md +0 -0
  302. data/lib/cyberweb/images_base64_encoded/CHEERING_PERSON.png.md +0 -0
  303. data/lib/cyberweb/images_base64_encoded/CURSOR.png.md +0 -0
  304. data/lib/cyberweb/images_base64_encoded/DOT_01.png.md +0 -0
  305. data/lib/cyberweb/images_base64_encoded/DUCKY.png.md +0 -0
  306. data/lib/cyberweb/images_base64_encoded/ELEPHANT.png.md +0 -0
  307. data/lib/cyberweb/images_base64_encoded/HALLOWEEN.png.md +0 -0
  308. data/lib/cyberweb/images_base64_encoded/HANGING_MONKEY.png.md +0 -0
  309. data/lib/cyberweb/images_base64_encoded/LENS.png.md +0 -0
  310. data/lib/cyberweb/images_base64_encoded/README.md +0 -0
  311. data/lib/cyberweb/images_base64_encoded/SIX_SIDED_DICE.png.md +1 -0
  312. data/lib/cyberweb/images_base64_encoded/TU_WIEN_LOGO.png.md +0 -0
  313. data/lib/cyberweb/images_base64_encoded/VOGEL.png.md +0 -0
  314. data/lib/cyberweb/javascript/drag_and_drop.rb +17 -14
  315. data/lib/cyberweb/javascript/javascript.rb +79 -34
  316. data/lib/cyberweb/javascript/javascript_clock.rb +50 -14
  317. data/lib/cyberweb/javascript/javascript_helper/javascript_helper.rb +59 -0
  318. data/lib/cyberweb/javascript/jquery.rb +9 -5
  319. data/lib/cyberweb/javascript/on_click_change_opacity.rb +5 -1
  320. data/lib/cyberweb/javascript/on_click_hide.rb +2 -0
  321. data/lib/cyberweb/javascript/popup.rb +5 -2
  322. data/lib/cyberweb/javascript/resize.rb +4 -1
  323. data/lib/cyberweb/javascript_code/README.md +1 -1
  324. data/lib/cyberweb/javascript_code/custom_functions.js +51 -25
  325. data/lib/cyberweb/javascript_code/disable_right_click.js +5 -0
  326. data/lib/cyberweb/javascript_code/games/snake.js +113 -0
  327. data/lib/cyberweb/javascript_code/games/tetris.js +491 -0
  328. data/lib/cyberweb/javascript_code/games/tic-tac-toe.js +125 -0
  329. data/lib/cyberweb/javascript_code/html_colours.js +161 -0
  330. data/lib/cyberweb/javascript_code/jquery/jquery-3.6.1.js +10909 -0
  331. data/lib/cyberweb/javascript_code/select_everything_on_mouse_click_event.js +23 -0
  332. data/lib/cyberweb/javascript_code/simple_calculator.js +3 -3
  333. data/lib/cyberweb/javascript_code/simulate_a_dice.js +20 -0
  334. data/lib/cyberweb/javascript_code/sleep.js +3 -0
  335. data/lib/cyberweb/mouse/mouse.rb +4 -1
  336. data/lib/cyberweb/objectified/html_tags/README.md +13 -0
  337. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/a.rb +17 -35
  338. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/abbr.rb +18 -9
  339. data/lib/cyberweb/objectified/html_tags/base.rb +960 -0
  340. data/lib/cyberweb/objectified/html_tags/blockquote.rb +106 -0
  341. data/lib/cyberweb/{objectified_html_tags/span.rb → objectified/html_tags/body.rb} +25 -20
  342. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/button.rb +26 -34
  343. data/lib/cyberweb/objectified/html_tags/canvas.rb +202 -0
  344. data/lib/cyberweb/objectified/html_tags/cite.rb +103 -0
  345. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/combobox.rb +26 -34
  346. data/lib/cyberweb/objectified/html_tags/div.rb +155 -0
  347. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/embed.rb +18 -33
  348. data/lib/cyberweb/objectified/html_tags/fieldset.rb +107 -0
  349. data/lib/cyberweb/objectified/html_tags/figure.rb +152 -0
  350. data/lib/cyberweb/objectified/html_tags/form.rb +155 -0
  351. data/lib/cyberweb/objectified/html_tags/h1.rb +176 -0
  352. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/h2.rb +32 -40
  353. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/h3.rb +30 -42
  354. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/h4.rb +30 -42
  355. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/h5.rb +31 -40
  356. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/h6.rb +31 -41
  357. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/hbox.rb +12 -10
  358. data/lib/cyberweb/objectified/html_tags/head.rb +126 -0
  359. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/img.rb +47 -32
  360. data/lib/cyberweb/objectified/html_tags/include_objectified_html_tags.rb +49 -0
  361. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/input.rb +50 -51
  362. data/lib/cyberweb/objectified/html_tags/map.rb +107 -0
  363. data/lib/cyberweb/{objectified_html_tags/div.rb → objectified/html_tags/meta.rb} +36 -47
  364. data/lib/cyberweb/{objectified_html_tags/h1.rb → objectified/html_tags/object.rb} +34 -42
  365. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/p.rb +17 -32
  366. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/pre.rb +28 -34
  367. data/lib/cyberweb/{objectified_html_tags/table.rb → objectified/html_tags/progress.rb} +99 -94
  368. data/lib/cyberweb/objectified/html_tags/span.rb +103 -0
  369. data/lib/cyberweb/objectified/html_tags/table.rb +257 -0
  370. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/textarea.rb +25 -36
  371. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/title.rb +11 -17
  372. data/lib/cyberweb/{objectified_html_tags/form.rb → objectified/html_tags/ul.rb} +45 -42
  373. data/lib/cyberweb/{objectified_html_tags → objectified/html_tags}/window.rb +15 -10
  374. data/lib/cyberweb/objectified/mask/README.md +8 -0
  375. data/lib/cyberweb/objectified/mask/compatibility_to_html_tags.rb +40 -0
  376. data/lib/cyberweb/objectified/mask/mask.rb +490 -0
  377. data/lib/cyberweb/objectified/web_object/README.md +4 -0
  378. data/lib/cyberweb/objectified/web_object/web_object.rb +119 -0
  379. data/lib/cyberweb/predefined_and_freeform_methods/frage.rb +4 -2
  380. data/lib/cyberweb/predefined_and_freeform_methods/freeform_methods.rb +30 -19
  381. data/lib/cyberweb/predefined_and_freeform_methods/hash_registered_extra_tags.rb +6 -0
  382. data/lib/cyberweb/predefined_and_freeform_methods/header.rb +2 -0
  383. data/lib/cyberweb/predefined_and_freeform_methods/predefined_methods.rb +10 -175
  384. data/lib/cyberweb/project/project.rb +9 -4
  385. data/lib/cyberweb/rack/request.rb +11 -11
  386. data/lib/cyberweb/raw_images/404.png +0 -0
  387. data/lib/cyberweb/raw_images/500.png +0 -0
  388. data/lib/cyberweb/raw_images/README.md +2 -0
  389. data/lib/cyberweb/raw_images/a_dice.png +0 -0
  390. data/lib/cyberweb/raw_images/food.png +0 -0
  391. data/lib/cyberweb/raw_images/ground.png +0 -0
  392. data/lib/cyberweb/requires/require_generators.rb +1 -1
  393. data/lib/cyberweb/requires/require_html_tags_files.rb +1 -1
  394. data/lib/cyberweb/requires/require_javascript_files.rb +1 -1
  395. data/lib/cyberweb/requires/require_objectified_html_tags_files.rb +29 -3
  396. data/lib/cyberweb/requires/require_the_constants.rb +3 -1
  397. data/lib/cyberweb/requires/require_the_cyberweb_project.rb +12 -31
  398. data/lib/cyberweb/requires/require_the_toplevel_methods_files.rb +1 -1
  399. data/lib/cyberweb/requires/require_web_object_files.rb +1 -1
  400. data/lib/cyberweb/requires/require_yaml.rb +3 -3
  401. data/lib/cyberweb/rest +1 -0
  402. data/lib/cyberweb/route_handler/class_based_test.rb +43 -0
  403. data/lib/cyberweb/route_handler/module/misc.rb +108 -0
  404. data/lib/cyberweb/route_handler/module/route_handler_module.rb +215 -0
  405. data/lib/cyberweb/route_handler/module/verbs.rb +53 -0
  406. data/lib/cyberweb/route_handler/route_handler.rb +56 -0
  407. data/lib/cyberweb/route_handler/test.rb +43 -0
  408. data/lib/cyberweb/{constants/array_predefined_constants.rb → sinatra/base/set_use_this_port.rb} +16 -9
  409. data/lib/cyberweb/sinatra/base/use_this_port.rb +40 -0
  410. data/lib/cyberweb/sinatra/base.rb +51 -36
  411. data/lib/cyberweb/sinatra/custom_extensions.rb +39 -14
  412. data/lib/cyberweb/standalone_classes/all_css_classes.rb +1 -1
  413. data/lib/cyberweb/standalone_classes/calculator.rb +7 -1
  414. data/lib/cyberweb/standalone_classes/correct_image_entries_in_html_file.rb +12 -7
  415. data/lib/cyberweb/standalone_classes/turn_html_into_cyberweb.rb +13 -11
  416. data/lib/cyberweb/svg/standalone/README.md +2 -0
  417. data/lib/cyberweb/svg/standalone/amusement_park.svg +738 -0
  418. data/lib/cyberweb/svg/svg.cgi +2 -3
  419. data/lib/cyberweb/toplevel_methods/a.rb +2 -1
  420. data/lib/cyberweb/toplevel_methods/anmerkung.rb +3 -0
  421. data/lib/cyberweb/toplevel_methods/audio.rb +1 -1
  422. data/lib/cyberweb/toplevel_methods/bold.rb +9 -3
  423. data/lib/cyberweb/toplevel_methods/charsets.rb +17 -13
  424. data/lib/cyberweb/toplevel_methods/consider_serving_the_web_object.rb +3 -3
  425. data/lib/cyberweb/toplevel_methods/css.rb +719 -25
  426. data/lib/cyberweb/{csv → toplevel_methods}/csv.rb +5 -3
  427. data/lib/cyberweb/{constants/roebe.rb → toplevel_methods/custom_error_page.rb} +10 -10
  428. data/lib/cyberweb/toplevel_methods/{date.rb → date_and_time.rb} +23 -10
  429. data/lib/cyberweb/toplevel_methods/disable.rb +7 -3
  430. data/lib/cyberweb/toplevel_methods/dot.rb +2 -2
  431. data/lib/cyberweb/toplevel_methods/download_webpage.rb +41 -3
  432. data/lib/cyberweb/toplevel_methods/edit_configuration_file.rb +1 -1
  433. data/lib/cyberweb/toplevel_methods/fields.rb +2 -0
  434. data/lib/cyberweb/toplevel_methods/filename.rb +3 -1
  435. data/lib/cyberweb/toplevel_methods/frames.rb +0 -2
  436. data/lib/cyberweb/toplevel_methods/google.rb +52 -0
  437. data/lib/cyberweb/{html_codes → toplevel_methods}/greek_letters.rb +22 -1
  438. data/lib/cyberweb/toplevel_methods/hardware_information.rb +2 -1
  439. data/lib/cyberweb/{help → toplevel_methods}/help.rb +3 -2
  440. data/lib/cyberweb/toplevel_methods/html_comment.rb +2 -2
  441. data/lib/cyberweb/toplevel_methods/html_tables.rb +401 -266
  442. data/lib/cyberweb/toplevel_methods/internal_hash.rb +173 -0
  443. data/lib/cyberweb/{io → toplevel_methods}/io.rb +1 -1
  444. data/lib/cyberweb/toplevel_methods/javascript.rb +42 -0
  445. data/lib/cyberweb/toplevel_methods/jquery.rb +8 -0
  446. data/lib/cyberweb/toplevel_methods/last_modified.rb +4 -0
  447. data/lib/cyberweb/toplevel_methods/links.rb +23 -7
  448. data/lib/cyberweb/toplevel_methods/listing.rb +2 -1
  449. data/lib/cyberweb/toplevel_methods/localhost.rb +3 -0
  450. data/lib/cyberweb/toplevel_methods/markdown.rb +3 -2
  451. data/lib/cyberweb/toplevel_methods/mathml.rb +5 -3
  452. data/lib/cyberweb/toplevel_methods/message_boxes.rb +6 -2
  453. data/lib/cyberweb/toplevel_methods/misc.rb +531 -79
  454. data/lib/cyberweb/toplevel_methods/padlem_and_marlem.rb +3 -0
  455. data/lib/cyberweb/toplevel_methods/path.rb +6 -1
  456. data/lib/cyberweb/toplevel_methods/pdf.rb +1 -1
  457. data/lib/cyberweb/toplevel_methods/process_content.rb +4 -7
  458. data/lib/cyberweb/toplevel_methods/progress.rb +6 -2
  459. data/lib/cyberweb/toplevel_methods/quote.rb +7 -1
  460. data/lib/cyberweb/toplevel_methods/random.rb +4 -1
  461. data/lib/cyberweb/toplevel_methods/rds.rb +14 -6
  462. data/lib/cyberweb/toplevel_methods/read_and_display.rb +3 -2
  463. data/lib/cyberweb/toplevel_methods/return_head_start.rb +1 -1
  464. data/lib/cyberweb/toplevel_methods/return_html_fin.rb +6 -3
  465. data/lib/cyberweb/toplevel_methods/return_html_header.rb +8 -3
  466. data/lib/cyberweb/toplevel_methods/return_html_start.rb +7 -2
  467. data/lib/cyberweb/toplevel_methods/return_meta_collection.rb +15 -4
  468. data/lib/cyberweb/toplevel_methods/return_pwd.rb +4 -0
  469. data/lib/cyberweb/toplevel_methods/return_strict_doctype.rb +8 -7
  470. data/lib/cyberweb/toplevel_methods/roebe.rb +6 -0
  471. data/lib/cyberweb/toplevel_methods/s2.rb +3 -1
  472. data/lib/cyberweb/toplevel_methods/sanitize_url.rb +7 -5
  473. data/lib/cyberweb/toplevel_methods/sbr.rb +7 -7
  474. data/lib/cyberweb/toplevel_methods/server_base_directory.rb +7 -3
  475. data/lib/cyberweb/toplevel_methods/show_and_display.rb +15 -15
  476. data/lib/cyberweb/toplevel_methods/show_configuration.rb +2 -2
  477. data/lib/cyberweb/toplevel_methods/spacer.rb +5 -2
  478. data/lib/cyberweb/toplevel_methods/svg.rb +62 -4
  479. data/lib/cyberweb/toplevel_methods/tag.rb +8 -2
  480. data/lib/cyberweb/toplevel_methods/temp_directory.rb +2 -2
  481. data/lib/cyberweb/toplevel_methods/textile.rb +2 -2
  482. data/lib/cyberweb/toplevel_methods/title.rb +14 -2
  483. data/lib/cyberweb/toplevel_methods/video.rb +3 -4
  484. data/lib/cyberweb/toplevel_methods/write_what_into.rb +2 -0
  485. data/lib/cyberweb/utility_scripts/README.md +3 -4
  486. data/lib/cyberweb/utility_scripts/autogenerate_drop_shadow_rules/autogenerate_drop_shadow_rules.rb +71 -0
  487. data/lib/cyberweb/utility_scripts/create_standalone_html_page.rb +223 -0
  488. data/lib/cyberweb/utility_scripts/download_all_images_from_this_website.rb +143 -0
  489. data/lib/cyberweb/utility_scripts/download_balloon_css.rb +1 -1
  490. data/lib/cyberweb/utility_scripts/fix_incorrect_links_to_locally_existing_images_in_this_file.rb +142 -0
  491. data/lib/cyberweb/utility_scripts/html_to_cyberweb_converter.rb +235 -0
  492. data/lib/cyberweb/utility_scripts/images_to_html/images_to_html.rb +878 -0
  493. data/lib/cyberweb/utility_scripts/images_to_html/misc.rb +62 -0
  494. data/lib/cyberweb/utility_scripts/new_tags.rb +105 -0
  495. data/lib/cyberweb/utility_scripts/simple_index/README.md +9 -0
  496. data/lib/cyberweb/utility_scripts/simple_index/simple_index.rb +149 -0
  497. data/lib/cyberweb/version/version.rb +2 -2
  498. data/lib/cyberweb/vue/README.md +2 -0
  499. data/lib/cyberweb/vue/vue.rb +91 -0
  500. data/lib/cyberweb/web_images/array_listing_all_project_images.rb +1 -1
  501. data/lib/cyberweb/web_images/map_symbol_to_image_location.rb +60 -4
  502. data/lib/cyberweb/web_images/web_images.rb +37 -20
  503. data/lib/cyberweb/{constants/array_images.rb → web_object/display_output_and_report.rb} +11 -10
  504. data/lib/cyberweb/web_object/english.rb +55 -0
  505. data/lib/cyberweb/web_object/favicon.rb +103 -22
  506. data/lib/cyberweb/web_object/html_tags.rb +1433 -0
  507. data/lib/cyberweb/web_object/images.rb +428 -398
  508. data/lib/cyberweb/web_object/{javascript.rb → javascript_and_jquery.rb} +174 -276
  509. data/lib/cyberweb/web_object/{links.rb → link.rb} +185 -83
  510. data/lib/cyberweb/web_object/misc.rb +3934 -3928
  511. data/lib/cyberweb/web_object/reset.rb +153 -67
  512. data/lib/cyberweb/web_object/run.rb +1 -1
  513. data/lib/cyberweb/web_object/web_object.rb +3690 -49
  514. data/lib/cyberweb/web_scraper/scrape_this_url.rb +4 -2
  515. data/lib/cyberweb/webmin/biology_server.cgi +14 -15
  516. data/lib/cyberweb/webmin/calculator.cgi +2 -2
  517. data/lib/cyberweb/webmin/colour_chart.cgi +4 -5
  518. data/lib/cyberweb/webmin/comments.cgi +8 -7
  519. data/lib/cyberweb/webmin/comments_data +0 -0
  520. data/lib/cyberweb/webmin/constants.rb +1 -2
  521. data/lib/cyberweb/webmin/dictionary.cgi +3 -4
  522. data/lib/cyberweb/webmin/sys_info.cgi +1 -2
  523. data/lib/cyberweb/webmin/webforum.cgi +1 -2
  524. data/lib/cyberweb/webmin/webmin.cgi +2 -3
  525. data/lib/cyberweb/yaml/autogenerated_system_settings.yml +10 -10
  526. data/lib/cyberweb/yaml/custom_tags.yml +1 -1
  527. data/lib/cyberweb/yaml/html5_global_attributes.yml +5 -1
  528. data/lib/cyberweb/yaml/html_tag_legend.yml +2 -0
  529. data/lib/cyberweb/yaml/http_status_codes.yml +4 -1
  530. data/lib/cyberweb/yaml/load_these_yaml_files_by_default.yml +29 -0
  531. data/lib/cyberweb/yaml/project_configuration.yml +42 -31
  532. data/lib/cyberweb/yaml/video_attributes.yml +2 -0
  533. data/lib/cyberweb/yaml/web_images.yml +1 -1
  534. data/test/REST/simple.rb +7 -0
  535. data/test/complex_tests/simple_sinatra_example_using_cyberweb/simple.rb +1 -1
  536. data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.cgi +1 -1
  537. data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.rb +4 -4
  538. data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.sinatra +1 -2
  539. data/test/complex_tests/testing_frames.cgi +3 -5
  540. data/test/complex_tests/testing_objectified_html_tags/testing_objectified_html_tags.html +28 -0
  541. data/test/complex_tests/testing_objectified_html_tags/testing_objectified_html_tags.rb +175 -0
  542. data/test/complex_tests/testing_style_variants/show_coloured_boxes.cgi +11 -7
  543. data/test/complex_tests/testing_tables.cgi +3 -3
  544. data/test/complex_tests/testing_the_cyberweb_shell.rb +2 -0
  545. data/test/complex_tests/testing_web_object.rb +5 -2
  546. data/test/css/README.md +4 -3
  547. data/test/css/return_the_content_of_these_css_classes.rb +5 -1
  548. data/test/css/test_hover_css/test_hover_css.cgi +59 -0
  549. data/test/css/test_ordered_list/test_ordered_list.cgi +31 -0
  550. data/test/css/testing_css_effects.cgi +3 -4
  551. data/test/css/testing_css_masking.cgi +3 -4
  552. data/test/hello_world/hello_world.cgi +6 -4
  553. data/test/html_template/html_template.rb +15 -0
  554. data/test/javascript/testing_custom_functions.js +24 -0
  555. data/test/javascript/testing_drag_and_drop_support.cgi +1 -1
  556. data/test/javascript/testing_on_click_change_opacity.cgi +4 -5
  557. data/test/javascript/testing_snowflakes.cgi +2 -2
  558. data/test/simple_tests/ad-hoc-test.cgi +5 -2
  559. data/test/simple_tests/cgi/hello_world_with_cyberweb.cgi +14 -0
  560. data/test/simple_tests/commandline_tests.rb +21 -15
  561. data/test/simple_tests/display_this_file.cgi +2 -2
  562. data/test/simple_tests/simple_html_example.cgi +2 -1
  563. data/test/simple_tests/simple_html_test_page/simple_html_test_page.html +20 -0
  564. data/test/simple_tests/simple_status_page.cgi +2 -2
  565. data/test/simple_tests/string_s2_test.rb +5 -0
  566. data/test/simple_tests/test_simple_string_as_input.rb +3 -1
  567. data/test/simple_tests/testing_base64_images.cgi +3 -4
  568. data/test/simple_tests/testing_checkboxes.cgi +22 -0
  569. data/test/simple_tests/testing_dragging_an_image.cgi +5 -6
  570. data/test/simple_tests/testing_editable_text.cgi +2 -3
  571. data/test/simple_tests/testing_email.cgi +6 -7
  572. data/test/simple_tests/testing_embedding_a_pdf_file.cgi +5 -5
  573. data/test/simple_tests/testing_google_charts.cgi +3 -3
  574. data/test/simple_tests/testing_html_forms.cgi +3 -3
  575. data/test/simple_tests/testing_html_template.rb +2 -0
  576. data/test/simple_tests/testing_popup_div.cgi +2 -3
  577. data/test/simple_tests/testing_return_dataset_without_any_comments.rb +3 -1
  578. data/test/simple_tests/testing_the_cap_box.cgi +3 -4
  579. data/test/simple_tests/testing_the_div_tag.cgi +3 -4
  580. data/test/simple_tests/testing_the_headers_tag.cgi +3 -4
  581. data/test/simple_tests/testing_the_html_colours.cgi +2 -3
  582. data/test/simple_tests/testing_the_info_box.cgi +2 -3
  583. data/test/simple_tests/testing_the_li_tag.cgi +2 -1
  584. data/test/simple_tests/testing_the_s2_method.rb +6 -1
  585. data/test/simple_tests/testing_the_select_tag.cgi +16 -8
  586. data/test/simple_tests/testing_the_span_tag.cgi +2 -3
  587. data/test/simple_tests/testing_web_images.rb +4 -2
  588. data/test/testing_html_tags/button_example.cgi +6 -7
  589. metadata +345 -151
  590. data/doc/CONVENTIONS.md +0 -7
  591. data/doc/CYBERWEB_TUTORIAL.cgi +0 -43
  592. data/doc/FUTURE_DESIGN_GOAL_CONSIDERATIONS.md +0 -13
  593. data/doc/todo/TODO_FOR_THE_CYBERWEB_PROJECT.md +0 -1089
  594. data/examples/css/shadow_example_in_CSS.cgi +0 -30
  595. data/lib/cyberweb/charts/README.md +0 -2
  596. data/lib/cyberweb/charts/google_charts.rb +0 -51
  597. data/lib/cyberweb/colours/random_colour.rb +0 -28
  598. data/lib/cyberweb/colours/sanitize_for_colours.rb +0 -95
  599. data/lib/cyberweb/constants/array_local_css_files.rb +0 -35
  600. data/lib/cyberweb/constants/configuration_file.rb +0 -33
  601. data/lib/cyberweb/constants/http_status_codes.rb +0 -42
  602. data/lib/cyberweb/constants/project_constants.rb +0 -99
  603. data/lib/cyberweb/constants/standalone_constants.rb +0 -309
  604. data/lib/cyberweb/csv/README.md +0 -2
  605. data/lib/cyberweb/generator/webpage_for_images.rb +0 -553
  606. data/lib/cyberweb/html_codes/README.md +0 -15
  607. data/lib/cyberweb/images/real/README.md +0 -6
  608. data/lib/cyberweb/io/README.md +0 -1
  609. data/lib/cyberweb/javascript/scroll.rb +0 -17
  610. data/lib/cyberweb/objectified_html_tags/README.md +0 -8
  611. data/lib/cyberweb/objectified_html_tags/base.rb +0 -376
  612. data/lib/cyberweb/predefined_and_freeform_methods/hash_css_class_to_use.rb +0 -55
  613. data/lib/cyberweb/requires/require_charts.rb +0 -20
  614. data/lib/cyberweb/web_object/css.rb +0 -627
  615. data/lib/cyberweb/web_object/evaluate.rb +0 -126
  616. data/lib/cyberweb/web_object/html_related_tags.rb +0 -320
  617. data/lib/cyberweb/web_object/initialize.rb +0 -51
  618. data/lib/cyberweb/web_object/input_related_functionality.rb +0 -414
  619. data/lib/cyberweb/web_object/languages.rb +0 -172
  620. data/lib/cyberweb/web_object/params.rb +0 -289
  621. data/lib/cyberweb/web_object/sinatra_related_functionality.rb +0 -30
  622. data/lib/cyberweb/web_object/sitemap.rb +0 -176
  623. data/lib/cyberweb/web_object/table.rb +0 -378
  624. data/test/complex_tests/testing_objectified_html_tags.rb +0 -82
  625. data/test/javascript/testing_cheerleader_javascript.cgi +0 -0
@@ -1,627 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'cyberweb/web_object/css.rb'
6
- # =========================================================================== #
7
- require 'cyberweb/base/base.rb'
8
-
9
- module Cyberweb
10
-
11
- class WebObject < Base # === Cyberweb::WebObject
12
-
13
- require 'cyberweb/toplevel_methods/css.rb'
14
-
15
- # ========================================================================= #
16
- # === return_default_css_files
17
- # ========================================================================= #
18
- def return_default_css_files(
19
- array_local_css_files = ARRAY_LOCAL_CSS_FILES
20
- )
21
- _ = ''.dup
22
- array_local_css_files.each {|this_css_file|
23
- _ << '<link rel="stylesheet" type="text/css" '\
24
- 'href="'+relative_path?+'cascading_style_sheet/'+
25
- this_css_file+'" />'+"\n"
26
- }
27
- _
28
- end
29
-
30
- # ========================================================================= #
31
- # === append_this_to_the_body_css
32
- # ========================================================================= #
33
- def append_this_to_the_body_css(i)
34
- @internal_hash[:body_css_style] << i
35
- end
36
-
37
- # ========================================================================= #
38
- # === return_css_style
39
- #
40
- # This method will simply return the <style>CONTENT_HERE</style> variant.
41
- # ========================================================================= #
42
- def return_css_style(i)
43
- if i.is_a? Hash
44
- _ = ''.dup
45
- i.each_pair {|key, value|
46
- _ << "#{key} = #{value};"
47
- }
48
- i = _
49
- end
50
- return "<style>\n#{i}\n</style>\n"
51
- end; alias return_this_css_style return_css_style # === return_this_css_style
52
- alias page_css_classes return_css_style # === page_css_classes
53
-
54
- # ========================================================================= #
55
- # === generate_drop_shadow
56
- #
57
- # This method will "generate" a drop shadow.
58
- #
59
- # Combined usage example:
60
- #
61
- # generate_drop_shadow :red, :default, 'drop_shadow_red'
62
- # div('pad0_5em drop_shadow_red') {
63
- #
64
- # ========================================================================= #
65
- def generate_drop_shadow(
66
- use_this_colour = '#585858',
67
- border = :default,
68
- use_this_name_for_the_CSS_class = 'drop_shadow'
69
- )
70
- case border
71
- # ======================================================================= #
72
- # === :default
73
- # ======================================================================= #
74
- when :default
75
- border = '2px 4px 8px'
76
- end
77
- css_style(
78
- '.'+use_this_name_for_the_CSS_class.to_s+' {
79
- filter: drop-shadow('+border.to_s+' '+use_this_colour.to_s+');
80
- }'
81
- )
82
- end
83
-
84
- # ========================================================================= #
85
- # === css_style
86
- #
87
- # Use this method to define the css style for the given web object.
88
- #
89
- # If the last four characters of the argument provided to this method
90
- # end with ".css" then we will try to read the file specified
91
- # therein. (In this case we assume that it must be a .css file
92
- # that was passed into this method.)
93
- #
94
- # In order to use templates, do something like the following:
95
- #
96
- # css_style = :template1
97
- #
98
- # :symbol names can be used, such as :template1, :template2
99
- # and so forth. Alternatively, you can pass a String, or embed
100
- # the template-variants via a format such as '#TEMPLATE1#', which
101
- # will be substituted with whatever :template1 would normally
102
- # return.
103
- # ========================================================================= #
104
- def css_style(
105
- i = :default
106
- )
107
- # ======================================================================= #
108
- # === Special handling of Symbols given here
109
- # ======================================================================= #
110
- if i.is_a? Symbol
111
- case i
112
- # ===================================================================== #
113
- # === :default
114
- #
115
- # This can be used like in this way:
116
- #
117
- # css_style :template1
118
- #
119
- # ===================================================================== #
120
- when :default,
121
- :template,
122
- :template1,
123
- :css_template1
124
- i = css_comment('Generated via `'+i.to_s+'`')+
125
- TEMPLATE1 # <- This is CSS/default.css
126
- # ===================================================================== #
127
- # === :template2
128
- # ===================================================================== #
129
- when :template2
130
- i = css_comment('Generated via `'+i.to_s+'`')+
131
- TEMPLATE2
132
- # ===================================================================== #
133
- # === :code
134
- # ===================================================================== #
135
- when :code
136
- i = css_comment('Generated via `'+i.to_s+'`')+
137
- CODE_TEMPLATE
138
- # ===================================================================== #
139
- # === :template_ruby_regex
140
- # ===================================================================== #
141
- when :template_ruby_regex
142
- i = css_comment('Generated via `'+i.to_s+'`')+
143
- TEMPLATE_RUBY_REGEX
144
- end
145
- i = i.join('') if i.is_a? Array # Join them all.
146
- end
147
- # ======================================================================= #
148
- # Next, substitute for #TEMPLATE1 macro.
149
- # ======================================================================= #
150
- if i.to_s.include? '#TEMPLATE1'
151
- i = i.dup if i.frozen?
152
- i.gsub!(/#TEMPLATE1/, TEMPLATE1)
153
- end
154
- if i and i.end_with?('.css') # assume we pass a .css file here.
155
- i = readlines(i).join('') if File.exist?(i)
156
- end
157
- # ======================================================================= #
158
- # Next, we will always append to the @css_style instance variable.
159
- # This allows os to build-up the CSS for a webpage.
160
- # ======================================================================= #
161
- add_with_newline(
162
- return_css_style(i)
163
- )
164
- end; alias main_css_style css_style # === main_css_style
165
- alias main_css css_style # === main_css
166
- alias css_main_style css_style # === css_main_style
167
- alias add_this_css_style css_style # === add_this_css_style
168
- alias css_class css_style # === css_class
169
- alias css_classes css_style # === css_classes
170
- alias c_style= css_style # === c_style=
171
- alias c_class= css_style # === c_class=
172
- alias css_style= css_style # === css_style=
173
- alias general_css= css_style # === general_css=
174
- alias css= css_style # === css=
175
- alias css_template= css_style # === css_template=
176
- alias css_main css_style # === css_main
177
- alias css_main_class css_style # === css_main_class
178
- alias css_code css_style # === css_code
179
- alias c1= css_style # === c1=
180
- alias c1 css_style # === c1
181
- alias main_css_class css_style # === main_css_class
182
- alias css_style css_style # === css_style
183
- alias append_to_css_style css_style # === append_to_css_style
184
- alias append_this_css css_style # === append_this_css
185
- alias inline_css css_style # === inline_css
186
- alias add_css_style css_style # === add_css_style
187
-
188
- # ========================================================================= #
189
- # === hide_scrollbars
190
- #
191
- # This method can be used to hide the scrollbars, by using CSS.
192
- #
193
- # I do not recommend to use it, but it exists mostly due to
194
- # convenience - and perhaps the user may have a real use
195
- # case for this, such as browser-kiosk mode, or something
196
- # similar.
197
- #
198
- # The idea I had when reading this description:
199
- #
200
- # https://www.w3schools.com/howto/howto_css_hide_scrollbars.asp
201
- #
202
- # ========================================================================= #
203
- def hide_scrollbars
204
- append_this_to_the_body_css '
205
- overflow: hidden; /* Hide scrollbars */
206
- '
207
- end; alias disable_scrollbars hide_scrollbars # === disable_scrollbars
208
-
209
- # ========================================================================= #
210
- # === set_body_css_class
211
- #
212
- # This method can be used to designate a (or several) css_class(es)
213
- # in the <body> tag of a webpage.
214
- # ========================================================================= #
215
- def set_body_css_class(
216
- i = ''
217
- )
218
- @internal_hash[:body_css_class] = i.to_s
219
- end; alias body_css_class set_body_css_class # === body_css_class
220
- alias body_css_class= set_body_css_class # === body_css_class=
221
- alias body_css_classes set_body_css_class # === body_css_classes
222
- alias body_css_class set_body_css_class # === body_css_class
223
- alias body_css= set_body_css_class # === body_css=
224
- alias body_css set_body_css_class # === body_css
225
- alias bcc= set_body_css_class # === bcc=
226
- alias bcc set_body_css_class # === bcc
227
- alias main_body= set_body_css_class # === main_body?
228
- alias main_body set_body_css_class # === main_body
229
- alias body= set_body_css_class # === body?
230
- alias body set_body_css_class # === body
231
- alias css_class set_body_css_class # === css_class
232
- alias b1= set_body_css_class # === b1=
233
- alias b1 set_body_css_class # === b1
234
-
235
- # ========================================================================= #
236
- # === set_body_css_style
237
- #
238
- # Use this to specify a css style for use in the <body> tag.
239
- #
240
- # An example for this may be the following:
241
- #
242
- # { padding: 25em; }
243
- #
244
- # ========================================================================= #
245
- def set_body_css_style(i)
246
- # ======================================================================= #
247
- # Since as of Apr 2016, we get rid of all newlines too.
248
- # ======================================================================= #
249
- if i
250
- i = i.dup if i.frozen?
251
- i.delete!("\n") if i.include? "\n"
252
- end
253
- @internal_hash[:body_css_style] = i
254
- end; alias body_css_style set_body_css_style # === body_css_style
255
- alias body_css_style= set_body_css_style # === body_css_style=
256
- alias body_style= set_body_css_style # === body_style=
257
- alias body_style set_body_css_style # === body_style
258
- alias bcs= set_body_css_style # === bcs=
259
- alias bcs set_body_css_style # === bcs
260
- alias css1= set_body_css_style # === css1=
261
- alias css1 set_body_css_style # === css1
262
- alias body_css set_body_css_style # === body_css
263
-
264
- # ========================================================================= #
265
- # === fetch_css_classes
266
- #
267
- # Use this method to find matching entries. Invoke it at the end
268
- # after loading your web object. It will then return an array
269
- # with your css class (which you can then inject).
270
- #
271
- # Usage example:
272
- #
273
- # w.fetch_css_classes
274
- # w.print_this_css(web_object.fetch_css_classes)
275
- #
276
- # ========================================================================= #
277
- def fetch_css_classes(
278
- i = CSS_DIRECTORY
279
- )
280
- array_collection = []
281
- these_classes_exist = ::Cyberweb.found_these_css_classes
282
- # ======================================================================= #
283
- # For the following code to work, CSS_DIRECTORY must obviously exist.
284
- # This constant will refer to the css classes that are part of Cyberweb.
285
- # ======================================================================= #
286
- Dir.foreach(i) {|file|
287
- next if File.directory?(file)
288
- if File.exist? css_dir+'/'+file
289
- _ = readlines(css_dir+'/'+file)
290
- _.each {|line|
291
- these_classes_exist.each { |entry|
292
- array_collection << line if line.include? entry and line =~ /^\.#{entry} /
293
- }
294
- }
295
- end
296
- }
297
- return array_collection
298
- end
299
-
300
- # ========================================================================= #
301
- # === found_these_css_classes?
302
- #
303
- # To display all the CSS classes we use, do something like this:
304
- #
305
- # pre found_these_css_classes?.join(''+"\n")
306
- #
307
- # ========================================================================= #
308
- def found_these_css_classes?
309
- ::Cyberweb.found_these_css_classes?
310
- end
311
-
312
- # ========================================================================= #
313
- # === show_missing_css_classes
314
- #
315
- # This method will show missing CSS classes.
316
- #
317
- # In order for this to work, we depend on class AllCssClasses.
318
- # ========================================================================= #
319
- def show_missing_css_classes
320
- _ = ::Cyberweb::AllCssClasses.new(:default, false)
321
- _.test ::Cyberweb.found_these_css_classes
322
- _.run
323
- result = _.result
324
- spacer
325
- h2 'Result'
326
- pre result.to_s
327
- pre ::Cyberweb.found_these_css_classes.to_s
328
- spacer
329
- div('mart1em mars2em pad1em','','RAND_BORD_2PX') {
330
- h2 'Now showing all missing <b class="orange">'+
331
- 'CSS classes</b> for this page:'
332
- result.each { |entry|
333
- marl2em sg(:pfeil_rechts,'marr4px')+entry, 'red'
334
- }
335
- }
336
- end
337
-
338
- # ========================================================================= #
339
- # === return_css_style_for_the_triangle_isosceles_bubble
340
- #
341
- # This method will return two CSS classes, which can be used if you
342
- # want to make use of CSS bubbles. Currently only the downwards-facing
343
- # triangle is available.
344
- #
345
- # The original source has been adapted from here:
346
- #
347
- # http://nicolasgallagher.com/pure-css-speech-bubbles/demo/
348
- #
349
- # ========================================================================= #
350
- def return_css_style_for_the_triangle_isosceles_bubble(
351
- additional_css_rules = ''
352
- )
353
- if additional_css_rules and additional_css_rules.empty?
354
- additional_css_rules = 'margin: 1em 0 3em;'
355
- end
356
- return '.triangle_isosceles_bubble {
357
- position:relative;
358
- padding:15px;
359
- '+additional_css_rules.to_s+';
360
- width:500px;
361
- color:#000;
362
- background:#f3961c; /* default background for browsers without gradient support */
363
- /* css3 */
364
- background:linear-gradient(#f9d835, #f3961c);
365
- border-radius:10px;
366
- border: 1px solid black;
367
- }
368
-
369
- /* This class creates the triangle that faces downwards */
370
- .triangle_isosceles_bubble:after {
371
- content:"";
372
- position:absolute;
373
- bottom:-13px; /* value = - border-top-width - border-bottom-width */
374
- left:30px; /* controls the horizontal position */
375
- border-width: 15px 15px 0; /* vary these values to change the angle of the vertex */
376
- border-style: solid;
377
- border-color: #f3961c transparent;
378
- display:block;
379
- width:0;
380
- }'
381
- end
382
-
383
- # ========================================================================= #
384
- # === colour_gradient_left_to_right
385
- #
386
- # This method will "return" a CSS class, for a colour-gradient left to
387
- # right.
388
- # ========================================================================= #
389
- def colour_gradient_left_to_right(
390
- colour1 = :steelblue,
391
- colour2 = :darkgreen,
392
- css_name_that_will_be_returned = '.gradient1'
393
- )
394
- return "#{css_name_that_will_be_returned} {
395
- background: linear-gradient(to right, #{colour1}, #{colour2});
396
- }"
397
- end; alias colour_gradient colour_gradient_left_to_right # === colour_gradient
398
-
399
- # ========================================================================= #
400
- # === colour_gradient_right_to_left
401
- #
402
- # This method will "return" a CSS class, for a colour-gradient left to
403
- # right.
404
- # ========================================================================= #
405
- def colour_gradient_right_to_left(
406
- colour1 = :steelblue,
407
- colour2 = :darkgreen,
408
- css_name_that_will_be_returned = '.gradient1'
409
- )
410
- return "#{css_name_that_will_be_returned} {
411
- background: linear-gradient(to left, #{colour1}, #{colour2});
412
- }"
413
- end
414
-
415
- # ========================================================================= #
416
- # === css_class_or_no_class
417
- # ========================================================================= #
418
- def css_class_or_no_class(i = '')
419
- unless i.to_s.empty?
420
- i = " class=\"#{i}\""
421
- end
422
- return i
423
- end
424
-
425
- # ========================================================================= #
426
- # === css_style_or_no_style
427
- # ========================================================================= #
428
- def css_style_or_no_style(i = '')
429
- unless i.to_s.empty?
430
- i = " style=\"#{i}\""
431
- end
432
- return i
433
- end
434
-
435
- # ========================================================================= #
436
- # === set_font_size
437
- #
438
- # Set the font size to use via this method.
439
- #
440
- # Usage example for this:
441
- #
442
- # w.font_size = '1.1em'
443
- #
444
- # ========================================================================= #
445
- def set_font_size(
446
- this_font_size = 'default'
447
- )
448
- # ======================================================================= #
449
- # We will work on Strings past the next point.
450
- # ======================================================================= #
451
- this_font_size = this_font_size.to_s.strip
452
- # ======================================================================= #
453
- # Remove leading 'FS' strings - at the least this is the main rationale
454
- # for the following .sub!() method call.
455
- # ======================================================================= #
456
- this_font_size.sub!(/FS/,'') if this_font_size.include? 'FS'
457
- this_font_size.gsub!(/_/,'.') if this_font_size.include? '_'
458
- case this_font_size
459
- # ======================================================================= #
460
- # === larger
461
- # ======================================================================= #
462
- when 'larger',
463
- 'bigger'
464
- this_font_size = '1.10em;'
465
- # ======================================================================= #
466
- # === smaller
467
- # ======================================================================= #
468
- when 'smaller'
469
- this_font_size = @config['default_smaller_font_size']
470
- when 'def','default'
471
- # ===================================================================== #
472
- # The default font size. Can be found in the config file.
473
- # constant still has it though.
474
- # ===================================================================== #
475
- this_font_size = @config['default_font_size']
476
- end
477
- # ======================================================================= #
478
- # Now sanitize it a bit.
479
- # ======================================================================= #
480
- this_font_size = this_font_size.delete(' ')
481
- addnl(
482
- return_this_css_style(
483
- 'body { font-size:'+this_font_size+'; }'
484
- )
485
- )
486
- end; alias font_size= set_font_size # === font_size=
487
- alias font_size set_font_size # === font_size
488
- alias use_this_font_size set_font_size # === use_this_font_size
489
-
490
- # ========================================================================= #
491
- # === use_monospace_font
492
- #
493
- # By default this will use the "Lucida Console" font.
494
- # ========================================================================= #
495
- def use_monospace_font(
496
- use_this_font = '"Lucida Console", Monaco, monospace'
497
- )
498
- use_this_font = use_this_font.dup if use_this_font.frozen?
499
- use_this_font << ';' unless use_this_font.end_with? ';'
500
- append_to_css_style '
501
- body {
502
- font-family: '+use_this_font+'
503
- }
504
- '
505
- end; alias monospace_font use_monospace_font # === monospace_font
506
-
507
- # ========================================================================= #
508
- # === add_all_local_css_files
509
- # ========================================================================= #
510
- def add_all_local_css_files(
511
- i = ARRAY_LOCAL_CSS_FILES
512
- )
513
- # if is_on_roebe?
514
- # into = Cyberweb.log_directory?+'css_dataset.css'
515
- # if File.exist? into
516
- # File.delete(into)
517
- # end
518
- # mkdir(Cyberweb.log_directory?) unless File.directory?(Cyberweb.log_directory?)
519
- # end
520
- i.each {|this_css_file|
521
- if this_css_file.frozen?
522
- this_css_file = this_css_file.dup
523
- end
524
- this_css_file << '.css' unless this_css_file.end_with? '.css'
525
- # ===================================================================== #
526
- # Add the content of these style-sheets as-is.
527
- # ===================================================================== #
528
- # if File.exist? target
529
- # addn(return_css_style(File.read(target)))
530
- # end
531
- # ===================================================================== #
532
- # The following code is for link-rel stylesheets, but it is a
533
- # bit buggy. May have to fix this at a later time.
534
- # ===================================================================== #
535
- # _ = '<link rel="stylesheet" type="text/css" '\
536
- # 'href="'+relative_path?+'cascading_style_sheets/'+this_css_file+'" />'
537
- # _ = '<link rel="stylesheet" type="text/css" '\
538
- # 'href="'+::Cyberweb.project_base_dir?'" />'
539
- target_file = Cyberweb.project_base_dir?+'cascading_style_sheets/'+this_css_file
540
- if File.exist? target_file
541
- content_of_this_css_file = File.read(target_file, encoding: use_which_encoding?)
542
- dataset = ::Cyberweb.style_tag(content_of_this_css_file)
543
- addnl(dataset)
544
- # if is_on_roebe?
545
- # append_what_into(dataset, into)
546
- # end
547
- else
548
- e "No file exists at #{target_file}."
549
- end
550
- }
551
- end; alias add_default_css_files add_all_local_css_files # === add_default_css_files
552
- alias append_default_css_files add_all_local_css_files # === append_default_css_files
553
-
554
- # ========================================================================= #
555
- # === set_background
556
- #
557
- # Use this to set a specific background colour.
558
- #
559
- # Usage example:
560
- #
561
- # w.background = 'black'
562
- #
563
- # Hmm doesn't seem to work ... odd.
564
- # ========================================================================= #
565
- def set_background(
566
- colour = 'black'
567
- )
568
- _ = 'body { '.dup
569
- case colour # Handle symbols here, since Jan 2014.
570
- when :scroll
571
- _ << ' background-attachment: scroll; '
572
- else
573
- _ << "background-color: #{colour};"
574
- end
575
- _ << ' }'
576
- add_this_css_style(_)
577
- end; alias background_colour set_background # === background_colour
578
- alias background_color set_background # === background_color
579
- alias background_color= set_background # === background_color?
580
- alias background_colour= set_background # === background_colour=
581
- alias background set_background # === background
582
-
583
- # ========================================================================= #
584
- # === add_this_remote_css_page
585
- #
586
- # Use this method in order to include a remote css file.
587
- #
588
- # The argument to this method should be the remote URL that
589
- # you want to access.
590
- #
591
- # Please use use this method solely for remote URLs.
592
- #
593
- # Specific Usage Example:
594
- #
595
- # css_remote_url 'http://www.playgroundblues.com/media/stylesheets/screen.css'
596
- #
597
- # ========================================================================= #
598
- def add_this_remote_css_page(i)
599
- addnl(
600
- '<link rel="stylesheet" href="'+i+'" type="text/css" media="screen">'
601
- )
602
- end; alias css_remote_url add_this_remote_css_page # === css_remote_url
603
- alias external_stylesheet add_this_remote_css_page # === external_stylesheet
604
- alias remote_css add_this_remote_css_page # === remote_css
605
- alias add_remote_css_page add_this_remote_css_page # === add_remote_css_page
606
- alias css_file= add_this_remote_css_page # === css_file=
607
- alias add_css_file add_this_remote_css_page # === add_css_file
608
- alias css_file add_this_remote_css_page # === css_file
609
- alias external_style_sheet add_this_remote_css_page # === external_style_sheet
610
-
611
- # ========================================================================= #
612
- # === white_font
613
- # ========================================================================= #
614
- def white_font
615
- add_this_css_style(
616
- 'body { color: white; }'
617
- )
618
- end
619
-
620
- # ========================================================================= #
621
- # === listing_css
622
- # ========================================================================= #
623
- def listing_css(i)
624
- ::Cyberweb.listing_css_object = i
625
- end
626
-
627
- end; end