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
@@ -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
+ --------------------------------------------------------------------------------