cyberweb 0.4.174

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 (573) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +3259 -0
  3. data/bin/cyberweb +27 -0
  4. data/cyberweb.gemspec +119 -0
  5. data/doc/AUTHORS.md +12 -0
  6. data/doc/CONVENTIONS.md +7 -0
  7. data/doc/CYBERWEB_TUTORIAL.cgi +43 -0
  8. data/doc/DOCUMENTATION_FOR_CYBERSPRAWL.md +50 -0
  9. data/doc/FUTURE_DESIGN_GOAL_CONSIDERATIONS.md +13 -0
  10. data/doc/JQUERY.md +122 -0
  11. data/doc/MOUSE.md +80 -0
  12. data/doc/README.gen +3231 -0
  13. data/doc/RENDER_WEB_BASE.md +46 -0
  14. data/doc/USAGE.md +246 -0
  15. data/doc/configuration/configuration.md +23 -0
  16. data/doc/deprecations.md +32 -0
  17. data/doc/html_characters.md +15 -0
  18. data/doc/todo/TODO_FOR_THE_CYBERWEB_PROJECT.md +1089 -0
  19. data/examples/README.md +4 -0
  20. data/examples/advanced/delayed_update_of_the_body_via_javascript.cgi +38 -0
  21. data/examples/advanced/hybrid_experiment.cgi +108 -0
  22. data/examples/advanced/larger_image_on_mouse_over_example.cgi +35 -0
  23. data/examples/advanced/no_right_click.cgi +26 -0
  24. data/examples/advanced/objectified_html_tags.cgi +35 -0
  25. data/examples/advanced/simple_calculator.cgi +42 -0
  26. data/examples/advanced/simple_form_example.cgi +38 -0
  27. data/examples/css/blue_border.html +28 -0
  28. data/examples/css/caret_colour_example.html +22 -0
  29. data/examples/css/css_border_spacing_example.html +69 -0
  30. data/examples/css/css_bubbles.html +43 -0
  31. data/examples/css/css_clock.html +344 -0
  32. data/examples/css/css_drag_and_drop.html +89 -0
  33. data/examples/css/css_neon_glow_effects.html +317 -0
  34. data/examples/css/css_text_decoration_example.html +70 -0
  35. data/examples/css/css_tooltip.html +44 -0
  36. data/examples/css/fade_in_and_fade_out_effect.html +66 -0
  37. data/examples/css/font_size_examples.html +40 -0
  38. data/examples/css/letter_spacing_example.cgi +36 -0
  39. data/examples/css/meter_example.html +31 -0
  40. data/examples/css/on_mouse_button_pressed.html +41 -0
  41. data/examples/css/planets.html +187 -0
  42. data/examples/css/scale_example.html +25 -0
  43. data/examples/css/shadow_example_in_CSS.cgi +30 -0
  44. data/examples/css/sticky_div_example.html +56 -0
  45. data/examples/css/stitched_div.html +36 -0
  46. data/examples/csv/README.md +1 -0
  47. data/examples/csv/sample.csv +10 -0
  48. data/examples/example1.rb +7 -0
  49. data/examples/flip_card_example/flip_card_example.html +72 -0
  50. data/examples/frames/frame_left.html +1 -0
  51. data/examples/frames/frame_right.html +1 -0
  52. data/examples/html/README.md +1 -0
  53. data/examples/html/abbr_example.html +25 -0
  54. data/examples/html/base64_image_example.html +26 -0
  55. data/examples/html/colour_wheel.html +1389 -0
  56. data/examples/html/column_width_example.html +34 -0
  57. data/examples/html/custom_cursor.html +103 -0
  58. data/examples/html/draggable_paragraph.html +12 -0
  59. data/examples/html/fieldset_example.html +25 -0
  60. data/examples/html/frames_example.html +7 -0
  61. data/examples/html/glyph_example.html +43 -0
  62. data/examples/html/hbox_and_vbox_example.html +65 -0
  63. data/examples/html/href_examples.html +27 -0
  64. data/examples/html/input_autofocus_example.html +16 -0
  65. data/examples/html/larger_image_on_mouse_over_example.html +30 -0
  66. data/examples/html/ordered_and_unordered_bulletsin.html +33 -0
  67. data/examples/html/play_video_example.html +13 -0
  68. data/examples/html/readonly_textarea_example.html +23 -0
  69. data/examples/html/remote_image_example.html +10 -0
  70. data/examples/html/simple_unordered_list.html +16 -0
  71. data/examples/html/table_with_header_example.html +27 -0
  72. data/examples/html/two_columns_flex_example.html +39 -0
  73. data/examples/javascript/README.md +2 -0
  74. data/examples/javascript/arrays/arrays_example_in_javascript.html +16 -0
  75. data/examples/javascript/delay_example/delay_example.html +46 -0
  76. data/examples/javascript/drag_support/drag_support.html +37 -0
  77. data/examples/javascript/jquery_drag_and_drop/drag_and_drop_image_example.html +33 -0
  78. data/examples/javascript/on_click_event_hello_world/on_click_event_hello_world.html +21 -0
  79. data/examples/javascript/rgb_to_hex/rgb_to_hex.html +15 -0
  80. data/examples/javascript/screen_resolution/screen_resolution.html +20 -0
  81. data/examples/javascript/select_everything/select_everything.html +14 -0
  82. data/examples/javascript/write_into_a_file/write_into_a_file.html +39 -0
  83. data/examples/rack/README.md +4 -0
  84. data/examples/rack/example_with_html_template.rb +123 -0
  85. data/examples/rack/example_with_rack_and_cyberweb_showing_how_to_use_images.rb +56 -0
  86. data/examples/rack/hello_world_example_with_rack.rb +45 -0
  87. data/examples/rack/lobster.rb +79 -0
  88. data/examples/rack/rack_env.rb +10 -0
  89. data/examples/rack/standalone_example.rb +26 -0
  90. data/examples/show_greek_letters.rb +3 -0
  91. data/examples/simple/on_click_event_hello_world.cgi +34 -0
  92. data/examples/sinatra/001_your_ip_address_is.rb +8 -0
  93. data/examples/sinatra/002_the_request_object.rb +16 -0
  94. data/examples/sinatra/003_hello_world_example.rb +82 -0
  95. data/examples/sinatra/004_splat_example.rb +10 -0
  96. data/examples/sinatra/005_attachment_example.rb +11 -0
  97. data/examples/sinatra/006_outer_self_example.rb +8 -0
  98. data/examples/sinatra/007_mime_type_example.rb +17 -0
  99. data/examples/sinatra/008_post_example.rb +55 -0
  100. data/examples/table_example.rb +37 -0
  101. data/images/cyberweb_favicon.png +0 -0
  102. data/images/cyberweb_logo.png +0 -0
  103. data/images/cyberweb_theme.png +0 -0
  104. data/lib/cyberweb/and_sinatra_base.rb +9 -0
  105. data/lib/cyberweb/autoinclude.rb +20 -0
  106. data/lib/cyberweb/autoinclude_webobject.rb +14 -0
  107. data/lib/cyberweb/base/base.rb +41 -0
  108. data/lib/cyberweb/base/colours.rb +69 -0
  109. data/lib/cyberweb/base/constants.rb +18 -0
  110. data/lib/cyberweb/base/encoding.rb +19 -0
  111. data/lib/cyberweb/base/misc.rb +239 -0
  112. data/lib/cyberweb/base/reset.rb +23 -0
  113. data/lib/cyberweb/base/save_file.rb +22 -0
  114. data/lib/cyberweb/cascading_style_sheets/README.md +4 -0
  115. data/lib/cyberweb/cascading_style_sheets/admonition.css +33 -0
  116. data/lib/cyberweb/cascading_style_sheets/balloon.css +344 -0
  117. data/lib/cyberweb/cascading_style_sheets/border.css +202 -0
  118. data/lib/cyberweb/cascading_style_sheets/code.css +58 -0
  119. data/lib/cyberweb/cascading_style_sheets/colours.css +476 -0
  120. data/lib/cyberweb/cascading_style_sheets/default.css +1836 -0
  121. data/lib/cyberweb/cascading_style_sheets/div.css +26 -0
  122. data/lib/cyberweb/cascading_style_sheets/fonts.css +365 -0
  123. data/lib/cyberweb/cascading_style_sheets/links.css +207 -0
  124. data/lib/cyberweb/cascading_style_sheets/margin.css +677 -0
  125. data/lib/cyberweb/cascading_style_sheets/menu.css +37 -0
  126. data/lib/cyberweb/cascading_style_sheets/message_boxes.css +48 -0
  127. data/lib/cyberweb/cascading_style_sheets/misc.css +162 -0
  128. data/lib/cyberweb/cascading_style_sheets/popup.css +63 -0
  129. data/lib/cyberweb/cascading_style_sheets/rpg.css +51 -0
  130. data/lib/cyberweb/cascading_style_sheets/ruby_regexes.css +33 -0
  131. data/lib/cyberweb/cascading_style_sheets/template2.css +18 -0
  132. data/lib/cyberweb/cascading_style_sheets/text_shadow.css +19 -0
  133. data/lib/cyberweb/cascading_style_sheets/tooltip.css +36 -0
  134. data/lib/cyberweb/cgi/README.md +6 -0
  135. data/lib/cyberweb/cgi/cgi.rb +340 -0
  136. data/lib/cyberweb/cgi/constants.rb +121 -0
  137. data/lib/cyberweb/cgi/cookie.rb +218 -0
  138. data/lib/cyberweb/cgi/core.rb +638 -0
  139. data/lib/cyberweb/cgi/exceptions.rb +223 -0
  140. data/lib/cyberweb/cgi/html.rb +1025 -0
  141. data/lib/cyberweb/cgi/mod_ruby_exception_printer.rb +40 -0
  142. data/lib/cyberweb/cgi/query_extension.rb +431 -0
  143. data/lib/cyberweb/cgi/session/file_store.rb +131 -0
  144. data/lib/cyberweb/cgi/session/memory_store.rb +90 -0
  145. data/lib/cyberweb/cgi/session/pstore.rb +127 -0
  146. data/lib/cyberweb/cgi/session.rb +444 -0
  147. data/lib/cyberweb/cgi/tag_maker.rb +94 -0
  148. data/lib/cyberweb/cgi/util.rb +239 -0
  149. data/lib/cyberweb/charts/README.md +2 -0
  150. data/lib/cyberweb/charts/google_charts.rb +51 -0
  151. data/lib/cyberweb/classes/simple_form.rb +55 -0
  152. data/lib/cyberweb/classes/tooltips.rb +169 -0
  153. data/lib/cyberweb/coloured_tags/coloured_tags.rb +3099 -0
  154. data/lib/cyberweb/colours/colour_chart.rb +117 -0
  155. data/lib/cyberweb/colours/colours.rb +50 -0
  156. data/lib/cyberweb/colours/random_colour.rb +28 -0
  157. data/lib/cyberweb/colours/sanitize_for_colours.rb +95 -0
  158. data/lib/cyberweb/commandline/commandline_interface.rb +49 -0
  159. data/lib/cyberweb/configuration/configuration.rb +66 -0
  160. data/lib/cyberweb/configuration/load_the_configuration_file.rb +73 -0
  161. data/lib/cyberweb/constants/array_images.rb +21 -0
  162. data/lib/cyberweb/constants/array_local_css_files.rb +35 -0
  163. data/lib/cyberweb/constants/array_predefined_constants.rb +23 -0
  164. data/lib/cyberweb/constants/configuration_file.rb +33 -0
  165. data/lib/cyberweb/constants/constants.rb +9 -0
  166. data/lib/cyberweb/constants/file_constants.rb +16 -0
  167. data/lib/cyberweb/constants/http_status_codes.rb +42 -0
  168. data/lib/cyberweb/constants/nl.rb +22 -0
  169. data/lib/cyberweb/constants/project_constants.rb +99 -0
  170. data/lib/cyberweb/constants/roebe.rb +28 -0
  171. data/lib/cyberweb/constants/standalone_constants.rb +309 -0
  172. data/lib/cyberweb/controller/README.md +4 -0
  173. data/lib/cyberweb/controller/webobject_controller.rb +50 -0
  174. data/lib/cyberweb/csv/README.md +2 -0
  175. data/lib/cyberweb/csv/csv.rb +58 -0
  176. data/lib/cyberweb/cybersprawl +1 -0
  177. data/lib/cyberweb/debug/debug.rb +69 -0
  178. data/lib/cyberweb/encoding/encoding.rb +84 -0
  179. data/lib/cyberweb/erb/test.rhtml +81 -0
  180. data/lib/cyberweb/erb/test_template.erb +9 -0
  181. data/lib/cyberweb/evaluate_from_the_same_named_file_then_serve.rb +9 -0
  182. data/lib/cyberweb/favicon/favicon.rb +196 -0
  183. data/lib/cyberweb/generator/README.md +2 -0
  184. data/lib/cyberweb/generator/cgi.rb +201 -0
  185. data/lib/cyberweb/generator/class.rb +25 -0
  186. data/lib/cyberweb/generator/static_webpage.rb +162 -0
  187. data/lib/cyberweb/generator/webpage_for_images.rb +553 -0
  188. data/lib/cyberweb/help/help.rb +29 -0
  189. data/lib/cyberweb/html_codes/README.md +15 -0
  190. data/lib/cyberweb/html_codes/greek_letters.rb +204 -0
  191. data/lib/cyberweb/html_tags/README.md +3 -0
  192. data/lib/cyberweb/html_tags/a.rb +65 -0
  193. data/lib/cyberweb/html_tags/accesskey.rb +25 -0
  194. data/lib/cyberweb/html_tags/blockquote.rb +56 -0
  195. data/lib/cyberweb/html_tags/body.rb +14 -0
  196. data/lib/cyberweb/html_tags/br.rb +19 -0
  197. data/lib/cyberweb/html_tags/button.rb +110 -0
  198. data/lib/cyberweb/html_tags/canvas.rb +59 -0
  199. data/lib/cyberweb/html_tags/chtml.rb +14 -0
  200. data/lib/cyberweb/html_tags/div.rb +163 -0
  201. data/lib/cyberweb/html_tags/fieldset.rb +67 -0
  202. data/lib/cyberweb/html_tags/figure.rb +72 -0
  203. data/lib/cyberweb/html_tags/form.rb +203 -0
  204. data/lib/cyberweb/html_tags/h1.rb +75 -0
  205. data/lib/cyberweb/html_tags/h2.rb +73 -0
  206. data/lib/cyberweb/html_tags/h3.rb +58 -0
  207. data/lib/cyberweb/html_tags/h4.rb +60 -0
  208. data/lib/cyberweb/html_tags/h5.rb +54 -0
  209. data/lib/cyberweb/html_tags/h6.rb +54 -0
  210. data/lib/cyberweb/html_tags/hr.rb +22 -0
  211. data/lib/cyberweb/html_tags/html_tags.rb +240 -0
  212. data/lib/cyberweb/html_tags/i.rb +50 -0
  213. data/lib/cyberweb/html_tags/img.rb +294 -0
  214. data/lib/cyberweb/html_tags/input.rb +345 -0
  215. data/lib/cyberweb/html_tags/label.rb +63 -0
  216. data/lib/cyberweb/html_tags/legend.rb +56 -0
  217. data/lib/cyberweb/html_tags/li.rb +67 -0
  218. data/lib/cyberweb/html_tags/map.rb +31 -0
  219. data/lib/cyberweb/html_tags/nav.rb +63 -0
  220. data/lib/cyberweb/html_tags/object.rb +56 -0
  221. data/lib/cyberweb/html_tags/ol.rb +56 -0
  222. data/lib/cyberweb/html_tags/option.rb +61 -0
  223. data/lib/cyberweb/html_tags/p.rb +90 -0
  224. data/lib/cyberweb/html_tags/pre.rb +164 -0
  225. data/lib/cyberweb/html_tags/section.rb +33 -0
  226. data/lib/cyberweb/html_tags/select.rb +100 -0
  227. data/lib/cyberweb/html_tags/span.rb +338 -0
  228. data/lib/cyberweb/html_tags/strong.rb +39 -0
  229. data/lib/cyberweb/html_tags/table.rb +273 -0
  230. data/lib/cyberweb/html_tags/tbody.rb +24 -0
  231. data/lib/cyberweb/html_tags/td.rb +214 -0
  232. data/lib/cyberweb/html_tags/textarea.rb +138 -0
  233. data/lib/cyberweb/html_tags/th.rb +68 -0
  234. data/lib/cyberweb/html_tags/thead.rb +36 -0
  235. data/lib/cyberweb/html_tags/tr.rb +97 -0
  236. data/lib/cyberweb/html_tags/ul.rb +51 -0
  237. data/lib/cyberweb/html_template/html_template.rb +352 -0
  238. data/lib/cyberweb/images/embed_this_image.rb +37 -0
  239. data/lib/cyberweb/images/images.rb +58 -0
  240. data/lib/cyberweb/images/is_image.rb +22 -0
  241. data/lib/cyberweb/images/path_to_images.rb +60 -0
  242. data/lib/cyberweb/images/real/README.md +6 -0
  243. data/lib/cyberweb/images/remove_this_substring_from_all_images.rb +44 -0
  244. data/lib/cyberweb/images/standalone_drag_and_drop_this_image.rb +64 -0
  245. data/lib/cyberweb/images/string_image.rb +399 -0
  246. data/lib/cyberweb/images_base64_encoded/AUSRUFUNGSZEICHEN.png.md +1 -0
  247. data/lib/cyberweb/images_base64_encoded/BLUEARROW.png.md +1 -0
  248. data/lib/cyberweb/images_base64_encoded/BUBBLE.png.md +1 -0
  249. data/lib/cyberweb/images_base64_encoded/CAT.png.md +1 -0
  250. data/lib/cyberweb/images_base64_encoded/CAUTION.png.md +1 -0
  251. data/lib/cyberweb/images_base64_encoded/CHEERING_PERSON.png.md +1 -0
  252. data/lib/cyberweb/images_base64_encoded/CURSOR.png.md +1 -0
  253. data/lib/cyberweb/images_base64_encoded/DOT_01.png.md +5 -0
  254. data/lib/cyberweb/images_base64_encoded/DUCKY.png.md +1 -0
  255. data/lib/cyberweb/images_base64_encoded/ELEPHANT.png.md +1 -0
  256. data/lib/cyberweb/images_base64_encoded/HALLOWEEN.png.md +1 -0
  257. data/lib/cyberweb/images_base64_encoded/HANGING_MONKEY.png.md +1 -0
  258. data/lib/cyberweb/images_base64_encoded/LENS.png.md +1 -0
  259. data/lib/cyberweb/images_base64_encoded/README.md +2 -0
  260. data/lib/cyberweb/images_base64_encoded/TU_WIEN_LOGO.png.md +1 -0
  261. data/lib/cyberweb/images_base64_encoded/VOGEL.png.md +1 -0
  262. data/lib/cyberweb/io/README.md +1 -0
  263. data/lib/cyberweb/io/io.rb +19 -0
  264. data/lib/cyberweb/javascript/drag_and_drop.rb +105 -0
  265. data/lib/cyberweb/javascript/dragula_collection.rb +54 -0
  266. data/lib/cyberweb/javascript/javascript.rb +211 -0
  267. data/lib/cyberweb/javascript/javascript_bundle.rb +223 -0
  268. data/lib/cyberweb/javascript/javascript_clock.rb +69 -0
  269. data/lib/cyberweb/javascript/javascript_last_modified.rb +27 -0
  270. data/lib/cyberweb/javascript/javascript_magic.rb +150 -0
  271. data/lib/cyberweb/javascript/javascript_selectable.rb +24 -0
  272. data/lib/cyberweb/javascript/jquery.rb +30 -0
  273. data/lib/cyberweb/javascript/on_click_change_opacity.rb +97 -0
  274. data/lib/cyberweb/javascript/on_click_hide.rb +63 -0
  275. data/lib/cyberweb/javascript/popup.rb +80 -0
  276. data/lib/cyberweb/javascript/print_javascript.rb +33 -0
  277. data/lib/cyberweb/javascript/registered_javascript_methods.rb +30 -0
  278. data/lib/cyberweb/javascript/resize.rb +28 -0
  279. data/lib/cyberweb/javascript/return_javascript.rb +48 -0
  280. data/lib/cyberweb/javascript/scroll.rb +17 -0
  281. data/lib/cyberweb/javascript/snoweffect.rb +122 -0
  282. data/lib/cyberweb/javascript_code/README.md +6 -0
  283. data/lib/cyberweb/javascript_code/chmod_displayer.js +74 -0
  284. data/lib/cyberweb/javascript_code/custom_functions.js +267 -0
  285. data/lib/cyberweb/javascript_code/jquery/jquery-3.6.0.js +10881 -0
  286. data/lib/cyberweb/javascript_code/jquery/jquery-ui-1.12.1.js +18706 -0
  287. data/lib/cyberweb/javascript_code/rgb_to_hex.js +14 -0
  288. data/lib/cyberweb/javascript_code/select_even_numbers.js +7 -0
  289. data/lib/cyberweb/javascript_code/select_everything.js +22 -0
  290. data/lib/cyberweb/javascript_code/simple_calculator.js +15 -0
  291. data/lib/cyberweb/javascript_code/sleep.js +3 -0
  292. data/lib/cyberweb/javascript_code/to_celsius.js +8 -0
  293. data/lib/cyberweb/mouse/README.md +3 -0
  294. data/lib/cyberweb/mouse/libxdo.rb +321 -0
  295. data/lib/cyberweb/mouse/mouse.rb +264 -0
  296. data/lib/cyberweb/objectified_html_tags/README.md +8 -0
  297. data/lib/cyberweb/objectified_html_tags/a.rb +129 -0
  298. data/lib/cyberweb/objectified_html_tags/abbr.rb +84 -0
  299. data/lib/cyberweb/objectified_html_tags/base.rb +376 -0
  300. data/lib/cyberweb/objectified_html_tags/button.rb +135 -0
  301. data/lib/cyberweb/objectified_html_tags/combobox.rb +165 -0
  302. data/lib/cyberweb/objectified_html_tags/div.rb +129 -0
  303. data/lib/cyberweb/objectified_html_tags/embed.rb +161 -0
  304. data/lib/cyberweb/objectified_html_tags/form.rb +129 -0
  305. data/lib/cyberweb/objectified_html_tags/h1.rb +129 -0
  306. data/lib/cyberweb/objectified_html_tags/h2.rb +129 -0
  307. data/lib/cyberweb/objectified_html_tags/h3.rb +129 -0
  308. data/lib/cyberweb/objectified_html_tags/h4.rb +129 -0
  309. data/lib/cyberweb/objectified_html_tags/h5.rb +129 -0
  310. data/lib/cyberweb/objectified_html_tags/h6.rb +129 -0
  311. data/lib/cyberweb/objectified_html_tags/hbox.rb +71 -0
  312. data/lib/cyberweb/objectified_html_tags/img.rb +202 -0
  313. data/lib/cyberweb/objectified_html_tags/input.rb +185 -0
  314. data/lib/cyberweb/objectified_html_tags/p.rb +129 -0
  315. data/lib/cyberweb/objectified_html_tags/pre.rb +129 -0
  316. data/lib/cyberweb/objectified_html_tags/span.rb +92 -0
  317. data/lib/cyberweb/objectified_html_tags/table.rb +174 -0
  318. data/lib/cyberweb/objectified_html_tags/textarea.rb +173 -0
  319. data/lib/cyberweb/objectified_html_tags/title.rb +82 -0
  320. data/lib/cyberweb/objectified_html_tags/window.rb +79 -0
  321. data/lib/cyberweb/predefined_and_freeform_methods/README.md +1 -0
  322. data/lib/cyberweb/predefined_and_freeform_methods/frage.rb +45 -0
  323. data/lib/cyberweb/predefined_and_freeform_methods/freeform_methods.rb +93 -0
  324. data/lib/cyberweb/predefined_and_freeform_methods/hash_css_class_to_use.rb +55 -0
  325. data/lib/cyberweb/predefined_and_freeform_methods/hash_registered_extra_tags.rb +29 -0
  326. data/lib/cyberweb/predefined_and_freeform_methods/header.rb +81 -0
  327. data/lib/cyberweb/predefined_and_freeform_methods/predefined_methods.rb +413 -0
  328. data/lib/cyberweb/project/project.rb +85 -0
  329. data/lib/cyberweb/rack/README.md +1 -0
  330. data/lib/cyberweb/rack/request.rb +31 -0
  331. data/lib/cyberweb/requires/README.md +4 -0
  332. data/lib/cyberweb/requires/do_require_web_object_files.rb +9 -0
  333. data/lib/cyberweb/requires/remove_html.rb +9 -0
  334. data/lib/cyberweb/requires/require_cgi.rb +16 -0
  335. data/lib/cyberweb/requires/require_charts.rb +20 -0
  336. data/lib/cyberweb/requires/require_generators.rb +23 -0
  337. data/lib/cyberweb/requires/require_html_tags_files.rb +23 -0
  338. data/lib/cyberweb/requires/require_javascript_files.rb +23 -0
  339. data/lib/cyberweb/requires/require_kimurai.rb +13 -0
  340. data/lib/cyberweb/requires/require_objectified_html_tags_files.rb +23 -0
  341. data/lib/cyberweb/requires/require_sinatra.rb +7 -0
  342. data/lib/cyberweb/requires/require_the_constants.rb +26 -0
  343. data/lib/cyberweb/requires/require_the_cyberweb_project.rb +172 -0
  344. data/lib/cyberweb/requires/require_the_html_template.rb +7 -0
  345. data/lib/cyberweb/requires/require_the_toplevel_methods_files.rb +24 -0
  346. data/lib/cyberweb/requires/require_web_images.rb +7 -0
  347. data/lib/cyberweb/requires/require_web_object_files.rb +25 -0
  348. data/lib/cyberweb/requires/require_yaml.rb +11 -0
  349. data/lib/cyberweb/sinatra/README.md +11 -0
  350. data/lib/cyberweb/sinatra/base.rb +145 -0
  351. data/lib/cyberweb/sinatra/custom_extensions.rb +131 -0
  352. data/lib/cyberweb/standalone_classes/all_css_classes.rb +255 -0
  353. data/lib/cyberweb/standalone_classes/calculator.rb +127 -0
  354. data/lib/cyberweb/standalone_classes/correct_image_entries_in_html_file.rb +207 -0
  355. data/lib/cyberweb/standalone_classes/input_focus.rb +97 -0
  356. data/lib/cyberweb/standalone_classes/tag_prototype.rb +43 -0
  357. data/lib/cyberweb/standalone_classes/turn_html_into_cyberweb.rb +174 -0
  358. data/lib/cyberweb/svg/blue_rect.svg +12 -0
  359. data/lib/cyberweb/svg/butterfly.svg +15 -0
  360. data/lib/cyberweb/svg/chemical_molecule.svg +192 -0
  361. data/lib/cyberweb/svg/circles_on_background.svg +29 -0
  362. data/lib/cyberweb/svg/ellipse.svg +12 -0
  363. data/lib/cyberweb/svg/five_circles.svg +26 -0
  364. data/lib/cyberweb/svg/flag_germany.svg +10 -0
  365. data/lib/cyberweb/svg/gaussian_blur.svg +20 -0
  366. data/lib/cyberweb/svg/gradient_circle.svg +18 -0
  367. data/lib/cyberweb/svg/green_butterfly.svg +18 -0
  368. data/lib/cyberweb/svg/green_tilted_lines.svg +25 -0
  369. data/lib/cyberweb/svg/lion.svg +161 -0
  370. data/lib/cyberweb/svg/one_circle.svg +12 -0
  371. data/lib/cyberweb/svg/pie_chart.svg +130 -0
  372. data/lib/cyberweb/svg/svg.cgi +61 -0
  373. data/lib/cyberweb/svg/tetris.svg +487 -0
  374. data/lib/cyberweb/svg/three_circles.svg +18 -0
  375. data/lib/cyberweb/svg/tiger.svg +732 -0
  376. data/lib/cyberweb/svg/tilted_arcs.svg +74 -0
  377. data/lib/cyberweb/svg/transparent_rect.svg +12 -0
  378. data/lib/cyberweb/svg/yellow_fe_blending.svg +42 -0
  379. data/lib/cyberweb/toplevel_methods/a.rb +131 -0
  380. data/lib/cyberweb/toplevel_methods/anmerkung.rb +67 -0
  381. data/lib/cyberweb/toplevel_methods/audio.rb +59 -0
  382. data/lib/cyberweb/toplevel_methods/bold.rb +65 -0
  383. data/lib/cyberweb/toplevel_methods/cgi.rb +65 -0
  384. data/lib/cyberweb/toplevel_methods/charsets.rb +52 -0
  385. data/lib/cyberweb/toplevel_methods/clear.rb +30 -0
  386. data/lib/cyberweb/toplevel_methods/close.rb +62 -0
  387. data/lib/cyberweb/toplevel_methods/consider_serving_the_web_object.rb +41 -0
  388. data/lib/cyberweb/toplevel_methods/css.rb +732 -0
  389. data/lib/cyberweb/toplevel_methods/date.rb +71 -0
  390. data/lib/cyberweb/toplevel_methods/dictionary.rb +48 -0
  391. data/lib/cyberweb/toplevel_methods/disable.rb +49 -0
  392. data/lib/cyberweb/toplevel_methods/document.rb +56 -0
  393. data/lib/cyberweb/toplevel_methods/dot.rb +182 -0
  394. data/lib/cyberweb/toplevel_methods/download_webpage.rb +18 -0
  395. data/lib/cyberweb/toplevel_methods/edit_configuration_file.rb +26 -0
  396. data/lib/cyberweb/toplevel_methods/ee.rb +44 -0
  397. data/lib/cyberweb/toplevel_methods/env.rb +44 -0
  398. data/lib/cyberweb/toplevel_methods/escape_html.rb +54 -0
  399. data/lib/cyberweb/toplevel_methods/fields.rb +46 -0
  400. data/lib/cyberweb/toplevel_methods/filename.rb +33 -0
  401. data/lib/cyberweb/toplevel_methods/frames.rb +131 -0
  402. data/lib/cyberweb/toplevel_methods/glob.rb +30 -0
  403. data/lib/cyberweb/toplevel_methods/google.rb +35 -0
  404. data/lib/cyberweb/toplevel_methods/hardware_information.rb +90 -0
  405. data/lib/cyberweb/toplevel_methods/hfin.rb +56 -0
  406. data/lib/cyberweb/toplevel_methods/html_comment.rb +48 -0
  407. data/lib/cyberweb/toplevel_methods/html_mode.rb +39 -0
  408. data/lib/cyberweb/toplevel_methods/html_tables.rb +818 -0
  409. data/lib/cyberweb/toplevel_methods/input.rb +54 -0
  410. data/lib/cyberweb/toplevel_methods/jquery.rb +82 -0
  411. data/lib/cyberweb/toplevel_methods/last_modified.rb +39 -0
  412. data/lib/cyberweb/toplevel_methods/links.rb +426 -0
  413. data/lib/cyberweb/toplevel_methods/listing.rb +96 -0
  414. data/lib/cyberweb/toplevel_methods/localhost.rb +18 -0
  415. data/lib/cyberweb/toplevel_methods/log_directory.rb +84 -0
  416. data/lib/cyberweb/toplevel_methods/logging.rb +42 -0
  417. data/lib/cyberweb/toplevel_methods/logo.rb +30 -0
  418. data/lib/cyberweb/toplevel_methods/markdown.rb +112 -0
  419. data/lib/cyberweb/toplevel_methods/mathml.rb +130 -0
  420. data/lib/cyberweb/toplevel_methods/message_boxes.rb +140 -0
  421. data/lib/cyberweb/toplevel_methods/misc.rb +1398 -0
  422. data/lib/cyberweb/toplevel_methods/name_of_img_dir.rb +51 -0
  423. data/lib/cyberweb/toplevel_methods/padlem_and_marlem.rb +107 -0
  424. data/lib/cyberweb/toplevel_methods/params.rb +57 -0
  425. data/lib/cyberweb/toplevel_methods/path.rb +69 -0
  426. data/lib/cyberweb/toplevel_methods/pdf.rb +103 -0
  427. data/lib/cyberweb/toplevel_methods/process_content.rb +102 -0
  428. data/lib/cyberweb/toplevel_methods/progress.rb +42 -0
  429. data/lib/cyberweb/toplevel_methods/quote.rb +44 -0
  430. data/lib/cyberweb/toplevel_methods/random.rb +70 -0
  431. data/lib/cyberweb/toplevel_methods/rds.rb +35 -0
  432. data/lib/cyberweb/toplevel_methods/read_and_display.rb +284 -0
  433. data/lib/cyberweb/toplevel_methods/readlines.rb +31 -0
  434. data/lib/cyberweb/toplevel_methods/redirect.rb +29 -0
  435. data/lib/cyberweb/toplevel_methods/registered_ids.rb +178 -0
  436. data/lib/cyberweb/toplevel_methods/remove_html.rb +32 -0
  437. data/lib/cyberweb/toplevel_methods/remove_newlines.rb +28 -0
  438. data/lib/cyberweb/toplevel_methods/return_head_start.rb +33 -0
  439. data/lib/cyberweb/toplevel_methods/return_html_fin.rb +34 -0
  440. data/lib/cyberweb/toplevel_methods/return_html_header.rb +35 -0
  441. data/lib/cyberweb/toplevel_methods/return_html_start.rb +24 -0
  442. data/lib/cyberweb/toplevel_methods/return_html_to_head_start.rb +42 -0
  443. data/lib/cyberweb/toplevel_methods/return_meta_collection.rb +54 -0
  444. data/lib/cyberweb/toplevel_methods/return_pwd.rb +23 -0
  445. data/lib/cyberweb/toplevel_methods/return_strict_doctype.rb +51 -0
  446. data/lib/cyberweb/toplevel_methods/roebe.rb +43 -0
  447. data/lib/cyberweb/toplevel_methods/s2.rb +30 -0
  448. data/lib/cyberweb/toplevel_methods/sanitize_url.rb +57 -0
  449. data/lib/cyberweb/toplevel_methods/sbr.rb +170 -0
  450. data/lib/cyberweb/toplevel_methods/server_base_directory.rb +148 -0
  451. data/lib/cyberweb/toplevel_methods/show_and_display.rb +215 -0
  452. data/lib/cyberweb/toplevel_methods/show_configuration.rb +83 -0
  453. data/lib/cyberweb/toplevel_methods/sitemap.rb +111 -0
  454. data/lib/cyberweb/toplevel_methods/spacer.rb +119 -0
  455. data/lib/cyberweb/toplevel_methods/string_body_start.rb +65 -0
  456. data/lib/cyberweb/toplevel_methods/string_content.rb +35 -0
  457. data/lib/cyberweb/toplevel_methods/svg.rb +66 -0
  458. data/lib/cyberweb/toplevel_methods/tag.rb +237 -0
  459. data/lib/cyberweb/toplevel_methods/temp_directory.rb +73 -0
  460. data/lib/cyberweb/toplevel_methods/test_css.rb +24 -0
  461. data/lib/cyberweb/toplevel_methods/textile.rb +45 -0
  462. data/lib/cyberweb/toplevel_methods/title.rb +125 -0
  463. data/lib/cyberweb/toplevel_methods/umlaute.rb +90 -0
  464. data/lib/cyberweb/toplevel_methods/video.rb +352 -0
  465. data/lib/cyberweb/toplevel_methods/view_source.rb +50 -0
  466. data/lib/cyberweb/toplevel_methods/web_object.rb +42 -0
  467. data/lib/cyberweb/toplevel_methods/write_what_into.rb +27 -0
  468. data/lib/cyberweb/utility_scripts/README.md +4 -0
  469. data/lib/cyberweb/utility_scripts/create_coloured_tags.rb +172 -0
  470. data/lib/cyberweb/utility_scripts/download_balloon_css.rb +160 -0
  471. data/lib/cyberweb/utility_scripts/hyperlink_all_images_from.rb +148 -0
  472. data/lib/cyberweb/version/version.rb +25 -0
  473. data/lib/cyberweb/web_base/web_base.rb +28 -0
  474. data/lib/cyberweb/web_images/array_listing_all_project_images.rb +52 -0
  475. data/lib/cyberweb/web_images/map_symbol_to_image_location.rb +1661 -0
  476. data/lib/cyberweb/web_images/web_images.rb +270 -0
  477. data/lib/cyberweb/web_object/css.rb +627 -0
  478. data/lib/cyberweb/web_object/evaluate.rb +126 -0
  479. data/lib/cyberweb/web_object/favicon.rb +160 -0
  480. data/lib/cyberweb/web_object/html_related_tags.rb +320 -0
  481. data/lib/cyberweb/web_object/images.rb +693 -0
  482. data/lib/cyberweb/web_object/initialize.rb +51 -0
  483. data/lib/cyberweb/web_object/input_related_functionality.rb +414 -0
  484. data/lib/cyberweb/web_object/javascript.rb +427 -0
  485. data/lib/cyberweb/web_object/languages.rb +172 -0
  486. data/lib/cyberweb/web_object/links.rb +228 -0
  487. data/lib/cyberweb/web_object/misc.rb +5159 -0
  488. data/lib/cyberweb/web_object/params.rb +289 -0
  489. data/lib/cyberweb/web_object/reset.rb +192 -0
  490. data/lib/cyberweb/web_object/run.rb +44 -0
  491. data/lib/cyberweb/web_object/sinatra_related_functionality.rb +30 -0
  492. data/lib/cyberweb/web_object/sitemap.rb +176 -0
  493. data/lib/cyberweb/web_object/table.rb +378 -0
  494. data/lib/cyberweb/web_object/web_object.rb +126 -0
  495. data/lib/cyberweb/web_scraper/README.md +8 -0
  496. data/lib/cyberweb/web_scraper/scrape_this_url.rb +183 -0
  497. data/lib/cyberweb/webmin/biology_server.cgi +256 -0
  498. data/lib/cyberweb/webmin/calculator.cgi +52 -0
  499. data/lib/cyberweb/webmin/colour_chart.cgi +33 -0
  500. data/lib/cyberweb/webmin/comments.cgi +137 -0
  501. data/lib/cyberweb/webmin/comments_data +18 -0
  502. data/lib/cyberweb/webmin/constants.rb +46 -0
  503. data/lib/cyberweb/webmin/dictionary.cgi +39 -0
  504. data/lib/cyberweb/webmin/sys_info.cgi +26 -0
  505. data/lib/cyberweb/webmin/webforum.cgi +58 -0
  506. data/lib/cyberweb/webmin/webmin.cgi +679 -0
  507. data/lib/cyberweb/yaml/autogenerated_system_settings.yml +14 -0
  508. data/lib/cyberweb/yaml/custom_tags.yml +7 -0
  509. data/lib/cyberweb/yaml/debug.yml +1 -0
  510. data/lib/cyberweb/yaml/html5_global_attributes.yml +12 -0
  511. data/lib/cyberweb/yaml/html5_new_elements.yml +108 -0
  512. data/lib/cyberweb/yaml/html_tag_legend.yml +12 -0
  513. data/lib/cyberweb/yaml/http_status_codes.yml +38 -0
  514. data/lib/cyberweb/yaml/js_files_to_load.yml +28 -0
  515. data/lib/cyberweb/yaml/project_configuration.yml +229 -0
  516. data/lib/cyberweb/yaml/video_attributes.yml +35 -0
  517. data/lib/cyberweb/yaml/web_images.yml +306 -0
  518. data/lib/cyberweb.rb +5 -0
  519. data/test/README.md +5 -0
  520. data/test/complex_tests/all_tests_in_one_page.cgi +666 -0
  521. data/test/complex_tests/simple_sinatra_example_using_cyberweb/simple.rb +60 -0
  522. data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.cgi +7 -0
  523. data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.rb +23 -0
  524. data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.sinatra +65 -0
  525. data/test/complex_tests/testing_frames.cgi +42 -0
  526. data/test/complex_tests/testing_objectified_html_tags.rb +82 -0
  527. data/test/complex_tests/testing_style_variants/README.md +2 -0
  528. data/test/complex_tests/testing_style_variants/show_coloured_boxes.cgi +58 -0
  529. data/test/complex_tests/testing_tables.cgi +67 -0
  530. data/test/complex_tests/testing_the_cyberweb_shell.rb +188 -0
  531. data/test/complex_tests/testing_web_object.rb +94 -0
  532. data/test/css/README.md +5 -0
  533. data/test/css/return_the_content_of_these_css_classes.rb +7 -0
  534. data/test/css/testing_css_effects.cgi +159 -0
  535. data/test/css/testing_css_masking.cgi +36 -0
  536. data/test/dummy.pdf +0 -0
  537. data/test/hello_world/hello_world.cgi +25 -0
  538. data/test/javascript/README.md +2 -0
  539. data/test/javascript/testing_cheerleader_javascript.cgi +0 -0
  540. data/test/javascript/testing_drag_and_drop_support.cgi +33 -0
  541. data/test/javascript/testing_on_click_change_opacity.cgi +26 -0
  542. data/test/javascript/testing_snowflakes.cgi +20 -0
  543. data/test/simple_tests/README.md +3 -0
  544. data/test/simple_tests/ad-hoc-test.cgi +55 -0
  545. data/test/simple_tests/commandline_tests.rb +70 -0
  546. data/test/simple_tests/display_this_file.cgi +11 -0
  547. data/test/simple_tests/simple_html_example.cgi +29 -0
  548. data/test/simple_tests/simple_status_page.cgi +52 -0
  549. data/test/simple_tests/string_s2_test.rb +11 -0
  550. data/test/simple_tests/test_simple_string_as_input.rb +12 -0
  551. data/test/simple_tests/testing_base64_images.cgi +26 -0
  552. data/test/simple_tests/testing_dragging_an_image.cgi +23 -0
  553. data/test/simple_tests/testing_editable_text.cgi +16 -0
  554. data/test/simple_tests/testing_email.cgi +31 -0
  555. data/test/simple_tests/testing_embedding_a_pdf_file.cgi +32 -0
  556. data/test/simple_tests/testing_google_charts.cgi +24 -0
  557. data/test/simple_tests/testing_html_forms.cgi +31 -0
  558. data/test/simple_tests/testing_html_template.rb +13 -0
  559. data/test/simple_tests/testing_popup_div.cgi +22 -0
  560. data/test/simple_tests/testing_return_dataset_without_any_comments.rb +11 -0
  561. data/test/simple_tests/testing_the_cap_box.cgi +20 -0
  562. data/test/simple_tests/testing_the_div_tag.cgi +21 -0
  563. data/test/simple_tests/testing_the_headers_tag.cgi +36 -0
  564. data/test/simple_tests/testing_the_html_colours.cgi +19 -0
  565. data/test/simple_tests/testing_the_info_box.cgi +19 -0
  566. data/test/simple_tests/testing_the_li_tag.cgi +24 -0
  567. data/test/simple_tests/testing_the_s2_method.rb +7 -0
  568. data/test/simple_tests/testing_the_select_tag.cgi +23 -0
  569. data/test/simple_tests/testing_the_span_tag.cgi +36 -0
  570. data/test/simple_tests/testing_web_images.rb +12 -0
  571. data/test/testing_html_tags/README.md +7 -0
  572. data/test/testing_html_tags/button_example.cgi +42 -0
  573. metadata +759 -0
