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,1089 +0,0 @@
1
- # =========================================================================== #
2
- # === TODOs for the Cyberweb Project
3
- # =========================================================================== #
4
-
5
- -------------------------------------------------------------------------------
6
- (1) Add www-support for the simple widgets project.
7
-
8
- This may take a longer while so before we go to do that, perhaps
9
- first make libui+ruby-gtk3 support better. Then at a later point
10
- we can perhaps improve support for simple widgets in the cyberweb
11
- project.
12
- ------------------------------------------------------------------------------
13
- (2) - add some way to collect or generate
14
- good CSS and re-use them somehow
15
-
16
- also document to other people how this is done.
17
- -------------------------------------------------------------------------------
18
- (3) -
19
-
20
- require "http/server"
21
-
22
- # === response?
23
- def response?
24
- "Hello world! The time is #{Time.now}"
25
- end
26
-
27
- server = HTTP::Server.new(8080) { |request|
28
- # What to show in response.
29
- HTTP::Response.ok "text/plain",
30
- response?
31
- }
32
-
33
- puts "Listening on http://0.0.0.0:8080"
34
- server.listen
35
- ^^^ add ?time
36
-
37
- or something to display the time.
38
- ^^^ this was now implemented
39
- document it, test it, and then when it works, remove the entry here.
40
-
41
- -------------------------------------------------------------------------------
42
- (4) - Make a flexible base directory and document it.
43
-
44
- This should also be set-able via yaml files.
45
-
46
- perhaps scan:
47
-
48
- if has_dir? yaml/base_dir.yml
49
- end
50
-
51
- then document it, also in FEATURES
52
- and then upload this.
53
-
54
- ^^^ such a file must be allowed to overrule any other setting!
55
-
56
- and work on a per-project basis.
57
-
58
- try_to_use_per_project_settings:
59
-
60
- -------------------------------------------------------------------------------
61
- (5) - write a forum for the web_object-project, in yaml.
62
-
63
- ^^^ make this work hmmmm then
64
-
65
- show to the users how to work it
66
- as a proof-of-concept.
67
-
68
- ^^^ and rewrite the project TOO!
69
- Well this works somewhat. Needs to be improved still.
70
- -------------------------------------------------------------------------------
71
- (6) - Add openID support. everyone likes openID so lets add that
72
- -------------------------------------------------------------------------------
73
- (7) - extend jquery examples, like via:
74
- https://www.freecodecamp.org/news/the-best-jquery-examples/
75
- https://www.w3schools.com/jquery/jquery_examples.asp
76
-
77
- <meta name="DCTERMS.language" content="eng" />
78
- ^^^
79
- https://terms.tdwg.org/wiki/dcterms:language
80
- -------------------------------------------------------------------------------
81
- (8) - <meta name="dcterms.created" content="2015-07-21">
82
-
83
- ^^^^ this should be supported..
84
- -------------------------------------------------------------------------------
85
- (7) - consider adding:
86
-
87
- form.label
88
- form.check_box
89
- form.text_field
90
-
91
- but think this through first.
92
- -------------------------------------------------------------------------------
93
- (9) - http://asciimath.org/
94
-
95
- ^^^ integrate this.
96
-
97
- -------------------------------------------------------------------------------
98
- (11) - $(document).ready(function(){
99
- $("p").click(function(){
100
- $(this).hide();
101
- });
102
- });
103
-
104
- ^^ add:
105
-
106
-
107
- div() {
108
- }
109
- on_click_hide('id_here')
110
-
111
- ----
112
- We can animate any element, such as a simple image:
113
-
114
-
115
-
116
- <div id="clickme">
117
- Click here
118
- </div>
119
- <img id="book" src="book.png" alt="" width="100" height="123">
120
-
121
-
122
- // With the element initially shown, we can hide it slowly:
123
- $( "#clickme" ).click(function() {
124
- $( "#book" ).hide( "slow", function() {
125
- alert( "Animation complete." );
126
- });
127
- });
128
-
129
- -------------------------------------------------------------------------------
130
- (9) - investigate charts in javascript
131
-
132
- http://n3-charts.github.io/line-chart/#/home
133
- https://d3js.org/
134
-
135
- http://smoothiecharts.org/
136
-
137
- -------------------------------------------------------------------------------
138
- (10) add a simple and documented way to convert from csv into
139
- table format
140
-
141
- csv_from_file_to_table
142
-
143
- or something liket hat.
144
-
145
- class method
146
-
147
- Cyberweb.
148
-
149
- This has been implemented but not yet documented.
150
-
151
- -------------------------------------------------------------------------------
152
- images_css 'bblack1'
153
-
154
- ^^^ in webobject will mean that we have black border 1
155
- for all images by default
156
-
157
- ENABLE AND DOCUMENT THIS!!!!!!!
158
- .
159
-
160
- -------------------------------------------------------------------------------
161
-
162
- - add more jquery thingies
163
-
164
- -------------------------------------------------------------------------------
165
-
166
- - ability to use different CSS templates quickly
167
- to change the look and style of any site
168
-
169
-
170
- -------------------------------------------------------------------------------
171
- -> Ability to generate static html sites.
172
- The whole layout should be also put into static html and
173
- then upload to a remote host! \o/
174
-
175
-
176
-
177
- -------------------------------------------------------------------------------
178
-
179
- in img:
180
- img 'FOO/BAR'
181
- und wenn es hinter keine Endung .png oder .jpg gibt, dann machen
182
- wir ein glob und versuchen irgend etwas zu finden.
183
-
184
-
185
-
186
-
187
-
188
- -------------------------------------------------------------------------------
189
-
190
- - Wir erstellen eine inline .css Datei.
191
-
192
- Die nur genau jene Elemente enthält, die in einer webpage auch vorkommen
193
- können.
194
-
195
- This already works like:
196
- pre found_these_css_classes?.join(''+"\n")
197
- What is missing is:
198
- (a) Fetch all these entries (use a little class, a converter...)
199
- (b) put this into a giant string and generate an inline css for this
200
-
201
-
202
-
203
-
204
- -------------------------------------------------------------------------------
205
-
206
- -> Integriere Sinatra-Funktionalität in WebFoundation, also
207
- langsam Sinatra erlernen. Insbesondere das Routing.
208
-
209
-
210
- -------------------------------------------------------------------------------
211
-
212
- Flexible Menügenerierung:
213
-
214
- Schneiden Sie mit dem grafischen Editor Menüs auf Bedürfnisse von Man-
215
-
216
- ^^ allow us to create easy menus (meta menus):
217
-
218
- menu 'foo','bla','ble'
219
-
220
- ^^^ Shall make a menu with an added mouse-over effect.
221
-
222
- screw that - add css-only menus
223
- add + document them
224
- remove this here, then upload to rubygems
225
-
226
- -------------------------------------------------------------------------------
227
-
228
- # ======================================================================== #
229
- # This is a clone of Webmin. In addition to what webmin allows, the
230
- # features of this webmin clone will be manifold, such as the ones
231
- # that are listed below.
232
- # ======================================================================== #
233
- # URL:
234
- # localhost/PROGRAMMING_LANGUAGES/RUBY/SRC/cyberweb/lib/cyberweb/webmin_components/webmin.cgi
235
- # ======================================================================== #
236
-
237
- rf webmin
238
-
239
- # ======================================================================== #
240
- # FINISHED AND COMPLETED FEATURES FOR THE WEBMIN-CYBERSPRAWL SUBPROJECT.
241
- # ======================================================================== #
242
- - Ability to define own tags via web_foundation [DONE]
243
- - Show aliases [DONE] (alias tag)
244
- - Show sys information [DONE] (sys tag)
245
-
246
- - Burn an ISO, or, ability to burn an iso, like cdrecord
247
- Hmmmm. This can be done via the class:
248
- class BurnISO
249
-
250
- Also make an input formular and checkboxes for that.
251
-
252
- _ = BurnISO.new(ARGV)
253
- _.burn :dvd
254
- _.run
255
- ^^^ Das geht zwar aber ... das input field ist noch nit so cool.
256
- wir sollten das mal über das WebInterface testen.
257
-
258
- - Create an ISO for a linux system using purely the www, then you can
259
- dump it somewhere and install your linux distribution. First version
260
- is already realized via $RUBY_GLINUX/RModuleMaker.rb but it is
261
- not perfect yet. WILL DO THIS LATER, ONCE WHEN SLAX IS MORE
262
- STABLE. [HALF DONE...hmmm]
263
- ADD a formular for this too.
264
-
265
- - Use it to compile a program on your system. [HALF DONE, problems
266
- with permissions ;< ]
267
- - Maybe have an IRC Server via the web as well
268
- hmm... hmm hmmmmmmmmmm
269
- - Start webrick [DONE but buggy]
270
- - Allow user comments into a formular, so that they can
271
- post feedback etc.. first version into text file.
272
- [DONE but could be improved a lot, adding
273
- metadata etc to it or use/hookup to a database...]
274
- - make it so that in something like a mud, we can display
275
- information on the www, like number of people etc..
276
- You know, kinda helpful admin work. [NOT YET DONE]
277
- - realize a browser game, similar to TR but simpler. [NOT YET DONE]
278
- - add something like quicknote [NOT YET DONE]
279
- - extend file viewer... we want to syntax highlight
280
- certain tags for instance... in an easy manner [NOT YET DONE]
281
- - start and stop servers
282
- - edit apache config files easily [NOT YET DONE]
283
- - sql browser + sql dump [NOT YET DONE]
284
- - add/delete users [NOT YET DONE]
285
- - stats net stuts [NOT YET DONE]
286
- - be able to login (via cyber_login.rb) [STARTED BUT NOT YET DONE]
287
- - Generate spreadsheets via rubyspreadsheet. [HALF DONE]
288
- - Use the info from install_these_binaries, to tell the user
289
- what belongs to which package [NOT YET STARTED BUT A SIMPLE TASK]
290
- - modify grub file via webmin [HALF DONE]
291
- - ability to display screenshots ie. " Show Images: 1-4 | 5-7 "
292
- and also thumbnails maybe with external rmagick addons (wtf???)
293
- unkie APR 2008:
294
- Besser als keine icons zu sammeln wäre es, dass deine sprache
295
- bestimmte verzeichnisse einlesen kann und diese bilder nach
296
- id oder namen ausgeben kann - evtl auch nach Größe.
297
-
298
- -------------------------------------------------------------------------------
299
-
300
- - dig through the php docu and integrate things that seem useful.
301
-
302
-
303
- -------------------------------------------------------------------------------
304
-
305
-
306
- - Work through How2Do and look if we can streamline / integrate stuff.
307
- bl how2do; rf how2do
308
-
309
-
310
-
311
-
312
- -------------------------------------------------------------------------------
313
-
314
- - Todo bei webmin.cgi überarbeiten/abarbeiten.
315
-
316
- rf webmin
317
- pwdrbsrc
318
- cd WWW/cybersprawl
319
- bl webmi*
320
- bl *bio*
321
- bl $RUBY_SRC/www/cybersprawl/cybersprawl_requires.rb
322
-
323
- ADD html/css colourizer (???)
324
-
325
- Hmm eventuell das man das ganze ansehen kann farbig...
326
-
327
- Und auch den biology_server.cgi verbessern - der soll irgendwann so
328
- gut sein, das ich quasi ein biologisches Job-Offering damit erfüllen
329
- kann/könnte. rf bioserver
330
-
331
- Also unter anderem:
332
- -> Fasta Search durchführen können
333
- -> Postgre und MySQL Anbindung haben (Activerecord ansehen ...)
334
-
335
- Über weitere Verbesserungen nachdenken, vor allem über Wege, das ganze
336
- SCHNELLER zu machen, auch sicherer UND VOR ALLEM FEATURES REINHAUN.
337
-
338
- Baue ein ruby CMS, so wie trac, für Irgendein Projekt.
339
-
340
- Einen 1:1 Klon. Am besten für die Gobolinux Scripts und mittels
341
- cybersprawl realisieren.
342
- http://nanoc.stoneship.org/
343
-
344
- # =========================================================================== #
345
- # For more things, ask our users so we can adapt to their needs.
346
- # =========================================================================== #
347
-
348
- (1)
349
-
350
- Das folgende snippet hier macht extra characters
351
- um die "" quotes herum. Das sollte nit sein:
352
-
353
- sbr 'Via jumpers you can quickly change to another directory.','','jumpers'
354
- s2 'Expressed in another way, jumpers are "'
355
- s2 'Bookmarks for Terminals','dodgerblue'
356
- sbr '".'
357
-
358
- (2)
359
-
360
- div_fin {} is not working as expected. WHY NOT!
361
-
362
-
363
- -------------------------------------------------------------------------------
364
-
365
- - add support for erb.
366
- first extend this on
367
-
368
- todoc: bl erb; rf ruby erb
369
-
370
- then add it.
371
-
372
-
373
-
374
- -------------------------------------------------------------------------------
375
-
376
- - Reach a point where we can simply copy a remote webpage, and transform all
377
- of its components into the logic of a local page.
378
-
379
- bl $CYBERWEB/standalone_classes/turn_html_into_cyberweb.rb
380
-
381
-
382
-
383
- -------------------------------------------------------------------------------
384
-
385
- - fieldset.id = 'bla'
386
-
387
- ^^^ Jedes HTML Element, das registriert ist, muss ein OpenStruct sein.
388
-
389
- class Foo < OpenStruct
390
- end
391
- foo = Foo.new
392
- foo.id = 'This is Foo'
393
-
394
- Aber wieso? Hmmm. Unsure whether to keep this.
395
- Hmmm.
396
-
397
- Cyberweb.fieldset.id 'ok'
398
-
399
- Eventually sollte das einen default Wert setzen.
400
- Aber ich weiss nicht...
401
-
402
- -------------------------------------------------------------------------------
403
-
404
- propel.targetPackage = lib.model
405
- propel.packageObjectModel = true
406
- propel.project = blog
407
- propel.database = mysql
408
- propel.database.createUrl = mysql://localhost/
409
- propel.database.url = mysql://blog:blog@localhost/blog
410
- propel.mysql.tableType = InnoDB
411
-
412
- ^^^ können wir daraus etwas lernen? Ja.
413
-
414
- w.database = mysql
415
-
416
- ^^^ verwende mysql database.
417
- w.database = sqlite
418
- w.database = postgresql
419
- yup yup yup.
420
-
421
- Aber was machen wir dann? Wie holen wir daten da raus?
422
- Noch keine Ahnung.
423
-
424
- -------------------------------------------------------------------------------
425
-
426
- extend on dragula, so that we can do fancier stuff
427
-
428
-
429
- -------------------------------------------------------------------------------
430
-
431
- - Wir brauchen einen weg das letzte Tag anzusprechen. Beispiel:
432
-
433
- img 'LAYOUT.png','mar8px FLL'
434
-
435
- Dieses Image sollte man dann so verwenden können.
436
-
437
- last_object.onmousedown = 'dragstart(this)'
438
-
439
- Aber im Moment verwenden wir das gar nit.
440
-
441
- set_last_tag_used() # bl $CYBER/foundation/tag.rb
442
- ^^^ THis will already store the last ID too.
443
-
444
- Ok, seit Dezember 2014 ist es nun möglich das letzte Tag zu verwenden.
445
-
446
- -------------------------------------------------------------------------------
447
- - Feed some class arbitrary html and convert this into
448
- cyberweb-conforming generators.
449
- -------------------------------------------------------------------------------
450
-
451
- === We must redirect output into the web object.
452
-
453
- Perhaps we should do another rewrite, where we write up the default
454
- tests first. And clean up as we go.
455
-
456
-
457
- ^^^^
458
-
459
-
460
- Let's see:
461
-
462
- w {
463
- title 'bla'
464
- main_css 'bklablalba'
465
- use_jquery
466
- } # Up until that part this will have stored all stuff
467
- # until the <body> tag
468
-
469
- p {
470
- h2 'Hello world!'
471
- }
472
- ^^^ this here must be redirected into the webobject.
473
-
474
- hfin # this is the final trigger that will invoke our object.
475
- # it is </html>, but it also equal to:
476
- web_object.serve
477
-
478
- Also enable PDF Generation via prawn once the above works.
479
- Combine this then with the web framework above.
480
-
481
- def generate_pdf()
482
- pdf = Pdf.new
483
- end
484
-
485
- WebObject.new
486
-
487
- Prawn..
488
- require 'prawn'
489
-
490
- Prawn::Document.generate('/Depot/Information/hello.pdf') { |pdf|
491
- text("Hello Prawn!")
492
- }
493
-
494
-
495
-
496
- -------------------------------------------------------------------------------
497
-
498
- - Consider switching to a database-layout and enable a plugin
499
- structure with different database-adapters.
500
-
501
- ^^^ The above should probably also store everything into
502
- a database.
503
-
504
-
505
- -------------------------------------------------------------------------------
506
- - Try to add activerecord. For this to work, we must first work a
507
- bit with activerecord. (And maybe we should try to install rails)
508
-
509
- -------------------------------------------------------------------------------
510
-
511
- Sending an email is as simple as using the composeAndSend()
512
- method from an action:
513
-
514
- $this->getMailer()->composeAndSend(
515
- 'from@example.com', 'to@example.com', 'Subject', 'Body'
516
- );
517
-
518
- Find out how to send an email:
519
-
520
- email.content("bblablabla oder lies von einer datei ein..:").send_to(:mama)
521
- ^^^ und das auch in html <form>
522
- form
523
- input.id("content")
524
- input.send_to("content")
525
- input.button # click button
526
-
527
- We can try to use the mail gem.
528
-
529
- This can work through sendmail but logically sendmail must exist.
530
-
531
- http://localhost/PROGRAMMING_LANGUAGES/RUBY/SRC/cyberweb/test/testing_email.cgi
532
-
533
- -------------------------------------------------------------------------------
534
-
535
- Anschauen ob man den pretty_url kerl da mit den installable
536
- URLs installieren kann.
537
-
538
- Kann man, und zwar über url_action.
539
-
540
- Aber da klappt was mit den requires nicht.
541
-
542
- Das sehen wir uns zu einem späteren Zeitpunkt erneut an.
543
-
544
- ^^^ Das irgendwie ermöglichen das wir da auch was
545
- installieren können.
546
- ^^^ Das geht aber net so ohne weiteres, weil man hierzu
547
- die RBT scripts requiren wuss.
548
-
549
- Die funzen zur zeit aber net mit WebFoundation HMMMM.
550
-
551
- Also bevor wir das hier testen können, müssen wir die RBT
552
- Scripts adaptieren. Die RBT Scripts müssen auch über das
553
- WWW verwendbar sein!!!!! Das muss dann ein Teil von
554
- Ruby-Webmin (cybermin) werden, also das Testen.
555
- ^^^ Nein das geht mit Easycompile.
556
-
557
-
558
-
559
- -------------------------------------------------------------------------------
560
-
561
- html { head; body { p { "I'm awesome!" } } }
562
-
563
- ^^^ the cyberweb framework should allow this as well
564
-
565
- include Cyberweb
566
-
567
-
568
-
569
-
570
- include HtmlTags
571
-
572
- html { head; body { p { "I'm awesome!" } } }
573
-
574
- Hmmmm.
575
-
576
-
577
-
578
- -------------------------------------------------------------------------------
579
-
580
- Von Markaby lernen heisst siegen lernen -> anschauen was
581
- man da verwenden kann. Die haben einen HTML Generator
582
- der brauchbar ist:
583
-
584
- https://github.com/markaby/markaby
585
-
586
-
587
- -------------------------------------------------------------------------------
588
- === IMPROVE THE FRAMES-CODE PART OF CYBERWEB.
589
-
590
- Right now we can do frames like so:
591
-
592
- w.frame_left 'foo.cgi'
593
- w.frame_right 'bla.cgi'
594
- w.use_frames()
595
-
596
- OR:
597
-
598
- w.use_frames(
599
- :left => 'foo.cgi', :right => 'bla.cgi'
600
- )
601
-
602
- OR:
603
- w.frames(
604
- left: 'foo.cgi',
605
- right: 'bla.cgi'
606
- )
607
-
608
- The problem with that is that we require two more pages here,
609
- foo.cgi and bla.cgi. This is ok for complicated pages - but
610
- what if we wish to just use some html in one page?
611
-
612
- We should be able to do this instead:
613
- w.frame_left: '<h2>Some testing</h2><p>Hi folks...
614
- content missing yet ...</p>'
615
-
616
- Without doing a new page! We want completely dynamic html pages.
617
-
618
- So, we will first check that the above syntax works, and document
619
- this properly. And when it works, we move on to the next step.
620
-
621
- frameset('30,40') { 'FRAME_LEFT.html,FRAME_RIGHT.html' }
622
- Hmm. Das klappt, glaube ich... testen, dann entfernen.
623
-
624
- -------------------------------------------------------------------------------
625
-
626
- Globally enable drag-all functionality for all images on a webpage.
627
-
628
- By using something like:
629
-
630
- w {
631
- enable 'drag_all_images'
632
- }
633
-
634
- and perhaps...
635
-
636
- drag_all_images
637
-
638
- directly
639
-
640
- and perhaps:
641
-
642
- drag 'all_images'
643
- drag '+images'
644
- drag 'images+'
645
-
646
- This has been enabled, sort of, but it does not work as intended. :(
647
-
648
- Test it, then document it, then upload.
649
-
650
- Irgendwas stimmt da tatsächlich nicht.... ich check das nicht.
651
-
652
-
653
- -------------------------------------------------------------------------------
654
-
655
- === Extend Webmin functionality
656
-
657
-
658
- -------------------------------------------------------------------------------
659
-
660
- Debug Toolbar
661
-
662
- Irgendwann, wenn wir mal WebApps schreiben, machen wir so eine
663
- Debug Toolbar. Die sollte auch status information anzeigen können.
664
-
665
- Also see:
666
-
667
- http://django-debug-toolbar.readthedocs.org/en/1.3/panels.html
668
-
669
-
670
- -------------------------------------------------------------------------------
671
-
672
- Gegeben ist:
673
-
674
- read_display 'foo'
675
-
676
- Nun wollen wir eine Möglichkeit haben, herauszufinden:
677
-
678
- (a) Wo diese Methode definiert ist.
679
- (b) Den Quellcode der Methode anzuzeigen IN der Webpage.
680
-
681
- debug_method "read_display 'foo'"
682
-
683
- Siehe hierzu die beiden Klassen:
684
-
685
- method_searcher.rb
686
- find_end.rb
687
-
688
- Das geht eigentlich schon über die DiamondShell.
689
-
690
-
691
-
692
-
693
-
694
-
695
-
696
- -------------------------------------------------------------------------------
697
- Factor out:
698
-
699
- CGI.new.params
700
-
701
- So that we don't depend on ruby-cgi anymore.
702
- Perhaps as a first step, we will copy all of cgi into cyberweb,
703
- and then slowly phase it.
704
-
705
- -------------------------------------------------------------------------------
706
-
707
- Wenn eine CSS klasse verlinkt wird, sie aber nicht existiert,
708
- dann reporten wir das im debug mode.
709
-
710
- ^^^^^^^^^^^^
711
-
712
-
713
- -------------------------------------------------------------------------------
714
-
715
- https://github.com/rdoc/rdoc/blob/master/lib/rdoc/encoding.rb#L21-46
716
-
717
- ^^^ das is cool... wir sollten das eines Tages implementieren,
718
- so ein line highlighting.
719
- if params.include?('#') and params.include?('-') and params.include?('L')
720
- # Assume a Range.
721
-
722
- Wir sollten das in Teilen implementieren.
723
- Zuerst einmal alle Zeilen ansehen.
724
-
725
- ?show_source
726
-
727
- ^^^ add this
728
-
729
- http://localhost/MISC/SITEMAP.cgi?show_source
730
-
731
- Now this works. We have to add some highlight-thingy though.
732
-
733
-
734
- -------------------------------------------------------------------------------
735
- - improve on dragula
736
-
737
- dragula([document.getElementById(left), document.getElementById(right)], {
738
- moves: function (el, container, handle) {
739
- return handle.className === 'handle';
740
- }
741
- });
742
-
743
- ^^^ add handles,
744
- also perhaps images as these handles
745
-
746
-
747
- -------------------------------------------------------------------------------
748
- img 'chemistry/teflon'
749
-
750
- ^^^ also enable this here
751
-
752
- so that we don't have to specify the full location.
753
-
754
-
755
-
756
-
757
- -------------------------------------------------------------------------------
758
- - ?sys_information also does not work.
759
-
760
-
761
- rf sitemap ?sys_information
762
-
763
-
764
-
765
- -------------------------------------------------------------------------------
766
-
767
- - in cyberweb, find a way to add a special environment so that
768
- my variables are also known.
769
-
770
-
771
- Cyberweb.add_this_environment_variable(hash_here)
772
-
773
- This method now exists and it also works; we have to generate all
774
- my variables first before this can work completely.
775
-
776
- This may require another project ... hmmm...
777
-
778
-
779
-
780
-
781
- -------------------------------------------------------------------------------
782
-
783
- - finish the cgi? environment
784
- right now there is a bug so that does not work.
785
-
786
-
787
-
788
- -------------------------------------------------------------------------------
789
-
790
- Scroll down with a delay through jquery.
791
-
792
- Add it!
793
-
794
-
795
-
796
-
797
-
798
- -------------------------------------------------------------------------------
799
-
800
- also ... we need to be able to describe a valid HTML document
801
-
802
- w {
803
- }
804
-
805
- ^^^ the above should give us a full valid HTML document,
806
- all within the constraints of w {}.
807
-
808
-
809
- # =========================================================================== #
810
- # === W
811
- #
812
- # Usage example:
813
- # W.new
814
- # =========================================================================== #
815
-
816
-
817
- module Cyberweb
818
-
819
- # =========================================================================== #
820
- # === w
821
- # =========================================================================== #
822
- def w(i = ARGV, &block)
823
- @web_object ||= Cyberweb::Webobject.new(i, &block)
824
- end
825
-
826
-
827
- class Webobject # require 'w'; W.new
828
-
829
- # We store everything into the string()-method here.
830
- attr_accessor :string; alias string? string
831
-
832
- # ========================================================================= #
833
- # === initialize
834
- # ========================================================================= #
835
- def initialize(
836
- i = nil,
837
- run_already = true,
838
- &block
839
- )
840
- reset
841
- set_input(i)
842
- if block_given?
843
- @block_was_given = true
844
- add_to_html_tag '<html><head>
845
- <meta http-equiv="content-type" content="ttp-equiv; charset=UTF-8" >'
846
- instance_eval(&block)
847
- end
848
- run if run_already
849
- end
850
-
851
- # ========================================================================= #
852
- # === title
853
- # ========================================================================= #
854
- def title(i = 'VIENNA - WIEN')
855
- HtmlTags.title(i)
856
- end
857
-
858
- # ========================================================================= #
859
- # === reset (reset tag)
860
- # ========================================================================= #
861
- def reset
862
- @string = ''
863
- @block_was_given = false
864
- end
865
-
866
- # ========================================================================= #
867
- # === set_input
868
- # ========================================================================= #
869
- def set_input(i = '')
870
- i = i.first if i.is_a? Array
871
- i = i.to_s.dup if i
872
- @input = i
873
- end
874
-
875
- # ========================================================================= #
876
- # === input?
877
- # ========================================================================= #
878
- def input?
879
- @input
880
- end
881
-
882
- # ========================================================================= #
883
- # === hfin
884
- # ========================================================================= #
885
- def hfin
886
- HtmlTags.add('</body>'+N,'</html>'+N)
887
- end
888
-
889
- # ========================================================================= #
890
- # === to_s
891
- # ========================================================================= #
892
- def to_s
893
- @string
894
- end
895
-
896
- # ========================================================================= #
897
- # === add
898
- # ========================================================================= #
899
- def add(i = nil)
900
- @string << i if i
901
- end; alias _ add
902
-
903
- # ========================================================================= #
904
- # === run (run tag)
905
- # ========================================================================= #
906
- def run
907
- add HtmlTags[] # Obtain all elements that were stored in HtmlTags.
908
- if @block_was_given and !@string.include?('</html>')
909
- add hfin
910
- end
911
- end
912
-
913
- # ========================================================================= #
914
- # === add_to_html_tag
915
- # ========================================================================= #
916
- def add_to_html_tag(i = '<head>')
917
- HtmlTags.add(i)
918
- end
919
-
920
- # ========================================================================= #
921
- # === sbody
922
- #
923
- # Start of body tag.
924
- # ========================================================================= #
925
- def sbody
926
- add_to_html_tag '</head><body>'
927
- end
928
-
929
- end; end
930
-
931
- if __FILE__ == $PROGRAM_NAME
932
- include Cyberweb
933
- result = w {
934
- title 'joe'
935
- sbody
936
- h2 'Yo there'
937
- h3 'Ok there'
938
- }
939
- e result
940
- end # w.rb
941
- # bar = Bar.new # But we want foo to add into @string.
942
- # e bar.string
943
-
944
-
945
- -------------------------------------------------------------------------------
946
-
947
- FS_BIGGER
948
-
949
- ^^^ when a CSS class is not found, report it.
950
-
951
- This exists now in the file:
952
-
953
- all_css_classes.rb
954
-
955
-
956
-
957
-
958
-
959
- -------------------------------------------------------------------------------
960
- add support for gettext
961
-
962
- http://sevenseacat.net/
963
-
964
- An introduction to I18n with Gettext
965
-
966
- Gettext is an established standard for doing i18n and l10n in any
967
- kind of applications, not just web applications. So how does it work?
968
-
969
- In your template files, you can now use the helper function gettext
970
- to mark where translated text should go. If you've generated a new
971
- Phoenix app using Phoenix 1.1, an example of this will already be
972
- done in web/templates/page/index.html.eex -
973
-
974
- <h2><%= gettext "Welcome to %{name}", name: "Phoenix!" %></h2>
975
-
976
- -------------------------------------------------------------------------------
977
-
978
- - clone the functionality of webmin
979
-
980
- -------------------------------------------------------------------------------
981
-
982
- - we need to add:
983
-
984
- on_mouse_hover:
985
-
986
- bg: orange
987
- -------------------------------------------------------------------------------
988
- - we must be able to play local video files
989
-
990
- -------------------------------------------------------------------------------
991
-
992
- https://jqueryui.com/resizable/
993
-
994
- add support for resizable; when this is done,
995
- perhaps move one down the line from
996
- there adn continue
997
- would be nice to have all of jquery supported.
998
-
999
- https://jqueryui.com/resizable/
1000
- ^^^ take this example
1001
-
1002
-
1003
-
1004
- -------------------------------------------------------------------------------
1005
-
1006
- javascript charts
1007
-
1008
- - start with google charts, but branch out to other charts lateron as well.
1009
-
1010
- This sorta works but we have to continue this, then add docu.
1011
-
1012
- https://developers.google.com/chart/interactive/docs/quick_start
1013
-
1014
- -------------------------------------------------------------------------------
1015
-
1016
- # self.append_to_tables << result if result # Store the result in our Tables.
1017
- ^^^ this does not work no clue why not
1018
-
1019
-
1020
- -------------------------------------------------------------------------------
1021
-
1022
- import io.kweb.*
1023
- import io.kweb.dom.element.*
1024
-
1025
- fun main(args : Array<String>) {
1026
- Kweb(port = 8091) {
1027
- doc.body.new {
1028
- p().text("Hello world with Kweb!")
1029
- }
1030
- }
1031
-
1032
- ^^^ das p.text('FOOBAR')
1033
-
1034
- ist interessamnt
1035
- überlegen ob wir das in html tags oder cyberweb integrieren
1036
- sollten - eher in cyberweb, so das html_tags clean bleibt.
1037
-
1038
- -------------------------------------------------------------------------------
1039
- be able to read up a .html page and
1040
- "convert" it into a .cgi page;
1041
- including the option to dump the html again,
1042
- including sanitiziation
1043
- -------------------------------------------------------------------------------
1044
-
1045
- add a html->markdown converter
1046
-
1047
- -------------------------------------------------------------------------------
1048
- write a webforum, simple one with
1049
- yaml files first
1050
- and /tmp or so
1051
- a temp dir
1052
- ^^^ document if we have a temp dir and where it it is as well
1053
- -------------------------------------------------------------------------------
1054
- https://wiki.gentoo.org/wiki/Portage
1055
-
1056
- steal the tip-box there
1057
- -------------------------------------------------------------------------------
1058
- The fancy popup thingy, that we ingegrated into studium -. also somehow
1059
- generate this via cyberweb hmmmmm.
1060
-
1061
- Cyberweb.popup_widget(text: 'bla bla bla')
1062
- ^^^ add balloon thingy to cyberweb
1063
- + documentation
1064
-
1065
- AND a way to use Cyberweb.return_balloon
1066
- or something like that to returh a stylesheet or so
1067
- -------------------------------------------------------------------------------
1068
- 15) build a big CSS string that is then displayed. perhaps
1069
- also store it into some file or so. Or at the least
1070
- offer that possibility to save it.
1071
- ^^^ Well ... storing has to be re-thought.
1072
-
1073
- -------------------------------------------------------------------------------
1074
- - search for web-related projects on rubygems.
1075
- -------------------------------------------------------------------------------
1076
- (16) Make sure that gathering all CSS classes works properly.
1077
- -------------------------------------------------------------------------------
1078
- (17) make sure that a HTML-dumper works. It does via the
1079
- .save functionality but perhaps we have to simplify the
1080
- API and add a standalone bin/ file for that functionality.
1081
- And check the documetnation.
1082
- -------------------------------------------------------------------------------
1083
- (18) continue objectified tags and add a table to the docu to
1084
- explain which variants are objectified already.
1085
- Add them all.
1086
- ^^^^ Not sure whether all will be added or not. At one
1087
- point in the future we should also join to an OOP
1088
- variant of the www.
1089
- -------------------------------------------------------------------------------