cyberweb 0.4.174 → 0.5.225

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

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
@@ -6,6 +6,12 @@
6
6
  <link rel="stylesheet" type="text/css" href="../../lib/cyberweb/cascading_style_sheets/fonts.css" />
7
7
  <link rel="stylesheet" type="text/css" href="../../lib/cyberweb/cascading_style_sheets/colours.css" />
8
8
 
9
+ <style>
10
+ td {
11
+ padding: 4px;
12
+ }
13
+ </style>
14
+
9
15
  <script>
10
16
 
11
17
  /* w3color.js ver.1.18 by w3schools.com (Do not remove this line)*/
@@ -18,28 +24,28 @@ function w3color(color, elmnt) {
18
24
  }
19
25
  w3color.prototype = {
20
26
  toRgbString : function () {
21
- return "rgb(" + this.red + ", " + this.green + ", " + this.blue + ")";
27
+ return "rgb(" + this.red + ", " + this.green + ", " + this.blue + ")";
22
28
  },
23
29
  toRgbaString : function () {
24
- return "rgba(" + this.red + ", " + this.green + ", " + this.blue + ", " + this.opacity + ")";
30
+ return "rgba(" + this.red + ", " + this.green + ", " + this.blue + ", " + this.opacity + ")";
25
31
  },
26
32
  toHwbString : function () {
27
- return "hwb(" + this.hue + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%)";
33
+ return "hwb(" + this.hue + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%)";
28
34
  },
29
35
  toHwbStringDecimal : function () {
30
- return "hwb(" + this.hue + ", " + this.whiteness + ", " + this.blackness + ")";
36
+ return "hwb(" + this.hue + ", " + this.whiteness + ", " + this.blackness + ")";
31
37
  },
32
38
  toHwbaString : function () {
33
- return "hwba(" + this.hue + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%, " + this.opacity + ")";
39
+ return "hwba(" + this.hue + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%, " + this.opacity + ")";
34
40
  },
35
41
  toHslString : function () {
36
- return "hsl(" + this.hue + ", " + Math.round(this.sat * 100) + "%, " + Math.round(this.lightness * 100) + "%)";
42
+ return "hsl(" + this.hue + ", " + Math.round(this.sat * 100) + "%, " + Math.round(this.lightness * 100) + "%)";
37
43
  },
38
44
  toHslStringDecimal : function () {
39
- return "hsl(" + this.hue + ", " + this.sat + ", " + this.lightness + ")";
45
+ return "hsl(" + this.hue + ", " + this.sat + ", " + this.lightness + ")";
40
46
  },
41
47
  toHslaString : function () {
42
- return "hsla(" + this.hue + ", " + Math.round(this.sat * 100) + "%, " + Math.round(this.lightness * 100) + "%, " + this.opacity + ")";
48
+ return "hsla(" + this.hue + ", " + Math.round(this.sat * 100) + "%, " + Math.round(this.lightness * 100) + "%, " + this.opacity + ")";
43
49
  },