@@ -0,0 +1,117 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # Require the html_colours, as the method all_colours() needs it.
6
+ # =========================================================================== #
7
+ # require 'cyberweb/colours/colour_chart.rb'
8
+ # =========================================================================== #
9
+ module Cyberweb
10
+
11
+ require 'cyberweb/html_tags/span.rb'
12
+
13
+ # ========================================================================= #
14
+ # === Cyberweb.colour_chart (colour code chart, ct tag, cs tag .cs,
15
+ # colour tag, col tag color tag)
16
+ #
17
+ # This method will show a colour chart.
18
+ #
19
+ # Use it like so like:
20
+ #
21
+ # ct
22
+ # colour_table
23
+ #
24
+ # or better yet, combined with a div tag:
25
+ #
26
+ # div('pad12px mar2px'); ct; cdiv
27
+ #
28
+ # If you wish to limit the amount of colours to be shown, do this here:
29
+ #
30
+ # colour_table show: 20
31
+ #
32
+ # ========================================================================= #
33
+ def self.colour_chart(
34
+ background_colour = '000000'
35
+ )
36
+ result = ''.dup
37
+ use_div = false
38
+ use_this_css_style = ''
39
+ the_colours = Colours.html_colours # Obtain all colours.
40
+ # ======================================================================= #
41
+ # Next check in the event that the user gave us a Hash.
42
+ # ======================================================================= #
43
+ if background_colour.is_a? Hash
44
+ if background_colour.has_key? :css_style
45
+ use_div = true
46
+ use_this_css_style = background_colour.delete :css_style
47
+ end
48
+ if background_colour.has_key? :show # This one must come after the above.
49
+ the_colours = the_colours.sample(background_colour.delete(:show).to_i)
50
+ background_colour = '000000'
51
+ end
52
+ end
53
+ if use_div
54
+ result << string_div('','',use_this_css_style)
55
+ end
56
+ the_colours.each {|key|
57
+ result << string_ebr(key, background_colour,'','color:'+key)
58
+ }
59
+ result << string_cdiv if use_div
60
+ return result
61
+ end; self.instance_eval { alias colour_table colour_chart } # === Cyberweb.colour_table
62
+ self.instance_eval { alias ct colour_chart } # === Cyberweb.ct
63
+
64
+ # ========================================================================= #
65
+ # === Cyberweb.show_html_colour_chart
66
+ #
67
+ # Take note that this method is significantly more sophisticated than
68
+ # the older method called Cyberweb.colour_chart; it also has a slightly
69
+ # different use case. The method here is ready-for-use, that is,
70
+ # for display in a webpage.
71
+ # ========================================================================= #
72
+ def self.show_html_colour_chart(
73
+ use_this_css_style = 'margin-left: 2.5em; margin-right: 2.5em;'\
74
+ 'padding-left: 1.5em; padding-right: 1.5em',
75
+ width_of_the_box = '75px',
76
+ height_of_the_box = '35px'
77
+ )
78
+ p('','',use_this_css_style){
79
+ ee '<table style="margin-left: 0.75em; margin-right: 0.75em;">'
80
+ Colours.html_colours.each {|this_html_colour|
81
+ ee '<tr>'
82
+ ee '<td>'
83
+ ee '<div class="marl2em bblack1 pad4px mar2px" style="width:'+
84
+ width_of_the_box+'; height:'+height_of_the_box+'; background-color: '+this_html_colour+'">'
85
+ ee '</div>'
86
+ ee '</td>'
87
+ ee '<td>'
88
+ ee '<b>'+this_html_colour+'</b>'
89
+ ee '</td>'
90
+ ee '<td><b>Hex value</b>: <b>'
91
+ ee Colours.html_colour_to_hex_value(this_html_colour)
92
+ ee '</b></td>'
93
+ ee '<td>'
94
+ # ===================================================================== #
95
+ # Next we will also show the RGB value.
96
+ # ===================================================================== #
97
+ ee '<b>RGB value</b>: <b>'+
98
+ Colours.html_colour_to_rgb_value(this_html_colour).
99
+ tr(';',',')+'
100
+ </b>'
101
+ ee '</td>'
102
+ ee '</tr>'
103
+ ee "\n"
104
+ }
105
+ c :table
106
+ }
107
+ end
108
+
109
+ # ========================================================================= #
110
+ # === colour_chart
111
+ # ========================================================================= #
112
+ def colour_chart(i)
113
+ ::Cyberweb.colour_chart(i)
114
+ end; alias colour_table colour_chart # === colour_table
115
+ alias ct colour_chart # === ct
116
+
117
+ end
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # Require the html_colours, as the method all_colours() needs it.
6
+ # =========================================================================== #
7
+ # require 'cyberweb/colours/colours.rb'
8
+ # =========================================================================== #
9
+ module Cyberweb
10
+
11
+ begin
12
+ require 'colours'
13
+ rescue LoadError; end
14
+
15
+ require 'cyberweb/colours/colour_chart.rb'
16
+ require 'cyberweb/colours/random_colour.rb'
17
+
18
+ # ========================================================================= #
19
+ # === Cyberweb.show_all_colours
20
+ #
21
+ # This will print a HTML colour table.
22
+ #
23
+ # Usage example:
24
+ #
25
+ # Cyberweb.show_all_colours(:super_colourize)
26
+ #
27
+ # ========================================================================= #
28
+ def self.show_all_colours(
29
+ also_display_them_in_colours = false
30
+ )
31
+ if also_display_them_in_colours == :super_colourize
32
+ also_display_them_in_colours = true
33
+ end
34
+ if also_display_them_in_colours
35
+ all_colours.each { |colour| e colour,'','','color:'+colour }
36
+ else
37
+ all_colours.each { |colour| e colour }
38
+ end
39
+ end; self.instance_eval { alias colours? show_all_colours } # === Cyberweb.colours?
40
+
41
+ end
42
+
43
+ if __FILE__ == $PROGRAM_NAME
44
+ require 'colours/colours_e_autoinclude.rb'
45
+ pp Cyberweb.all_colours
46
+ e
47
+ Cyberweb.show_all_colours
48
+ e
49
+ e Cyberweb.return_random_colour
50
+ end
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/colours/random_colour.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === Cyberweb.all_colours
11
+ #
12
+ # This will return all available colours. We make use of project
13
+ # HtmlColours for this.
14
+ # ========================================================================= #
15
+ def self.all_colours
16
+ Colours.html_colours
17
+ end; self.instance_eval { alias all_html_colours all_colours } # === Cyberweb.all_html_colours
18
+
19
+ # ========================================================================= #
20
+ # === Cyberweb.return_random_colour
21
+ #
22
+ # This method will return a String such as "mediumslateblue".
23
+ # ========================================================================= #
24
+ def self.return_random_colour
25
+ all_colours.sample
26
+ end; self.instance_eval { alias random_colour? return_random_colour } # === Cyberweb.random_colour?
27
+
28
+ end
@@ -0,0 +1,95 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/colours/sanitize_for_colours.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/constants/standalone_constants.rb'
10
+ require 'cyberweb/colours/random_colour.rb'
11
+ # ========================================================================= #
12
+ # === Cyberweb.sanitize_for_colours
13
+ #
14
+ # This method can be used to scan a string for the keyword RAND or
15
+ # other similar keywords. If such a keyword is found, it will be
16
+ # replaced with the proper colour(s). RANDOM_COLOUR would thus
17
+ # become a real, random colour.
18
+ #
19
+ # This method here is called from return_css_style().
20
+ #
21
+ # It will also check for the keyword BACKGROUND.
22
+ # ========================================================================= #
23
+ def self.sanitize_for_colours(
24
+ i = ''
25
+ )
26
+ i = i.to_s.dup # Dup so that we don't work on a frozen string.
27
+ # ======================================================================= #
28
+ # === RANDOM_COLOUR
29
+ # ======================================================================= #
30
+ if i.include? 'RANDOM_COLOUR'
31
+ i.gsub!(/RANDOM_COLOUR/, return_random_colour)
32
+ end
33
+ # ======================================================================= #
34
+ # Handle macro entries for BACKGROUND next:
35
+ # background: url(images/menu7.gif)
36
+ # BACKGROUND: BG_COLOURBAR_LIGHT.jpg
37
+ # ======================================================================= #
38
+ if i.include? 'BACKGROUND'
39
+ i.gsub!(/BACKGROUND: (\w+\.\w+)/,
40
+ 'background: url(../../../../../IMG/WALLPAPERS/\1);
41
+ background-repeat: no-repeat;')
42
+ end
43
+ i.gsub!(/RBORDER1/, return_random_border ) if i.include? 'RBORDER1'
44
+ i.gsub!(/RBORDER/, return_random_border ) if i.include? 'RBORDER1'
45
+ # ======================================================================= #
46
+ # If the following input includes at least the substring 'RCOL'.
47
+ # ======================================================================= #
48
+ if i.include? 'RCOL'
49
+ i.gsub!(/RCOLOUR/, return_random_colour )
50
+ i.gsub!(/RCOL/, return_random_colour )
51
+ end
52
+ # ======================================================================= #
53
+ # Cut off UPCASED PX. From this point no PX is possible within
54
+ # the string. This may fail for images that have PX as part of
55
+ # their name though, hence why this check is a bit more complicated.
56
+ # ======================================================================= #
57
+ if i.include? 'PX'
58
+ unless i.include?('.png') or i.include?('.jpg')
59
+ i.gsub!(/PX/,'')
60
+ end
61
+ end
62
+ if i.include? 'RAND'
63
+ i.gsub!(/RANDOM/,'RAND') # exchange RANDOM with RAND
64
+ i.gsub!(/BORDER_RAND/,'RAND_BORDER') # want proper names
65
+ i.gsub!(/RAND/, return_random_colour )
66
+ # ======================================================================= #
67
+ # From this point forward, we invoke the method return_random_colour()
68
+ # RAND_BORDER_1 means "create a random border here" with 1 px
69
+ # ======================================================================= #
70
+ i.gsub!(/RAND_BORDER_(.+)/, return_random_border('\\1') )
71
+ # ======================================================================= #
72
+ # Create: border-left: 1 px RANDOM_COLOUR
73
+ # ======================================================================= #
74
+ i.gsub!(/BORD_LEFT_RAND_(.+)/, return_random_border('\\1') )
75
+ i.gsub!(/RAND_BORD_(.+)/, return_random_border('\\1') )
76
+ i.gsub!(/RAND_COLOUR/, return_random_colour )
77
+ elsif i.include? 'BORD'
78
+ # ======================================================================= #
79
+ # As above but with shorter BORD_ notation.
80
+ # ======================================================================= #
81
+ i.gsub!(/BORD_(.+)PX/,
82
+ 'border: \\1px '+ARRAY_CSS_BORDER_STYLES.sample(1).first+
83
+ ' '+return_random_colour+';')
84
+ end
85
+ return i
86
+ end
87
+
88
+ # ========================================================================= #
89
+ # === sanitize_for_colours
90
+ # ========================================================================= #
91
+ def sanitize_for_colours(i = '')
92
+ ::Cyberweb.sanitize_for_colours(i)
93
+ end
94
+
95
+ end
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # Code in this file here provides a commandline-interface to the
6
+ # bin/cyberweb file.
7
+ # =========================================================================== #
8
+ # require 'cyberweb/commandline/commandline_interface.rb'
9
+ # =========================================================================== #
10
+ module Cyberweb
11
+
12
+ require 'cyberweb/utility_scripts/download_balloon_css.rb'
13
+ require 'cyberweb/toplevel_methods/edit_configuration_file.rb'
14
+
15
+ # ========================================================================= #
16
+ # === Cyberweb.menu (menu tag)
17
+ # ========================================================================= #
18
+ def self.menu(i)
19
+ if i.is_a? Array
20
+ i.each {|entry| menu(entry) }
21
+ else
22
+ case i
23
+ # ===================================================================== #
24
+ # === cyberweb --systemsettings
25
+ # ===================================================================== #
26
+ when /^-?-?systemsettings$/
27
+ require 'roebe/classes/generate_system_values.rb'
28
+ Roebe::GenerateSystemValues.new
29
+ exit
30
+ # ===================================================================== #
31
+ # === cyberweb --edit
32
+ # ===================================================================== #
33
+ when 'EDIT',/^-?-?edit/,'ed','bearbeite','e' # Allow user the edit the configuration file.
34
+ ::Cyberweb.edit_configuration_file # Invoke this via: 'cyberweb edit'
35
+ exit
36
+ # ===================================================================== #
37
+ # === cyberweb --download-balloon
38
+ # ===================================================================== #
39
+ when /^-?-?download(-|_)?balloon$/
40
+ ::Cyberweb::DownloadBalloonCss.new
41
+ end
42
+ end
43
+ end
44
+
45
+ end
46
+
47
+ if __FILE__ == $PROGRAM_NAME
48
+ Cyberweb.menu(ARGV)
49
+ end
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # Note that this is the base-code for configuration-related parts of the
6
+ # Cyberweb project. In other words - it has no requires.
7
+ # =========================================================================== #
8
+ # require 'cyberweb/configuration/configuration.rb'
9
+ # =========================================================================== #
10
+ module Cyberweb
11
+
12
+ # ========================================================================= #
13
+ # === @configuration
14
+ #
15
+ # This constant keeps a copy to the @config object.
16
+ # It should be a Hash.
17
+ #
18
+ # The file configuration.rb will load it with the proper data.
19
+ # ========================================================================= #
20
+ @configuration = {} # Cyberweb.config?
21
+
22
+ # ========================================================================= #
23
+ # === Cyberweb.set_configuration_object
24
+ # ========================================================================= #
25
+ def self.set_configuration_object(i)
26
+ @configuration = i
27
+ end; self.instance_eval { alias set_config_object set_configuration_object } # === Cyberweb.set_config_object
28
+ self.instance_eval { alias set_configuration set_configuration_object } # === Cyberweb.set_configuration
29
+
30
+ # ========================================================================= #
31
+ # === Cyberweb.config?
32
+ # ========================================================================= #
33
+ def self.config?
34
+ @configuration
35
+ end; self.instance_eval { alias config config? } # === Cyberweb.config
36
+ self.instance_eval { alias configuration_object? config? } # === Cyberweb.configuration_object?
37
+ self.instance_eval { alias config_object? config? } # === Cyberweb.config_object?
38
+ self.instance_eval { alias configuration? config? } # === Cyberweb.configuration?
39
+
40
+ # ========================================================================= #
41
+ # === Cyberweb.use_in_dir_images?
42
+ # ========================================================================= #
43
+ def self.use_in_dir_images?
44
+ @configuration['use_in_dir_images']
45
+ end
46
+
47
+ # ========================================================================= #
48
+ # === config?
49
+ #
50
+ # Query the configuration for Cyberweb to use.
51
+ # ========================================================================= #
52
+ def config?
53
+ Cyberweb.config?
54
+ end
55
+
56
+ # ========================================================================= #
57
+ # === config_file?
58
+ #
59
+ # Wrapper method over Cyberweb.config_file? to determine where the
60
+ # configuration file exactly is.
61
+ # ========================================================================= #
62
+ def config_file?
63
+ Cyberweb.config_file?
64
+ end
65
+
66
+ end
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # Code in this file here will load the .yml file. It depends on the
6
+ # skeleton defined in the file "cyberweb/configuration/configuration.rb".
7
+ # =========================================================================== #
8
+ # require 'cyberweb/configuration/load_the_configuration_file.rb'
9
+ # =========================================================================== #
10
+ module Cyberweb
11
+
12
+ require 'yaml'
13
+ require 'cyberweb/constants/configuration_file.rb'
14
+ require 'cyberweb/configuration/configuration.rb'
15
+ require 'cyberweb/images/path_to_images.rb' # Because we set the path to images here.
16
+
17
+ # ========================================================================= #
18
+ # === Cyberweb.load_the_configuration_file
19
+ #
20
+ # This method is used to load the configuration file (and thus
21
+ # initialize the dataset for the configuration).
22
+ # ========================================================================= #
23
+ def self.load_the_configuration_file
24
+ _ = config_file?
25
+ if File.exist?(_)
26
+ # ===================================================================== #
27
+ # Load up the config dataset:
28
+ # ===================================================================== #
29
+ config = YAML.load_file(_)
30
+ # ===================================================================== #
31
+ # Next, sanitize 'default_font_size' and 'default_smaller_font_size'.
32
+ # ===================================================================== #
33
+ if config.has_key? 'default_font_size'
34
+ config['default_font_size'] = config['default_font_size'].tr(' ','')
35
+ end
36
+ if config.has_key? 'default_smaller_font_size'
37
+ config['default_smaller_font_size'] = config['default_smaller_font_size'].tr(' ','')
38
+ end
39
+ config = config_object?.merge(config)
40
+ # ===================================================================== #
41
+ # The above code will ensure that the configuration dataset is loaded
42
+ # properly into the toplevel variable called @configuration.
43
+ #
44
+ # This is then copied by Cyberweb when it gets instantiated.
45
+ # ===================================================================== #
46
+ set_configuration_object(config)
47
+ # ===================================================================== #
48
+ # Next, we set the image base directory to the given default.
49
+ # This can be overruled lateron.
50
+ # ===================================================================== #
51
+ set_image_base_directory
52
+ config # And return the data here as well.
53
+ else
54
+ puts 'Error from `'+__FILE__+'`: NOT EXISTING CONFIG FILE!'
55
+ puts 'We did assume this file to exist at the following location:'
56
+ puts
57
+ puts ' -> '+_
58
+ puts
59
+ puts 'We will thus exit now.'
60
+ exit
61
+ end
62
+ end
63
+
64
+ # ========================================================================= #
65
+ # For now, it is initialized whenever this file here is loaded.
66
+ # ========================================================================= #
67
+ load_the_configuration_file
68
+
69
+ end
70
+
71
+ if __FILE__ == $PROGRAM_NAME
72
+ pp Cyberweb.configuration_object?
73
+ end
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/constants/array_images.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === ARRAY_IMAGES
11
+ #
12
+ # 4 image-types are defined in the following constant.
13
+ # ========================================================================= #
14
+ ARRAY_IMAGES = %w(
15
+ png
16
+ gif
17
+ jpg
18
+ jpeg
19
+ )
20
+
21
+ end
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/constants/array_local_css_files.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === Cyberweb::ARRAY_LOCAL_CSS_FILES
11
+ #
12
+ # Local .css files can be stored in this constant.
13
+ #
14
+ # On my home system these .css files may reside here:
15
+ #
16
+ # /home/x/programming/ruby/src/cyberweb/lib/cyberweb/cascading_style_sheets/colours.css
17
+ #
18
+ # ========================================================================= #
19
+ ARRAY_LOCAL_CSS_FILES = %w(
20
+ border
21
+ code
22
+ colours
23
+ default
24
+ div
25
+ fonts
26
+ links
27
+ margin
28
+ message_boxes
29
+ misc
30
+ popup
31
+ ruby_regexes
32
+ template2
33
+ )
34
+
35
+ end
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/array_predefined_constants.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === @array_predefined_constants
11
+ #
12
+ # The following array defines which constants are available predefined.
13
+ # ========================================================================= #
14
+ @array_predefined_constants = []
15
+
16
+ # ========================================================================= #
17
+ # === Cyberweb.array_predefined_constants?
18
+ # ========================================================================= #
19
+ def self.array_predefined_constants?
20
+ @array_predefined_constants
21
+ end
22
+
23
+ end
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/constants/configuration_file.rb'
6
+ # Cyberweb.config_file?
7
+ # =========================================================================== #
8
+ module Cyberweb
9
+
10
+ require 'cyberweb/project/project.rb'
11
+
12
+ # ========================================================================= #
13
+ # ==== Cyberweb.configuration_file?
14
+ #
15
+ # This helper method keeps track as to where the main configuration
16
+ # file for the cyberweb-project resides.
17
+ #
18
+ # For this to work, PROJECT_YAML_DIRECTORY must have been defined before,
19
+ # which is the case when we load the file 'project_yaml_directory.rb'.
20
+ #
21
+ # We may do this in this file here - see above.
22
+ #
23
+ # Usage example:
24
+ #
25
+ # Cyberweb.config_file?
26
+ #
27
+ # ========================================================================= #
28
+ def self.configuration_file?
29
+ "#{PROJECT_YAML_DIRECTORY}project_configuration.yml"
30
+ end; self.instance_eval { alias config_file? configuration_file? } # === Cyberweb.config_file?
31
+ self.instance_eval { alias file_web_object_configuration configuration_file? } # === Cyberweb.file_web_object_configuration
32
+
33
+ end
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/constants/constants.rb'
6
+ # =========================================================================== #
7
+ require 'cyberweb/requires/require_the_constants.rb'
8
+
9
+ Cyberweb.require_the_constants
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/constants/file_constants.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/project/project.rb'
10
+
11
+ # ========================================================================= #
12
+ # === FILE_WEB_IMAGES
13
+ # ========================================================================= #
14
+ FILE_WEB_IMAGES = "#{yaml_directory?}web_images.yml"
15
+
16
+ end
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/constants/http_status_codes.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === HTTP_STATUS_CODES
11
+ #
12
+ # HTTP status codes are defined here. OK (200) and Not Found (404) are
13
+ # probably the two most common status codes here.
14
+ #
15
+ # They can be used through this hash here such as:
16
+ #
17
+ # HTTP_STATUS['OK'] # gives '200 OK'.
18
+ #
19
+ # ========================================================================= #
20
+ HTTP_STATUS_CODES = {
21
+ 'OK' => '200 OK',
22
+ 'PARTIAL_CONTENT' => '206 Partial Content',
23
+ 'MULTIPLE_CHOICES' => '300 Multiple Choices',
24
+ 'MOVED' => '301 Moved Permanently',
25
+ 'REDIRECT' => '302 Found',
26
+ 'NOT_MODIFIED' => '304 Not Modified',
27
+ 'BAD_REQUEST' => '400 Bad Request',
28
+ 'AUTH_REQUIRED' => '401 Authorization Required',
29
+ 'FORBIDDEN' => '403 Forbidden',
30
+ 'NOT_FOUND' => '404 Not Found',
31
+ 'METHOD_NOT_ALLOWED' => '405 Method Not Allowed',
32
+ 'NOT_ACCEPTABLE' => '406 Not Acceptable',
33
+ 'LENGTH_REQUIRED' => '411 Length Required',
34
+ 'PRECONDITION_FAILED' => '412 Precondition Failed',
35
+ 'SERVER_ERROR' => '500 Internal Server Error',
36
+ 'NOT_IMPLEMENTED' => '501 Method Not Implemented',
37
+ 'BAD_GATEWAY' => '502 Bad Gateway',
38
+ 'VARIANT_ALSO_VARIES' => '506 Variant Also Negotiates'
39
+ }
40
+ HTTP_STATUS = HTTP_STATUS_CODES # === HTTP_STATUS
41
+
42
+ end