44
50
  toCmykString : function () {
45
51
  return "cmyk(" + Math.round(this.cyan * 100) + "%, " + Math.round(this.magenta * 100) + "%, " + Math.round(this.yellow * 100) + "%, " + Math.round(this.black * 100) + "%)";
@@ -48,103 +54,103 @@ w3color.prototype = {
48
54
  return "cmyk(" + this.cyan + ", " + this.magenta + ", " + this.yellow + ", " + this.black + ")";
49
55
  },
50
56
  toNcolString : function () {
51
- return this.ncol + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%";
57
+ return this.ncol + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%";
52
58
  },
53
59
  toNcolStringDecimal : function () {
54
- return this.ncol + ", " + this.whiteness + ", " + this.blackness;
60
+ return this.ncol + ", " + this.whiteness + ", " + this.blackness;
55
61
  },
56
62
  toNcolaString : function () {
57
- return this.ncol + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%, " + this.opacity;
63
+ return this.ncol + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%, " + this.opacity;
58
64
  },
59
65
  toName : function () {
60
- var r, g, b, colorhexs = getColorArr('hexs');
61
- for (i = 0; i < colorhexs.length; i++) {
62
- r = parseInt(colorhexs[i].substr(0,2), 16);
63
- g = parseInt(colorhexs[i].substr(2,2), 16);
64
- b = parseInt(colorhexs[i].substr(4,2), 16);
65
- if (this.red == r && this.green == g && this.blue == b) {
66
- return getColorArr('names')[i];
67
- }
66
+ var r, g, b, colorhexs = getColorArr('hexs');
67
+ for (i = 0; i < colorhexs.length; i++) {
68
+ r = parseInt(colorhexs[i].substr(0,2), 16);
69
+ g = parseInt(colorhexs[i].substr(2,2), 16);
70
+ b = parseInt(colorhexs[i].substr(4,2), 16);
71
+ if (this.red == r && this.green == g && this.blue == b) {
72
+ return getColorArr('names')[i];
68
73
  }
69
- return "";
74
+ }
75
+ return "";
70
76
  },
71
77
  toHexString : function () {
72
- var r = toHex(this.red);
73
- var g = toHex(this.green);
74
- var b = toHex(this.blue);
75
- return "#" + r + g + b;
78
+ var r = toHex(this.red);
79
+ var g = toHex(this.green);
80
+ var b = toHex(this.blue);
81
+ return "#" + r + g + b;
76
82
  },
77
83
  toRgb : function () {
78
- return {r : this.red, g : this.green, b : this.blue, a : this.opacity};
84
+ return {r : this.red, g : this.green, b : this.blue, a : this.opacity};
79
85
  },
80
86
  toHsl : function () {
81
- return {h : this.hue, s : this.sat, l : this.lightness, a : this.opacity};
87
+ return {h : this.hue, s : this.sat, l : this.lightness, a : this.opacity};
82
88
  },
83
89
  toHwb : function () {
84
- return {h : this.hue, w : this.whiteness, b : this.blackness, a : this.opacity};
90
+ return {h : this.hue, w : this.whiteness, b : this.blackness, a : this.opacity};
85
91
  },
86
92
  toCmyk : function () {
87
- return {c : this.cyan, m : this.magenta, y : this.yellow, k : this.black, a : this.opacity};
93
+ return {c : this.cyan, m : this.magenta, y : this.yellow, k : this.black, a : this.opacity};
88
94
  },
89
95
  toNcol : function () {
90
- return {ncol : this.ncol, w : this.whiteness, b : this.blackness, a : this.opacity};
96
+ return {ncol : this.ncol, w : this.whiteness, b : this.blackness, a : this.opacity};
91
97
  },
92
98
  isDark : function (n) {
93
- var m = (n || 128);
94
- return (((this.red * 299 + this.green * 587 + this.blue * 114) / 1000) < m);
99
+ var m = (n || 128);
100
+ return (((this.red * 299 + this.green * 587 + this.blue * 114) / 1000) < m);
95
101
  },
96
102
  saturate : function (n) {
97
- var x, rgb, color;
98
- x = (n / 100 || 0.1);
99
- this.sat += x;
100
- if (this.sat > 1) {this.sat = 1;}
101
- rgb = hslToRgb(this.hue, this.sat, this.lightness);
102
- color = colorObject(rgb, this.opacity, this.hue, this.sat);
103
- this.attachValues(color);
103
+ var x, rgb, color;
104
+ x = (n / 100 || 0.1);
105
+ this.sat += x;
106
+ if (this.sat > 1) {this.sat = 1;}
107
+ rgb = hslToRgb(this.hue, this.sat, this.lightness);
108
+ color = colorObject(rgb, this.opacity, this.hue, this.sat);
109
+ this.attachValues(color);
104
110
  },
105
111
  desaturate : function (n) {
106
- var x, rgb, color;
107
- x = (n / 100 || 0.1);
108
- this.sat -= x;
109
- if (this.sat < 0) {this.sat = 0;}
110
- rgb = hslToRgb(this.hue, this.sat, this.lightness);
111
- color = colorObject(rgb, this.opacity, this.hue, this.sat);
112
- this.attachValues(color);
112
+ var x, rgb, color;
113
+ x = (n / 100 || 0.1);
114
+ this.sat -= x;
115
+ if (this.sat < 0) {this.sat = 0;}
116
+ rgb = hslToRgb(this.hue, this.sat, this.lightness);
117
+ color = colorObject(rgb, this.opacity, this.hue, this.sat);
118
+ this.attachValues(color);
113
119
  },
114
120
  lighter : function (n) {
115
- var x, rgb, color;
116
- x = (n / 100 || 0.1);
117
- this.lightness += x;
118
- if (this.lightness > 1) {this.lightness = 1;}
119
- rgb = hslToRgb(this.hue, this.sat, this.lightness);
120
- color = colorObject(rgb, this.opacity, this.hue, this.sat);
121
- this.attachValues(color);
121
+ var x, rgb, color;
122
+ x = (n / 100 || 0.1);
123
+ this.lightness += x;
124
+ if (this.lightness > 1) {this.lightness = 1;}
125
+ rgb = hslToRgb(this.hue, this.sat, this.lightness);
126
+ color = colorObject(rgb, this.opacity, this.hue, this.sat);
127
+ this.attachValues(color);
122
128
  },
123
129
  darker : function (n) {
124
- var x, rgb, color;
125
- x = (n / 100 || 0.1);
126
- this.lightness -= x;
127
- if (this.lightness < 0) {this.lightness = 0;}
128
- rgb = hslToRgb(this.hue, this.sat, this.lightness);
129
- color = colorObject(rgb, this.opacity, this.hue, this.sat);
130
- this.attachValues(color);
130
+ var x, rgb, color;
131
+ x = (n / 100 || 0.1);
132
+ this.lightness -= x;
133
+ if (this.lightness < 0) {this.lightness = 0;}
134
+ rgb = hslToRgb(this.hue, this.sat, this.lightness);
135
+ color = colorObject(rgb, this.opacity, this.hue, this.sat);
136
+ this.attachValues(color);
131
137
  },
132
138
  attachValues : function(color) {
133
- this.red = color.red;
134
- this.green = color.green;
135
- this.blue = color.blue;
136
- this.hue = color.hue;
137
- this.sat = color.sat;
138
- this.lightness = color.lightness;
139
- this.whiteness = color.whiteness;
140
- this.blackness = color.blackness;
141
- this.cyan = color.cyan;
142
- this.magenta = color.magenta;
143
- this.yellow = color.yellow;
144
- this.black = color.black;
145
- this.ncol = color.ncol;
146
- this.opacity = color.opacity;
147
- this.valid = color.valid;
139
+ this.red = color.red;
140
+ this.green = color.green;
141
+ this.blue = color.blue;
142
+ this.hue = color.hue;
143
+ this.sat = color.sat;
144
+ this.lightness = color.lightness;
145
+ this.whiteness = color.whiteness;
146
+ this.blackness = color.blackness;
147
+ this.cyan = color.cyan;
148
+ this.magenta = color.magenta;
149
+ this.yellow = color.yellow;
150
+ this.black = color.black;
151
+ this.ncol = color.ncol;
152
+ this.opacity = color.opacity;
153
+ this.valid = color.valid;
148
154
  }
149
155
  };
150
156
  function toColorObject(c) {
@@ -154,136 +160,136 @@ function toColorObject(c) {
154
160
  y = c.substr(1);
155
161
  a = 1;
156
162
  if ((x == "R" || x == "Y" || x == "G" || x == "C" || x == "B" || x == "M" || x == "W") && !isNaN(y)) {
157
- if (c.length == 6 && c.indexOf(",") == -1) {
158
- } else {
159
- c = "ncol(" + c + ")";
160
- }
163
+ if (c.length == 6 && c.indexOf(",") == -1) {
164
+ } else {
165
+ c = "ncol(" + c + ")";
166
+ }
161
167
  }
162
168
  if (c.length != 3 && c.length != 6 && !isNaN(c)) {c = "ncol(" + c + ")";}
163
169
  if (c.indexOf(",") > 0 && c.indexOf("(") == -1) {c = "ncol(" + c + ")";}
164
170
  if (c.substr(0, 3) == "rgb" || c.substr(0, 3) == "hsl" || c.substr(0, 3) == "hwb" || c.substr(0, 4) == "ncol" || c.substr(0, 4) == "cmyk") {
165
- if (c.substr(0, 4) == "ncol") {
166
- if (c.split(",").length == 4 && c.indexOf("ncola") == -1) {
167
- c = c.replace("ncol", "ncola");
168
- }
169
- typ = "ncol";
170
- c = c.substr(4);
171
- } else if (c.substr(0, 4) == "cmyk") {
172
- typ = "cmyk";
173
- c = c.substr(4);
174
- } else {
175
- typ = c.substr(0, 3);
176
- c = c.substr(3);
171
+ if (c.substr(0, 4) == "ncol") {
172
+ if (c.split(",").length == 4 && c.indexOf("ncola") == -1) {
173
+ c = c.replace("ncol", "ncola");
177
174
  }
178
- arrlength = 3;
179
- opacity = false;
180
- if (c.substr(0, 1).toLowerCase() == "a") {
181
- arrlength = 4;
182
- opacity = true;
183
- c = c.substr(1);
184
- } else if (typ == "cmyk") {
185
- arrlength = 4;
186
- if (c.split(",").length == 5) {
187
- arrlength = 5;
188
- opacity = true;
189
- }
175
+ typ = "ncol";
176
+ c = c.substr(4);
177
+ } else if (c.substr(0, 4) == "cmyk") {
178
+ typ = "cmyk";
179
+ c = c.substr(4);
180
+ } else {
181
+ typ = c.substr(0, 3);
182
+ c = c.substr(3);
183
+ }
184
+ arrlength = 3;
185
+ opacity = false;
186
+ if (c.substr(0, 1).toLowerCase() == "a") {
187
+ arrlength = 4;
188
+ opacity = true;
189
+ c = c.substr(1);
190
+ } else if (typ == "cmyk") {
191
+ arrlength = 4;
192
+ if (c.split(",").length == 5) {
193
+ arrlength = 5;
194
+ opacity = true;
195
+ }
196
+ }
197
+ c = c.replace("(", "");
198
+ c = c.replace(")", "");
199
+ arr = c.split(",");
200
+ if (typ == "rgb") {
201
+ if (arr.length != arrlength) {
202
+ return emptyObject();
203
+ }
204
+ for (i = 0; i < arrlength; i++) {
205
+ if (arr[i] == "" || arr[i] == " ") {arr[i] = "0"; }
206
+ if (arr[i].indexOf("%") > -1) {
207
+ arr[i] = arr[i].replace("%", "");
208
+ arr[i] = Number(arr[i] / 100);
209
+ if (i < 3 ) {arr[i] = Math.round(arr[i] * 255);}
190
210
  }
191
- c = c.replace("(", "");
192
- c = c.replace(")", "");
193
- arr = c.split(",");
194
- if (typ == "rgb") {
195
- if (arr.length != arrlength) {
196
- return emptyObject();
197
- }
198
- for (i = 0; i < arrlength; i++) {
199
- if (arr[i] == "" || arr[i] == " ") {arr[i] = "0"; }
200
- if (arr[i].indexOf("%") > -1) {
201
- arr[i] = arr[i].replace("%", "");
202
- arr[i] = Number(arr[i] / 100);
203
- if (i < 3 ) {arr[i] = Math.round(arr[i] * 255);}
204
- }
205
- if (isNaN(arr[i])) {return emptyObject(); }
206
- if (parseInt(arr[i]) > 255) {arr[i] = 255; }
207
- if (i < 3) {arr[i] = parseInt(arr[i]);}
208
- if (i == 3 && Number(arr[i]) > 1) {arr[i] = 1;}
209
- }
210
- rgb = {r : arr[0], g : arr[1], b : arr[2]};
211
- if (opacity == true) {a = Number(arr[3]);}
211
+ if (isNaN(arr[i])) {return emptyObject(); }
212
+ if (parseInt(arr[i]) > 255) {arr[i] = 255; }
213
+ if (i < 3) {arr[i] = parseInt(arr[i]);}
214
+ if (i == 3 && Number(arr[i]) > 1) {arr[i] = 1;}
212
215
  }
213
- if (typ == "hsl" || typ == "hwb" || typ == "ncol") {
214
- while (arr.length < arrlength) {arr.push("0"); }
215
- if (typ == "hsl" || typ == "hwb") {
216
- if (parseInt(arr[0]) >= 360) {arr[0] = 0; }
217
- }
218
- for (i = 1; i < arrlength; i++) {
219
- if (arr[i].indexOf("%") > -1) {
220
- arr[i] = arr[i].replace("%", "");
221
- arr[i] = Number(arr[i]);
222
- if (isNaN(arr[i])) {return emptyObject(); }
223
- arr[i] = arr[i] / 100;
224
- } else {
225
- arr[i] = Number(arr[i]);
226
- }
227
- if (Number(arr[i]) > 1) {arr[i] = 1;}
228
- if (Number(arr[i]) < 0) {arr[i] = 0;}
229
- }
230
- if (typ == "hsl") {rgb = hslToRgb(arr[0], arr[1], arr[2]); hue = Number(arr[0]); sat = Number(arr[1]);}
231
- if (typ == "hwb") {rgb = hwbToRgb(arr[0], arr[1], arr[2]);}
232
- if (typ == "ncol") {rgb = ncolToRgb(arr[0], arr[1], arr[2]);}
233
- if (opacity == true) {a = Number(arr[3]);}
216
+ rgb = {r : arr[0], g : arr[1], b : arr[2]};
217
+ if (opacity == true) {a = Number(arr[3]);}
218
+ }
219
+ if (typ == "hsl" || typ == "hwb" || typ == "ncol") {
220
+ while (arr.length < arrlength) {arr.push("0"); }
221
+ if (typ == "hsl" || typ == "hwb") {
222
+ if (parseInt(arr[0]) >= 360) {arr[0] = 0; }
223
+ }
224
+ for (i = 1; i < arrlength; i++) {
225
+ if (arr[i].indexOf("%") > -1) {
226
+ arr[i] = arr[i].replace("%", "");
227
+ arr[i] = Number(arr[i]);
228
+ if (isNaN(arr[i])) {return emptyObject(); }
229
+ arr[i] = arr[i] / 100;
230
+ } else {
231
+ arr[i] = Number(arr[i]);
234
232
  }
235
- if (typ == "cmyk") {
236
- while (arr.length < arrlength) {arr.push("0"); }
237
- for (i = 0; i < arrlength; i++) {
238
- if (arr[i].indexOf("%") > -1) {
239
- arr[i] = arr[i].replace("%", "");
240
- arr[i] = Number(arr[i]);
241
- if (isNaN(arr[i])) {return emptyObject(); }
242
- arr[i] = arr[i] / 100;
243
- } else {
244
- arr[i] = Number(arr[i]);
245
- }
246
- if (Number(arr[i]) > 1) {arr[i] = 1;}
247
- if (Number(arr[i]) < 0) {arr[i] = 0;}
248
- }
249
- rgb = cmykToRgb(arr[0], arr[1], arr[2], arr[3]);
250
- if (opacity == true) {a = Number(arr[4]);}
233
+ if (Number(arr[i]) > 1) {arr[i] = 1;}
234
+ if (Number(arr[i]) < 0) {arr[i] = 0;}
251
235
  }
236
+ if (typ == "hsl") {rgb = hslToRgb(arr[0], arr[1], arr[2]); hue = Number(arr[0]); sat = Number(arr[1]);}
237
+ if (typ == "hwb") {rgb = hwbToRgb(arr[0], arr[1], arr[2]);}
238
+ if (typ == "ncol") {rgb = ncolToRgb(arr[0], arr[1], arr[2]);}
239
+ if (opacity == true) {a = Number(arr[3]);}
240
+ }
241
+ if (typ == "cmyk") {
242
+ while (arr.length < arrlength) {arr.push("0"); }
243
+ for (i = 0; i < arrlength; i++) {
244
+ if (arr[i].indexOf("%") > -1) {
245
+ arr[i] = arr[i].replace("%", "");
246
+ arr[i] = Number(arr[i]);
247
+ if (isNaN(arr[i])) {return emptyObject(); }
248
+ arr[i] = arr[i] / 100;
249
+ } else {
250
+ arr[i] = Number(arr[i]);
251
+ }
252
+ if (Number(arr[i]) > 1) {arr[i] = 1;}
253
+ if (Number(arr[i]) < 0) {arr[i] = 0;}
254
+ }
255
+ rgb = cmykToRgb(arr[0], arr[1], arr[2], arr[3]);
256
+ if (opacity == true) {a = Number(arr[4]);}
257
+ }
252
258
  } else if (c.substr(0, 3) == "ncs") {
253
- rgb = ncsToRgb(c);
259
+ rgb = ncsToRgb(c);
254
260
  } else {
255
- match = false;
256
- colornames = getColorArr('names');
257
- for (i = 0; i < colornames.length; i++) {
258
- if (c.toLowerCase() == colornames[i].toLowerCase()) {
259
- colorhexs = getColorArr('hexs');
260
- match = true;
261
- rgb = {
262
- r : parseInt(colorhexs[i].substr(0,2), 16),
263
- g : parseInt(colorhexs[i].substr(2,2), 16),
264
- b : parseInt(colorhexs[i].substr(4,2), 16)
265
- };
266
- break;
267
- }
261
+ match = false;
262
+ colornames = getColorArr('names');
263
+ for (i = 0; i < colornames.length; i++) {
264
+ if (c.toLowerCase() == colornames[i].toLowerCase()) {
265
+ colorhexs = getColorArr('hexs');
266
+ match = true;
267
+ rgb = {
268
+ r : parseInt(colorhexs[i].substr(0,2), 16),
269
+ g : parseInt(colorhexs[i].substr(2,2), 16),
270
+ b : parseInt(colorhexs[i].substr(4,2), 16)
271
+ };
272
+ break;
268
273
  }
269
- if (match == false) {
270
- c = c.replace("#", "");
271
- if (c.length == 3) {c = c.substr(0,1) + c.substr(0,1) + c.substr(1,1) + c.substr(1,1) + c.substr(2,1) + c.substr(2,1);}
272
- for (i = 0; i < c.length; i++) {
273
- if (!isHex(c.substr(i, 1))) {return emptyObject(); }
274
- }
275
- arr[0] = parseInt(c.substr(0,2), 16);
276
- arr[1] = parseInt(c.substr(2,2), 16);
277
- arr[2] = parseInt(c.substr(4,2), 16);
278
- for (i = 0; i < 3; i++) {
279
- if (isNaN(arr[i])) {return emptyObject(); }
280
- }
281
- rgb = {
282
- r : arr[0],
283
- g : arr[1],
284
- b : arr[2]
285
- };
274
+ }
275
+ if (match == false) {
276
+ c = c.replace("#", "");
277
+ if (c.length == 3) {c = c.substr(0,1) + c.substr(0,1) + c.substr(1,1) + c.substr(1,1) + c.substr(2,1) + c.substr(2,1);}
278
+ for (i = 0; i < c.length; i++) {
279
+ if (!isHex(c.substr(i, 1))) {return emptyObject(); }
280
+ }
281
+ arr[0] = parseInt(c.substr(0,2), 16);
282
+ arr[1] = parseInt(c.substr(2,2), 16);
283
+ arr[2] = parseInt(c.substr(4,2), 16);
284
+ for (i = 0; i < 3; i++) {
285
+ if (isNaN(arr[i])) {return emptyObject(); }
286
286
  }
287
+ rgb = {
288
+ r : arr[0],
289
+ g : arr[1],
290
+ b : arr[2]
291
+ };
292
+ }
287
293
  }
288
294
  return colorObject(rgb, a, hue, sat);
289
295
  }
@@ -298,42 +304,42 @@ function colorObject(rgb, a, h, s) {
298
304
  sat = (s || hsl.s);
299
305
  ncol = hueToNcol(hue);
300
306
  color = {
301
- red : rgb.r,
302
- green : rgb.g,
303
- blue : rgb.b,
304
- hue : hue,
305
- sat : sat,
306
- lightness : hsl.l,
307
- whiteness : hwb.w,
308
- blackness : hwb.b,
309
- cyan : cmyk.c,
310
- magenta : cmyk.m,
311
- yellow : cmyk.y,
312
- black : cmyk.k,
313
- ncol : ncol,
314
- opacity : a,
315
- valid : true
307
+ red : rgb.r,
308
+ green : rgb.g,
309
+ blue : rgb.b,
310
+ hue : hue,
311
+ sat : sat,
312
+ lightness : hsl.l,
313
+ whiteness : hwb.w,
314
+ blackness : hwb.b,
315
+ cyan : cmyk.c,
316
+ magenta : cmyk.m,
317
+ yellow : cmyk.y,
318
+ black : cmyk.k,
319
+ ncol : ncol,
320
+ opacity : a,
321
+ valid : true
316
322
  };
317
323
  color = roundDecimals(color);
318
324
  return color;
319
325
  }
320
326
  function emptyObject() {
321
327
  return {
322
- red : 0,
323
- green : 0,
324
- blue : 0,
325
- hue : 0,
326
- sat : 0,
327
- lightness : 0,
328
- whiteness : 0,
329
- blackness : 0,
330
- cyan : 0,
331
- magenta : 0,
332
- yellow : 0,
333
- black : 0,
334
- ncol : "R",
335
- opacity : 1,
336
- valid : false
328
+ red : 0,
329
+ green : 0,
330
+ blue : 0,
331
+ hue : 0,
332
+ sat : 0,
333
+ lightness : 0,
334
+ whiteness : 0,
335
+ blackness : 0,
336
+ cyan : 0,
337
+ magenta : 0,
338
+ yellow : 0,
339
+ black : 0,
340
+ ncol : "R",
341
+ opacity : 1,
342
+ valid : false
337
343
  };
338
344
  }
339
345
  function getColorArr(x) {
@@ -361,9 +367,9 @@ function hslToRgb(hue, sat, light) {
361
367
  var t1, t2, r, g, b;
362
368
  hue = hue / 60;
363
369
  if ( light <= 0.5 ) {
364
- t2 = light * (sat + 1);
370
+ t2 = light * (sat + 1);
365
371
  } else {
366
- t2 = light + sat - (light * sat);
372
+ t2 = light + sat - (light * sat);
367
373
  }
368
374
  t1 = light * 2 - t2;
369
375
  r = hueToRgb(t1, t2, hue + 2) * 255;
@@ -387,13 +393,13 @@ function hwbToRgb(hue, white, black) {
387
393
  rgbArr[2] = rgb.b / 255;
388
394
  tot = white + black;
389
395
  if (tot > 1) {
390
- white = Number((white / tot).toFixed(2));
391
- black = Number((black / tot).toFixed(2));
396
+ white = Number((white / tot).toFixed(2));
397
+ black = Number((black / tot).toFixed(2));
392
398
  }
393
399
  for (i = 0; i < 3; i++) {
394
- rgbArr[i] *= (1 - (white) - (black));
395
- rgbArr[i] += (white);
396
- rgbArr[i] = Number(rgbArr[i] * 255);
400
+ rgbArr[i] *= (1 - (white) - (black));
401
+ rgbArr[i] += (white);
402
+ rgbArr[i] = Number(rgbArr[i] * 255);
397
403
  }
398
404
  return {r : rgbArr[0], g : rgbArr[1], b : rgbArr[2] };
399
405
  }
@@ -408,28 +414,28 @@ function ncolToRgb(ncol, white, black) {
408
414
  var letter, percent, h, w, b;
409
415
  h = ncol;
410
416
  if (isNaN(ncol.substr(0,1))) {
411
- letter = ncol.substr(0,1).toUpperCase();
412
- percent = ncol.substr(1);
413
- if (percent == "") {percent = 0;}
414
- percent = Number(percent);
415
- if (isNaN(percent)) {return false;}
416
- if (letter == "R") {h = 0 + (percent * 0.6);}
417
- if (letter == "Y") {h = 60 + (percent * 0.6);}
418
- if (letter == "G") {h = 120 + (percent * 0.6);}
419
- if (letter == "C") {h = 180 + (percent * 0.6);}
420
- if (letter == "B") {h = 240 + (percent * 0.6);}
421
- if (letter == "M") {h = 300 + (percent * 0.6);}
422
- if (letter == "W") {
423
- h = 0;
424
- white = 1 - (percent / 100);
425
- black = (percent / 100);
426
- }
417
+ letter = ncol.substr(0,1).toUpperCase();
418
+ percent = ncol.substr(1);
419
+ if (percent == "") {percent = 0;}
420
+ percent = Number(percent);
421
+ if (isNaN(percent)) {return false;}
422
+ if (letter == "R") {h = 0 + (percent * 0.6);}
423
+ if (letter == "Y") {h = 60 + (percent * 0.6);}
424
+ if (letter == "G") {h = 120 + (percent * 0.6);}
425
+ if (letter == "C") {h = 180 + (percent * 0.6);}
426
+ if (letter == "B") {h = 240 + (percent * 0.6);}
427
+ if (letter == "M") {h = 300 + (percent * 0.6);}
428
+ if (letter == "W") {
429
+ h = 0;
430
+ white = 1 - (percent / 100);
431
+ black = (percent / 100);
432
+ }
427
433
  }
428
434
  return hwbToRgb(h, white, black);
429
435
  }
430
436
  function hueToNcol(hue) {
431
437
  while (hue >= 360) {
432
- hue = hue - 360;
438
+ hue = hue - 360;
433
439
  }
434
440
  if (hue < 60) {return "R" + (hue / 0.6); }
435
441
  if (hue < 120) {return "Y" + ((hue - 60) / 0.6); }
@@ -454,100 +460,100 @@ function ncsToRgb(ncs){
454
460
  if (bc != "N" && bc != "Y" && bc != "R" && bc != "B" && bc != "G") {return false;}
455
461
  percent = parseInt(ncs[4], 10) || 0;
456
462
  if (bc !== 'N') {
457
- black1 = (1.05 * black - 5.25);
458
- chroma1 = chroma;
459
- if (bc === 'Y' && percent <= 60) {
460
- red1 = 1;
461
- } else if (( bc === 'Y' && percent > 60) || ( bc === 'R' && percent <= 80)) {
462
- if (bc === 'Y') {
463
- factor1 = percent - 60;
464
- } else {
465
- factor1 = percent + 40;
466
- }
467
- red1 = ((Math.sqrt(14884 - Math.pow(factor1, 2))) - 22) / 100;
468
- } else if ((bc === 'R' && percent > 80) || (bc === 'B')) {
469
- red1 = 0;
470
- } else if (bc === 'G') {
471
- factor1 = (percent - 170);
472
- red1 = ((Math.sqrt(33800 - Math.pow(factor1, 2))) - 70) / 100;
463
+ black1 = (1.05 * black - 5.25);
464
+ chroma1 = chroma;
465
+ if (bc === 'Y' && percent <= 60) {
466
+ red1 = 1;
467
+ } else if (( bc === 'Y' && percent > 60) || ( bc === 'R' && percent <= 80)) {
468
+ if (bc === 'Y') {
469
+ factor1 = percent - 60;
470
+ } else {
471
+ factor1 = percent + 40;
473
472
  }
474
- if (bc === 'Y' && percent <= 80) {
475
- blue1 = 0;
476
- } else if (( bc === 'Y' && percent > 80) || ( bc === 'R' && percent <= 60)) {
477
- if (bc ==='Y') {
478
- factor1 = (percent - 80) + 20.5;
479
- } else {
480
- factor1 = (percent + 20) + 20.5;
481
- }
482
- blue1 = (104 - (Math.sqrt(11236 - Math.pow(factor1, 2)))) / 100;
483
- } else if ((bc === 'R' && percent > 60) || ( bc === 'B' && percent <= 80)) {
484
- if (bc ==='R') {
485
- factor1 = (percent - 60) - 60;
486
- } else {
487
- factor1 = (percent + 40) - 60;
488
- }
489
- blue1 = ((Math.sqrt(10000 - Math.pow(factor1, 2))) - 10) / 100;
490
- } else if (( bc === 'B' && percent > 80) || ( bc === 'G' && percent <= 40)) {
491
- if (bc === 'B') {
492
- factor1 = (percent - 80) - 131;
493
- } else {
494
- factor1 = (percent + 20) - 131;
495
- }
496
- blue1 = (122 - (Math.sqrt(19881 - Math.pow(factor1, 2)))) / 100;
497
- } else if (bc === 'G' && percent > 40) {
498
- blue1 = 0;
473
+ red1 = ((Math.sqrt(14884 - Math.pow(factor1, 2))) - 22) / 100;
474
+ } else if ((bc === 'R' && percent > 80) || (bc === 'B')) {
475
+ red1 = 0;
476
+ } else if (bc === 'G') {
477
+ factor1 = (percent - 170);
478
+ red1 = ((Math.sqrt(33800 - Math.pow(factor1, 2))) - 70) / 100;
479
+ }
480
+ if (bc === 'Y' && percent <= 80) {
481
+ blue1 = 0;
482
+ } else if (( bc === 'Y' && percent > 80) || ( bc === 'R' && percent <= 60)) {
483
+ if (bc ==='Y') {
484
+ factor1 = (percent - 80) + 20.5;
485
+ } else {
486
+ factor1 = (percent + 20) + 20.5;
499
487
  }
500
- if (bc === 'Y') {
501
- green1 = (85 - 17/20 * percent) / 100;
502
- } else if (bc === 'R' && percent <= 60) {
503
- green1 = 0;
504
- } else if (bc === 'R' && percent > 60) {
505
- factor1 = (percent - 60) + 35;
506
- green1 = (67.5 - (Math.sqrt(5776 - Math.pow(factor1, 2)))) / 100;
507
- } else if (bc === 'B' && percent <= 60) {
508
- factor1 = (1*percent - 68.5);
509
- green1 = (6.5 + (Math.sqrt(7044.5 - Math.pow(factor1, 2)))) / 100;
510
- } else if ((bc === 'B' && percent > 60) || ( bc === 'G' && percent <= 60)) {
511
- green1 = 0.9;
512
- } else if (bc === 'G' && percent > 60) {
513
- factor1 = (percent - 60);
514
- green1 = (90 - (1/8 * factor1)) / 100;
488
+ blue1 = (104 - (Math.sqrt(11236 - Math.pow(factor1, 2)))) / 100;
489
+ } else if ((bc === 'R' && percent > 60) || ( bc === 'B' && percent <= 80)) {
490
+ if (bc ==='R') {
491
+ factor1 = (percent - 60) - 60;
492
+ } else {
493
+ factor1 = (percent + 40) - 60;
515
494
  }
516
- factor1 = (red1 + green1 + blue1)/3;
517
- red2 = ((factor1 - red1) * (100 - chroma1) / 100) + red1;
518
- green2 = ((factor1 - green1) * (100 - chroma1) / 100) + green1;
519
- blue2 = ((factor1 - blue1) * (100 - chroma1) / 100) + blue1;
520
- if (red2 > green2 && red2 > blue2) {
521
- max = red2;
522
- } else if (green2 > red2 && green2 > blue2) {
523
- max = green2;
524
- } else if (blue2 > red2 && blue2 > green2) {
525
- max = blue2;
495
+ blue1 = ((Math.sqrt(10000 - Math.pow(factor1, 2))) - 10) / 100;
496
+ } else if (( bc === 'B' && percent > 80) || ( bc === 'G' && percent <= 40)) {
497
+ if (bc === 'B') {
498
+ factor1 = (percent - 80) - 131;
526
499
  } else {
527
- max = (red2 + green2 + blue2) / 3;
500
+ factor1 = (percent + 20) - 131;
528
501
  }
529
- factor2 = 1 / max;
530
- r = parseInt((red2 * factor2 * (100 - black1) / 100) * 255, 10);
531
- g = parseInt((green2 * factor2 * (100 - black1) / 100) * 255, 10);
532
- b = parseInt((blue2 * factor2 * (100 - black1) / 100) * 255, 10);
533
- if (r > 255) {r = 255;}
534
- if (g > 255) {g = 255;}
535
- if (b > 255) {b = 255;}
536
- if (r < 0) {r = 0;}
537
- if (g < 0) {g = 0;}
538
- if (b < 0) {b = 0;}
502
+ blue1 = (122 - (Math.sqrt(19881 - Math.pow(factor1, 2)))) / 100;
503
+ } else if (bc === 'G' && percent > 40) {
504
+ blue1 = 0;
505
+ }
506
+ if (bc === 'Y') {
507
+ green1 = (85 - 17/20 * percent) / 100;
508
+ } else if (bc === 'R' && percent <= 60) {
509
+ green1 = 0;
510
+ } else if (bc === 'R' && percent > 60) {
511
+ factor1 = (percent - 60) + 35;
512
+ green1 = (67.5 - (Math.sqrt(5776 - Math.pow(factor1, 2)))) / 100;
513
+ } else if (bc === 'B' && percent <= 60) {
514
+ factor1 = (1*percent - 68.5);
515
+ green1 = (6.5 + (Math.sqrt(7044.5 - Math.pow(factor1, 2)))) / 100;
516
+ } else if ((bc === 'B' && percent > 60) || ( bc === 'G' && percent <= 60)) {
517
+ green1 = 0.9;
518
+ } else if (bc === 'G' && percent > 60) {
519
+ factor1 = (percent - 60);
520
+ green1 = (90 - (1/8 * factor1)) / 100;
521
+ }
522
+ factor1 = (red1 + green1 + blue1)/3;
523
+ red2 = ((factor1 - red1) * (100 - chroma1) / 100) + red1;
524
+ green2 = ((factor1 - green1) * (100 - chroma1) / 100) + green1;
525
+ blue2 = ((factor1 - blue1) * (100 - chroma1) / 100) + blue1;
526
+ if (red2 > green2 && red2 > blue2) {
527
+ max = red2;
528
+ } else if (green2 > red2 && green2 > blue2) {
529
+ max = green2;
530
+ } else if (blue2 > red2 && blue2 > green2) {
531
+ max = blue2;
539
532
  } else {
540
- grey = parseInt((1 - black / 100) * 255, 10);
541
- if (grey > 255) {grey = 255;}
542
- if (grey < 0) {grey = 0;}
543
- r = grey;
544
- g = grey;
545
- b = grey;
533
+ max = (red2 + green2 + blue2) / 3;
534
+ }
535
+ factor2 = 1 / max;
536
+ r = parseInt((red2 * factor2 * (100 - black1) / 100) * 255, 10);
537
+ g = parseInt((green2 * factor2 * (100 - black1) / 100) * 255, 10);
538
+ b = parseInt((blue2 * factor2 * (100 - black1) / 100) * 255, 10);
539
+ if (r > 255) {r = 255;}
540
+ if (g > 255) {g = 255;}
541
+ if (b > 255) {b = 255;}
542
+ if (r < 0) {r = 0;}
543
+ if (g < 0) {g = 0;}
544
+ if (b < 0) {b = 0;}
545
+ } else {
546
+ grey = parseInt((1 - black / 100) * 255, 10);
547
+ if (grey > 255) {grey = 255;}
548
+ if (grey < 0) {grey = 0;}
549
+ r = grey;
550
+ g = grey;
551
+ b = grey;
546
552
  }
547
553
  return {
548
- r : r,
549
- g : g,
550
- b : b
554
+ r : r,
555
+ g : g,
556
+ b : b
551
557
  };
552
558
  }
553
559
  function rgbToHsl(r, g, b) {
@@ -559,30 +565,30 @@ function rgbToHsl(r, g, b) {
559
565
  max = rgb[0];
560
566
  maxcolor = 0;
561
567
  for (i = 0; i < rgb.length - 1; i++) {
562
- if (rgb[i + 1] <= min) {min = rgb[i + 1];}
563
- if (rgb[i + 1] >= max) {max = rgb[i + 1];maxcolor = i + 1;}
568
+ if (rgb[i + 1] <= min) {min = rgb[i + 1];}
569
+ if (rgb[i + 1] >= max) {max = rgb[i + 1];maxcolor = i + 1;}
564
570
  }
565
571
  if (maxcolor == 0) {
566
- h = (rgb[1] - rgb[2]) / (max - min);
572
+ h = (rgb[1] - rgb[2]) / (max - min);
567
573
  }
568
574
  if (maxcolor == 1) {
569
- h = 2 + (rgb[2] - rgb[0]) / (max - min);
575
+ h = 2 + (rgb[2] - rgb[0]) / (max - min);
570
576
  }
571
577
  if (maxcolor == 2) {
572
- h = 4 + (rgb[0] - rgb[1]) / (max - min);
578
+ h = 4 + (rgb[0] - rgb[1]) / (max - min);
573
579
  }
574
580
  if (isNaN(h)) {h = 0;}
575
581
  h = h * 60;
576
582
  if (h < 0) {h = h + 360; }
577
583
  l = (min + max) / 2;
578
584
  if (min == max) {
579
- s = 0;
585
+ s = 0;
580
586
  } else {
581
- if (l < 0.5) {
582
- s = (max - min) / (max + min);
583
- } else {
584
- s = (max - min) / (2 - max - min);
585
- }
587
+ if (l < 0.5) {
588
+ s = (max - min) / (max + min);
589
+ } else {
590
+ s = (max - min) / (2 - max - min);
591
+ }
586
592
  }
587
593
  s = s;
588
594
  return {h : h, s : s, l : l};
@@ -596,13 +602,13 @@ function rgbToHwb(r, g, b) {
596
602
  min = Math.min(r, g, b);
597
603
  chroma = max - min;
598
604
  if (chroma == 0) {
599
- h = 0;
605
+ h = 0;
600
606
  } else if (r == max) {
601
- h = (((g - b) / chroma) % 6) * 360;
607
+ h = (((g - b) / chroma) % 6) * 360;
602
608
  } else if (g == max) {
603
- h = ((((b - r) / chroma) + 2) % 6) * 360;
609
+ h = ((((b - r) / chroma) + 2) % 6) * 360;
604
610
  } else {
605
- h = ((((r - g) / chroma) + 4) % 6) * 360;
611
+ h = ((((r - g) / chroma) + 4) % 6) * 360;
606
612
  }
607
613
  w = min;
608
614
  bl = 1 - max;
@@ -616,13 +622,13 @@ function rgbToCmyk(r, g, b) {
616
622
  max = Math.max(r, g, b);
617
623
  k = 1 - max;
618
624
  if (k == 1) {
619
- c = 0;
620
- m = 0;
621
- y = 0;
625
+ c = 0;
626
+ m = 0;
627
+ y = 0;
622
628
  } else {
623
- c = (1 - r - k) / (1 - k);
624
- m = (1 - g - k) / (1 - k);
625
- y = (1 - b - k) / (1 - k);
629
+ c = (1 - r - k) / (1 - k);
630
+ m = (1 - g - k) / (1 - k);
631
+ y = (1 - b - k) / (1 - k);
626
632
  }
627
633
  return {c : c, m : m, y : y, k : k};
628
634
  }
@@ -648,10 +654,10 @@ function w3SetColorsByAttribute() {
648
654
  var z, i, att;
649
655
  z = document.getElementsByTagName("*");
650
656
  for (i = 0; i < z.length; i++) {
651
- att = z[i].getAttribute("data-w3-color");
652
- if (att) {
653
- z[i].style.backgroundColor = w3color(att).toRgbString();
654
- }
657
+ att = z[i].getAttribute("data-w3-color");
658
+ if (att) {
659
+ z[i].style.backgroundColor = w3color(att).toRgbString();
660
+ }
655
661
  }
656
662
  }
657
663
  </script>
@@ -659,8 +665,9 @@ function w3SetColorsByAttribute() {
659
665
 
660
666
  <body style="margin: 0px; paddding: 0px">
661
667
 
662
- <div class="BG_Black" style="background-color:black">
663
- <table class="pad1em" style="border:1px solid grey">
668
+
669
+ <div class="BG_Black" style="background-color:black; padding:0.5em;">
670
+ <table class="pad1em" style="border:1px solid grey; padding: 0.8em;">
664
671
  <tr><td>
665
672
  <span style="color:#F0F8FF">
666
673
  aliceblue - color: #F0F8FF
@@ -1237,12 +1244,14 @@ yellowgreen - color: #9ACD32
1237
1244
  </td></tr></table></div>
1238
1245
 
1239
1246
 
1240
- <div class="w3-container w3-padding-large" style="background-color:#f1f1f1;border:1px solid #d3d3d3;">
1247
+ <div class="w3-container w3-padding-large" style="background-color:#f1f1f1;border:1px solid #d3d3d3; padding: 15px;">
1241
1248
  <div class="w3-row">
1242
1249
  <div class="w3-col l6">
1243
1250
  <h2>Enter a colour next</h2>
1244
- <label><span class="w3-text-grey"><i>Enter the rgb() value here:</i></span></label>
1245
- <input id="color01" type="text" class="bblack1" style="border: 1px solid black; padding: 8px; background-color: gold; text-align: center" value="rgb(0, 191, 255)" class="w3-input w3-border" oninput="convertColor()" onchange="validate_the_colour()" onkeydown="submitOnEnter(event)">
1251
+ <label>
1252
+ <span class="w3-text-grey"><i>Enter the rgb() value here:</i></span>
1253
+ </label>
1254
+ <input id="color01" type="text" class="bblack1" style="font-size: 2em; border: 1px solid black; padding: 8px; background-color: gold; text-align: center" value="rgb(0, 191, 255)" class="w3-input w3-border" oninput="convertColor()" onchange="validate_the_colour()" onkeydown="submitOnEnter(event)">
1246
1255
  <br>
1247
1256
  <div class="resultStrings">
1248
1257
  <div id="error01"></div>
@@ -1252,7 +1261,7 @@ yellowgreen - color: #9ACD32
1252
1261
  <tr><td id="helphex01"></td><td id="hex01"></td></tr>
1253
1262
  <tr><td id="helphsl01"></td><td id="hsl01"></td></tr>
1254
1263
  <tr><td id="helphwb01"></td><td id="hwb01"></td></tr>
1255
- <tr><td id="helpcmyk01"></td><td id="cmyk01"></td></tr>
1264
+ <tr><td id="helpcmyk01"></td><td id="cmyk01"></td></tr>
1256
1265
  <tr><td id="helpncol01"></td><td id="ncol01"></td></tr>
1257
1266
  </table>
1258
1267
  </div>
@@ -1277,59 +1286,57 @@ yellowgreen - color: #9ACD32
1277
1286
 
1278
1287
 
1279
1288
 
1280
-
1281
-
1282
1289
  <script>
1283
1290
  function convertColor() {
1284
- color = document.getElementById("color01").value;
1285
- if (color == "") {
1286
- validate_the_colour();
1287
- return;
1291
+ color = document.getElementById("color01").value;
1292
+ if (color == "") {
1293
+ validate_the_colour();
1294
+ return;
1295
+ }
1296
+ color = color.toLowerCase();
1297
+ //document.getElementsByTagName("h1")[0].style.color = w3color(color).toRgbString();
1298
+ c = w3color(color);
1299
+ if (c.valid) {
1300
+ document.getElementById("resultTable").style.display = "table";
1301
+ document.getElementById("error01").innerHTML = "";
1302
+ document.getElementById("result01").style.backgroundColor = c.toRgbaString();
1303
+ if (c.toName() == "") {
1304
+ document.getElementById("name01").style.fontStyle = "italic";
1305
+ document.getElementById("name01").style.color = "#757575";
1306
+ document.getElementById("name01").innerHTML = "no name";
1307
+ } else {
1308
+ document.getElementById("name01").style.fontStyle = "normal";
1309
+ document.getElementById("name01").style.color = "#000000";
1310
+ document.getElementById("name01").innerHTML = c.toName();
1288
1311
  }
1289
- color = color.toLowerCase();
1290
- //document.getElementsByTagName("h1")[0].style.color = w3color(color).toRgbString();
1291
- c = w3color(color);
1292
- if (c.valid) {
1293
- document.getElementById("resultTable").style.display = "table";
1294
- document.getElementById("error01").innerHTML = "";
1295
- document.getElementById("result01").style.backgroundColor = c.toRgbaString();
1296
- if (c.toName() == "") {
1297
- document.getElementById("name01").style.fontStyle = "italic";
1298
- document.getElementById("name01").style.color = "#757575";
1299
- document.getElementById("name01").innerHTML = "no name";
1300
- } else {
1301
- document.getElementById("name01").style.fontStyle = "normal";
1302
- document.getElementById("name01").style.color = "#000000";
1303
- document.getElementById("name01").innerHTML = c.toName();
1304
- }
1305
- document.getElementById("helpname01").innerHTML = "Name";
1306
- document.getElementById("hex01").innerHTML = c.toHexString();
1307
- document.getElementById("helphex01").innerHTML = "<a href='colors_hexadecimal.asp?color=" + c.toHexString().substr(1) + "'>Hex</a>";
1308
- document.getElementById("cmyk01").innerHTML = c.toCmykString();
1309
- document.getElementById("helpcmyk01").innerHTML = "<a href='colors_cmyk.asp?color=" + c.toCmykStringDecimal() + "'>Cmyk</a>";
1310
- document.getElementById("helpncol01").innerHTML = "<a href='colors_ncol.asp?color=" + c.toNcolStringDecimal() + "'>Ncol</a>";
1311
- if ((color.indexOf("rgba") > -1 || color.indexOf("hsla") > -1 || color.indexOf("hwba") > -1 || color.indexOf("ncola")) > -1
1312
- || (color.indexOf("cmyk") == -1 && color.split(",").length == 4)
1313
- || (color.indexOf("cmyk") > -1 && color.split(",").length == 5)) {
1314
- document.getElementById("rgb01").innerHTML = c.toRgbaString();
1315
- document.getElementById("hsl01").innerHTML = c.toHslaString();
1316
- document.getElementById("hwb01").innerHTML = c.toHwbaString();
1317
- document.getElementById("ncol01").innerHTML = c.toNcolaString();
1318
- document.getElementById("helprgb01").innerHTML = "Rgba";
1319
- document.getElementById("helphsl01").innerHTML = "Hsla";
1320
- document.getElementById("helphwb01").innerHTML = "Hwba";
1321
- } else {
1322
- document.getElementById("rgb01").innerHTML = c.toRgbString();
1323
- document.getElementById("hsl01").innerHTML = c.toHslString();
1324
- document.getElementById("hwb01").innerHTML = c.toHwbString();
1325
- document.getElementById("ncol01").innerHTML = c.toNcolString();
1326
- document.getElementById("helprgb01").innerHTML = "<a href='colors_rgb.asp?color=" + c.toRgbString() + "'>Rgb</a>";
1327
- document.getElementById("helphsl01").innerHTML = "<a href='colors_hsl.asp?color=" + c.toHslStringDecimal() + "'>Hsl</a>";
1328
- document.getElementById("helphwb01").innerHTML = "<a href='colors_hwb.asp?color=" + c.toHwbStringDecimal() + "'>Hwb</a>";
1329
- }
1312
+ document.getElementById("helpname01").innerHTML = "Name";
1313
+ document.getElementById("hex01").innerHTML = c.toHexString();
1314
+ document.getElementById("helphex01").innerHTML = "<a href='colors_hexadecimal.asp?color=" + c.toHexString().substr(1) + "'>Hex</a>";
1315
+ document.getElementById("cmyk01").innerHTML = c.toCmykString();
1316
+ document.getElementById("helpcmyk01").innerHTML = "<a href='colors_cmyk.asp?color=" + c.toCmykStringDecimal() + "'>Cmyk</a>";
1317
+ document.getElementById("helpncol01").innerHTML = "<a href='colors_ncol.asp?color=" + c.toNcolStringDecimal() + "'>Ncol</a>";
1318
+ if ((color.indexOf("rgba") > -1 || color.indexOf("hsla") > -1 || color.indexOf("hwba") > -1 || color.indexOf("ncola")) > -1
1319
+ || (color.indexOf("cmyk") == -1 && color.split(",").length == 4)
1320
+ || (color.indexOf("cmyk") > -1 && color.split(",").length == 5)) {
1321
+ document.getElementById("rgb01").innerHTML = c.toRgbaString();
1322
+ document.getElementById("hsl01").innerHTML = c.toHslaString();
1323
+ document.getElementById("hwb01").innerHTML = c.toHwbaString();
1324
+ document.getElementById("ncol01").innerHTML = c.toNcolaString();
1325
+ document.getElementById("helprgb01").innerHTML = "Rgba";
1326
+ document.getElementById("helphsl01").innerHTML = "Hsla";
1327
+ document.getElementById("helphwb01").innerHTML = "Hwba";
1330
1328
  } else {
1331
- validate_the_colour();
1329
+ document.getElementById("rgb01").innerHTML = c.toRgbString();
1330
+ document.getElementById("hsl01").innerHTML = c.toHslString();
1331
+ document.getElementById("hwb01").innerHTML = c.toHwbString();
1332
+ document.getElementById("ncol01").innerHTML = c.toNcolString();
1333
+ document.getElementById("helprgb01").innerHTML = "<a href='colors_rgb.asp?color=" + c.toRgbString() + "'>Rgb</a>";
1334
+ document.getElementById("helphsl01").innerHTML = "<a href='colors_hsl.asp?color=" + c.toHslStringDecimal() + "'>Hsl</a>";
1335
+ document.getElementById("helphwb01").innerHTML = "<a href='colors_hwb.asp?color=" + c.toHwbStringDecimal() + "'>Hwb</a>";
1332
1336
  }
1337
+ } else {
1338
+ validate_the_colour();
1339
+ }
1333
1340
  }
1334
1341
 
1335
1342
  function validate_the_colour() {
@@ -1337,31 +1344,31 @@ function validate_the_colour() {
1337
1344
  color = document.getElementById("color01").value;
1338
1345
  c = w3color(color);
1339
1346
  if (color == "" || !c.valid) {
1340
- document.getElementById("result01").style.backgroundColor = "#f1f1f1";
1341
- document.getElementById("resultTable").style.display = "none";
1342
- document.getElementById("error01").innerHTML = "Not a legal color value";
1343
- document.getElementById("hex01").innerHTML = "";
1344
- document.getElementById("rgb01").innerHTML = "";
1345
- document.getElementById("hsl01").innerHTML = "";
1346
- document.getElementById("hwb01").innerHTML = "";
1347
- document.getElementById("ncol01").innerHTML = "";
1348
- document.getElementById("helpname01").innerHTML = "";
1349
- document.getElementById("helphex01").innerHTML = "";
1350
- document.getElementById("helprgb01").innerHTML = "";
1351
- document.getElementById("helphsl01").innerHTML = "";
1352
- document.getElementById("helphwb01").innerHTML = "";
1353
- document.getElementById("helpncol01").innerHTML = "";
1347
+ document.getElementById("result01").style.backgroundColor = "#f1f1f1";
1348
+ document.getElementById("resultTable").style.display = "none";
1349
+ document.getElementById("error01").innerHTML = "Not a legal color value";
1350
+ document.getElementById("hex01").innerHTML = "";
1351
+ document.getElementById("rgb01").innerHTML = "";
1352
+ document.getElementById("hsl01").innerHTML = "";
1353
+ document.getElementById("hwb01").innerHTML = "";
1354
+ document.getElementById("ncol01").innerHTML = "";
1355
+ document.getElementById("helpname01").innerHTML = "";
1356
+ document.getElementById("helphex01").innerHTML = "";
1357
+ document.getElementById("helprgb01").innerHTML = "";
1358
+ document.getElementById("helphsl01").innerHTML = "";
1359
+ document.getElementById("helphwb01").innerHTML = "";
1360
+ document.getElementById("helpncol01").innerHTML = "";
1354
1361
  } else {
1355
- document.getElementById("resultTable").style.display = "table";
1356
- document.getElementById("error01").innerHTML = "";
1357
- convertColor();
1362
+ document.getElementById("resultTable").style.display = "table";
1363
+ document.getElementById("error01").innerHTML = "";
1364
+ convertColor();
1358
1365
  }
1359
1366
  }
1360
1367
  function submitOnEnter(e) {
1361
- keyboardKey = e.which || e.keyCode;
1362
- if (keyboardKey == 13) {
1363
- validate_the_colour();
1364
- }
1368
+ keyboardKey = e.which || e.keyCode;
1369
+ if (keyboardKey == 13) {
1370
+ validate_the_colour();
1371
+ }
1365
1372
  }
1366
1373
 
1367
1374
  convertColor();
@@ -1372,18 +1379,10 @@ convertColor();
1372
1379
 
1373
1380
  </div>
1374
1381
  <div class="w3-col l2 m12" id="right">
1375
-
1376
1382
  <div class="sidesection">
1377
- <div id="skyscraper">
1378
-
1379
- <!--<pre>wide_skyscraper, all: [160,600][300,600][320,50][120,600][300,1050]</pre>-->
1380
- <div id="snhb-wide_skyscraper-0"></div>
1381
- <!-- adspace wide-->
1382
-
1383
- </div>
1384
- </div>
1385
-
1386
-
1383
+ <div id="skyscraper">
1387
1384
 
1385
+ </div>
1386
+ </div>
1388
1387
  </body>
1389
1388
  </html>