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,24 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/return_html_start.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/constants/nl.rb'
10
+ require 'html_tags/opening_tag/opening_tag.rb'
11
+ require 'html_tags/individual_tags/html.rb'
12
+
13
+ # ========================================================================= #
14
+ # === Cyberweb.return_html_start
15
+ # ========================================================================= #
16
+ def self.return_html_start
17
+ "#{HtmlTags.open_html.chomp}#{NL}" # This will yield: '<html lang="en">'
18
+ end
19
+
20
+ end
21
+
22
+ if __FILE__ == $PROGRAM_NAME
23
+ puts Cyberweb.return_html_start
24
+ end
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/return_html_to_head_start.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/toplevel_methods/return_head_start.rb'
10
+ require 'cyberweb/toplevel_methods/return_html_header.rb'
11
+ require 'cyberweb/toplevel_methods/return_html_start.rb'
12
+ require 'cyberweb/toplevel_methods/return_strict_doctype.rb'
13
+
14
+ # ========================================================================= #
15
+ # === Cyberweb.return_html_to_head_start
16
+ #
17
+ # This returns the "proper" header, up to the beginning of the <head> tag.
18
+ #
19
+ # Example of what is being returned:
20
+ #
21
+ # Content-type: text/html
22
+ #
23
+ #
24
+ # <!DOCTYPE html>
25
+ # <html lang="en">
26
+ # <head>
27
+ #
28
+ # ========================================================================= #
29
+ def self.return_html_to_head_start
30
+ _ = ''.dup
31
+ _ << return_html_header
32
+ _ << return_strict_doctype # This is: '<!DOCTYPE html>'
33
+ _ << return_html_start # This is: '<html lang="en">'
34
+ _ << return_head_start # This is: '<head>'
35
+ return _
36
+ end
37
+
38
+ end
39
+
40
+ if __FILE__ == $PROGRAM_NAME
41
+ puts Cyberweb.return_html_to_head_start
42
+ end
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/return_meta_collection.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === Cyberweb.return_meta_collection
11
+ #
12
+ # Which charset and content type to use can be controlled via this
13
+ # method here.
14
+ # ========================================================================= #
15
+ def self.return_meta_collection(
16
+ use_this_charset = 'UTF-8'
17
+ )
18
+ _ = ''.dup
19
+ _ << '<meta name="robots" content="noindex,nofollow,noarchive,noimageindex">'+NL
20
+ # if is_html5?
21
+ # _ << return_iso_8859_charset
22
+ # else
23
+ case use_this_charset
24
+ # ======================================================================= #
25
+ # === :default
26
+ # ======================================================================= #
27
+ when :default
28
+ use_this_charset = 'UTF-8'
29
+ end
30
+ case use_this_charset.downcase # We work on a downcased variant here.
31
+ when 'utf-8',
32
+ 'utf',
33
+ 'default'
34
+ _ << return_utf_charset
35
+ when 'iso'
36
+ _ << return_iso_encoding
37
+ else # Else use a specific charset.
38
+ _ << '<meta http-equiv="content-type" content="text/html; charset='+use_this_charset+'" >'+NL
39
+ end
40
+ _ << "<meta http-equiv=\"Content-Style-Type\" content=\"text/css\">#{NL}"
41
+ _ << '<meta http-equiv="Content-Script-Type" content="text/javascript">'+NL
42
+ _ # Return that string finally.
43
+ end
44
+
45
+ # ========================================================================= #
46
+ # === return_meta_collection
47
+ # ========================================================================= #
48
+ def return_meta_collection(
49
+ i = 'UTF-8'
50
+ )
51
+ ::Cyberweb.return_meta_collection(i)
52
+ end
53
+
54
+ 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/return_pwd.rb'
6
+ # Cyberweb.return_pwd
7
+ # =========================================================================== #
8
+ module Cyberweb
9
+
10
+ # ========================================================================= #
11
+ # === Cyberweb.return_pwd
12
+ #
13
+ # This method will return the sanitized variant of the current working
14
+ # directory. It will be ensured that the String that is returned via
15
+ # this method has a trailing '/' token.
16
+ # ========================================================================= #
17
+ def self.return_pwd(
18
+ i = Dir.pwd
19
+ )
20
+ return "#{i}/".squeeze('/')
21
+ end; self.instance_eval { alias sanitized_pwd? return_pwd } # === Cyberweb.sanitized_pwd?
22
+
23
+ end
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/return_strict_doctype.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === DOCTYPE_HTML5
11
+ #
12
+ # This constants denotes the doctype in use, at the least for HTML5.
13
+ #
14
+ # Here is the HTML5 Doctype. It is significantly shorter than older
15
+ # doctypes. The old, longer doctype-variants can now be considered
16
+ # legacy, past the year 2018.
17
+ # ========================================================================= #
18
+ DOCTYPE_HTML5 = "<!DOCTYPE html>\n"
19
+ DOCTYPE_STRING = DOCTYPE_HTML5 # === DOCTYPE_STRING
20
+
21
+ # ========================================================================= #
22
+ # === STRICT_DOCTYPE
23
+ #
24
+ # Define the strict doctype here. This defaults to "HTML 4.01 Strict".
25
+ #
26
+ # This DTD will contain all HTML elements and attributes, but does
27
+ # not include presentational or deprecated elements, like font. Also,
28
+ # Framesets are disallowed.
29
+ # ========================================================================= #
30
+ STRICT_DOCTYPE =
31
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n"
32
+
33
+ # ========================================================================= #
34
+ # === Cyberweb.return_strict_doctype
35
+ #
36
+ # This method returns the doctype. We either use HTML4 or HTML5.
37
+ #
38
+ # Since as of July 2012, the web_object project defaults to HTML5.
39
+ # ========================================================================= #
40
+ def self.return_strict_doctype
41
+ DOCTYPE_HTML5 # or STRICT_DOCTYPE for HTML4.
42
+ end
43
+
44
+ # ========================================================================= #
45
+ # === return_strict_doctype
46
+ # ========================================================================= #
47
+ def return_strict_doctype
48
+ ::Cyberweb.return_strict_doctype
49
+ end
50
+
51
+ end
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/roebe.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/configuration/configuration.rb'
10
+
11
+ # ========================================================================= #
12
+ # === Cyberweb.is_on_roebe?
13
+ #
14
+ # This is only useful on my home system, where the environment variable
15
+ # IS_ROEBE is set to 1.
16
+ # ========================================================================= #
17
+ def self.is_on_roebe?(
18
+ i = :env_or_config_file
19
+ )
20
+ case i
21
+ # ======================================================================= #
22
+ # === :env
23
+ # ======================================================================= #
24
+ when :env,
25
+ :default
26
+ i = ENV['IS_ROEBE'].to_s
27
+ # ======================================================================= #
28
+ # === :env_or_config_file
29
+ # ======================================================================= #
30
+ when :env_or_config_file
31
+ i = Cyberweb.config?['is_on_roebe']
32
+ if i and i.is_a?(TrueClass)
33
+ i = '1'
34
+ end
35
+ end
36
+ i.to_s == '1'
37
+ end
38
+
39
+ end
40
+
41
+ if __FILE__ == $PROGRAM_NAME
42
+ puts Cyberweb.is_on_roebe?
43
+ end
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/s2.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/html_tags/span.rb'
10
+
11
+ # ========================================================================= #
12
+ # === Cyberweb.s2 (s2 tag)
13
+ # ========================================================================= #
14
+ def self.s2(
15
+ text = '',
16
+ css_class = '',
17
+ the_id = '',
18
+ css_style = ''
19
+ )
20
+ ee string_s(text, 'span', css_class, the_id, css_style)
21
+ end; self.instance_eval { alias se s2 } # === Cyberweb.se
22
+
23
+ # ========================================================================= #
24
+ # === s2
25
+ # ========================================================================= #
26
+ def s2(a = '', b = '', c = '', d = '')
27
+ ::Cyberweb.s2(a, b, c, d)
28
+ end
29
+
30
+ end
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/sanitize_url.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ begin
10
+ require 'beautiful_url'
11
+ rescue LoadError; end
12
+
13
+ # ========================================================================= #
14
+ # === Cyberweb.sanitize_url
15
+ #
16
+ # Wrapper towards BeautifulUrl.
17
+ #
18
+ # Invoke the .url? method on the result if found. Otherwise, this
19
+ # method will return the input unaltered.
20
+ #
21
+ # This method will return a String (at the least if everything works).
22
+ # ========================================================================= #
23
+ def self.sanitize_url(
24
+ input,
25
+ replace_localhost = false
26
+ )
27
+ input = input.to_s
28
+ # ======================================================================= #
29
+ # Ignore input that ends with "help", as far as the BeautifulUrl
30
+ # project is concerned.
31
+ # ======================================================================= #
32
+ if input.downcase.end_with? 'help'
33
+ else
34
+ _ = BeautifulUrl::BeautifulUrl.new(input, :do_not_run_yet)
35
+ _.do_ignore_help
36
+ _.run
37
+ _.replace_localhost if replace_localhost
38
+ return _.url? if _.url_was_found
39
+ end
40
+ return input # Else return it unmodified.
41
+ end; self.instance_eval { alias beautiful_url sanitize_url } # === Cyberweb.sanitize_url
42
+ self.instance_eval { alias beautiful_menu sanitize_url } # === Cyberweb.beautiful_menu
43
+
44
+ # ========================================================================= #
45
+ # === sanitize_url
46
+ #
47
+ # Delegate to the abvoe method.
48
+ # ========================================================================= #
49
+ def sanitize_url(input, replace_localhost = false)
50
+ Cyberweb.sanitize_url(input, replace_localhost)
51
+ end; alias beautiful_url sanitize_url # === beautiful_url
52
+
53
+ end
54
+
55
+ if __FILE__ == $PROGRAM_NAME
56
+ puts Cyberweb.sanitize_url(:mylemon)
57
+ end
@@ -0,0 +1,170 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/sbr.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'html_tags'
10
+ require 'cyberweb/html_tags/span.rb'
11
+
12
+ # ========================================================================= #
13
+ # === sbr2
14
+ # ========================================================================= #
15
+ def sbr2(t, c = '', i ='', s = '')
16
+ sbr(t,'marl1em', i, s)
17
+ end
18
+
19
+ # ========================================================================= #
20
+ # === sbr3
21
+ # ========================================================================= #
22
+ def sbr3(t, c = '', i ='', s = '')
23
+ sbr(t,'marl2em', i, s)
24
+ end
25
+
26
+ # ========================================================================= #
27
+ # === sbr4
28
+ # ========================================================================= #
29
+ def sbr4(t, c = '', i ='', s = '')
30
+ sbr(t,'marl3em', i, s)
31
+ end
32
+
33
+ # ========================================================================= #
34
+ # === sbr5
35
+ # ========================================================================= #
36
+ def sbr5(t, c = '', i ='', s = '')
37
+ sbr(t,'marl4em', i, s)
38
+ end
39
+
40
+ # ========================================================================= #
41
+ # === sbr6
42
+ # ========================================================================= #
43
+ def sbr6(t, c = '', i ='', s = '')
44
+ sbr(t,'marl5em', i, s)
45
+ end
46
+
47
+ # ========================================================================= #
48
+ # === sbrexit
49
+ #
50
+ # Invokes sbr, then it will exit the script.
51
+ # ========================================================================= #
52
+ def sbrexit(
53
+ text, css_class = '', the_id = '', css_style = ''
54
+ )
55
+ sbr(text,'span', css_class, the_id, css_style)
56
+ exit
57
+ end
58
+
59
+ # ========================================================================= #
60
+ # === string_sbr
61
+ #
62
+ # Wrapper towards the method Cyberweb.string_sbr().
63
+ # ========================================================================= #
64
+ def string_sbr(
65
+ a = '', b = 'span', c = '', d = '', e = '', f = ''
66
+ )
67
+ ::Cyberweb.string_sbr(a, b, c, d, e, f)
68
+ end
69
+
70
+ # ========================================================================= #
71
+ # === string_br
72
+ #
73
+ # Cyberweb.string_br
74
+ # ========================================================================= #
75
+ def self.string_br
76
+ HtmlTags::BR+NL
77
+ end
78
+
79
+ # ========================================================================= #
80
+ # === string_br
81
+ # ========================================================================= #
82
+ def string_br
83
+ ::Cyberweb.string_br
84
+ end
85
+
86
+ # ========================================================================= #
87
+ # === earrow
88
+ # ========================================================================= #
89
+ def earrow(i = '')
90
+ e "→ #{i}"
91
+ end
92
+
93
+ # ========================================================================= #
94
+ # === sbr (sbr tag)
95
+ #
96
+ # This will make a <span> element, combined with a <br> element.
97
+ #
98
+ # Since Apr 2011 we will also scan for RAND keywords in the string.
99
+ #
100
+ # Since Sep 2011 we check for the special keyword id: as its parameter.
101
+ # ========================================================================= #
102
+ def sbr(
103
+ text = '',
104
+ css_class = '',
105
+ the_id = '',
106
+ css_style = '',
107
+ javascript_code = ''
108
+ )
109
+ begin
110
+ print ::Cyberweb.string_sbr(
111
+ text.to_s,
112
+ css_class,
113
+ the_id,
114
+ css_style,
115
+ javascript_code
116
+ )
117
+ rescue Errno::EPIPE
118
+ print 'The pipe is broken at line 162 in the file sbr.rb'
119
+ end
120
+ end; alias sr sbr # Added 30.10.2011.
121
+ alias e sbr # Added 30.12.2011. Can be problematic. (e tag)
122
+ # ^^^ Disabled as of 05.08.2018, for now.
123
+ # Re-enabled as of 08.08.2018.
124
+
125
+ # ========================================================================= #
126
+ # === Cyberweb.string_sbr
127
+ #
128
+ # Only 5 arguments are important here; the entry for the 'span' tag
129
+ # is implicit, based on the name of this method.
130
+ #
131
+ # The first argument is the content that is to be put within the
132
+ # <span></span> tag.
133
+ # ========================================================================= #
134
+ def self.string_sbr(
135
+ content = '',
136
+ css_class = '',
137
+ the_id = '',
138
+ css_style = '',
139
+ javascript = ''
140
+ )
141
+ content = content.to_s
142
+ begin
143
+ content = sanitize_for_colours(content)
144
+ rescue Exception; end
145
+ # ======================================================================= #
146
+ # If css_class is not a Hash, enter the next clause.
147
+ # ======================================================================= #
148
+ unless css_class.is_a? Hash
149
+ css_class = css_class.to_s # We want a string here.
150
+ if css_class.start_with? 'id:'
151
+ the_id = css_class[3..-1]
152
+ css_class[0,3] = '' # Also get rid of it again.
153
+ end
154
+ end
155
+ css_class = css_class.to_s.dup # To avoid some weird bug.
156
+ # ======================================================================= #
157
+ # === Handle passed block next
158
+ # ======================================================================= #
159
+ if block_given?
160
+ return string_s(
161
+ content, 'span', css_class, the_id, css_style, javascript
162
+ ) { yield }+string_br
163
+ else
164
+ return string_s(
165
+ content, 'span', css_class, the_id, css_style, javascript
166
+ )+string_br
167
+ end
168
+ end
169
+
170
+ end
@@ -0,0 +1,148 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # The main purpose of this file is to define the toplevel instance
6
+ # variable called @server_base_directory. It will also make use
7
+ # of query-methods to this variable and a setter.
8
+ # =========================================================================== #
9
+ # require 'cyberweb/toplevel_methods/server_base_directory.rb'
10
+ # =========================================================================== #
11
+ module Cyberweb
12
+
13
+ require 'cyberweb/toplevel_methods/rds.rb'
14
+ require 'cyberweb/configuration/load_the_configuration_file.rb'
15
+
16
+ # ========================================================================= #
17
+ # === @server_base_directory
18
+ #
19
+ # This variable will be initialized to nil.
20
+ # ========================================================================= #
21
+ @server_base_directory = nil
22
+
23
+ # ========================================================================= #
24
+ # === Cyberweb.set_server_base_directory
25
+ #
26
+ # Consistently use this setter-method to assign a new value to
27
+ # the @server_base_directory variable.
28
+ #
29
+ # This way you can overrule the value via a simple API, at "runtime".
30
+ # ========================================================================= #
31
+ def self.set_server_base_directory(
32
+ i = nil
33
+ )
34
+ i = i.dup if i.frozen?
35
+ i << '/' unless i.end_with? '/'
36
+ @server_base_directory = i
37
+ end
38
+
39
+ # ========================================================================= #
40
+ # === Cyberweb.server_base_directory?
41
+ #
42
+ # Module-method towards the constant SERVER_BASE_DIRECTORY.
43
+ #
44
+ # This will be the http-server root directory.
45
+ # ========================================================================= #
46
+ def self.server_base_directory?
47
+ @server_base_directory
48
+ end; self.instance_eval { alias server_base_directory server_base_directory? } # === Cyberweb.server_base_directory
49
+ self.instance_eval { alias base_directory server_base_directory? } # === Cyberweb.base_directory
50
+ self.instance_eval { alias webserver_base_dir? server_base_directory? } # === Cyberweb.webserver_base_dir?
51
+ self.instance_eval { alias server_directory? server_base_directory? } # === Cyberweb.server_directory?
52
+
53
+ # ========================================================================= #
54
+ # === server_base_directory
55
+ #
56
+ # Return the http-server root directory here.
57
+ # ========================================================================= #
58
+ def server_base_directory?
59
+ ::Cyberweb.server_base_directory?
60
+ end; alias server_root_directory? server_base_directory? # === server_root_directory?
61
+ alias base_directory? server_base_directory? # === base_directory?
62
+ alias root_directory? server_base_directory? # === root_directory?
63
+
64
+ # ========================================================================= #
65
+ # === Assign to @server_base_directory next
66
+ #
67
+ # Set a proper value to @server_base_directory next.
68
+ #
69
+ # This may be the reference point for several .gsub actions.
70
+ #
71
+ # The value of @server_base_directory_DIRECTORY denotes the base
72
+ # directory from which we will serve our pages.
73
+ #
74
+ # If we have a lighttpd document_root.conf file, we will use this
75
+ # to determine the base directory, but if we don't, then we will
76
+ # simply hardcode it (in the last else clause).
77
+ # ========================================================================= #
78
+ _ = '/home/x/programming/ruby/src/roebe/lib/roebe/www/lighttpd/configuration/document_root.conf'
79
+ if File.exist?(::Cyberweb.config_file?) and
80
+ ::Cyberweb.config?.has_key?('base_directory') # Attempt to fetch it from the yaml file IF it was defined there.
81
+ new_value = rds(
82
+ "#{config?['base_directory']}/"
83
+ )
84
+ set_server_base_directory new_value
85
+ elsif File.exist? _ # else fetch info from document_root.conf, if it exists.
86
+ set_server_base_directory File.readlines(_, encoding: 'UTF-8')[-1].
87
+ delete('"').delete('=').
88
+ gsub(/server\.document-root/,'').strip
89
+ else # Else simply hardcode it in this case.
90
+ set_server_base_directory '/home/x/'
91
+ end
92
+
93
+ # ========================================================================= #
94
+ # Next come some constants that depend on @server_base_directory - thus
95
+ # they reside in this file here as well. Note that this are primarily
96
+ # valid for my home system and will thus be pretty useless for other
97
+ # people.
98
+ # ========================================================================= #
99
+
100
+ # ========================================================================= #
101
+ # === DATA_DIR
102
+ # ========================================================================= #
103
+ DATA_DIR = "#{server_base_directory?}data/"
104
+
105
+ # ========================================================================= #
106
+ # === PC
107
+ # ========================================================================= #
108
+ PC = PC_DIR = "#{DATA_DIR}PC/"
109
+
110
+ # ========================================================================= #
111
+ # === IMAGE_DIRECTORY
112
+ #
113
+ # Where the Images are stored.
114
+ #
115
+ # This defaults to "/home/x/data/images/" on my system for now.
116
+ # ========================================================================= #
117
+ IMAGE_DIRECTORY = IMAGES = "#{DATA_DIR}images/"
118
+
119
+ # ========================================================================= #
120
+ # === CSS_DIRECTORY
121
+ #
122
+ # The CSS directory where the .css files should reside.
123
+ # ========================================================================= #
124
+ CSS_DIRECTORY = CSS_DIR = "#{Cyberweb.project_base_dir?}cascading_style_sheets/"
125
+
126
+ # ========================================================================= #
127
+ # === ARRAY_DEFAULT_CSS_FILES_TO_INCLUDE
128
+ #
129
+ # Which .css files to include by default.
130
+ #
131
+ # These files will reside in the "/home/x/data/cascading_style_sheets/" directory.
132
+ #
133
+ # It will include files such as margin.css and STD.css.
134
+ #
135
+ # We get the .css files dynamically, so we do not need to hardcode these
136
+ # entries. Unfortunately some of these .css files can be problematic in
137
+ # some .cgi pages, so we apply a .reject statement on some of the
138
+ # more problematic .css files.
139
+ # ========================================================================= #
140
+ ARRAY_DEFAULT_CSS_FILES_TO_INCLUDE =
141
+ Dir["#{CSS_DIRECTORY}*.css"]
142
+
143
+ end
144
+
145
+ if __FILE__ == $PROGRAM_NAME
146
+ puts Cyberweb.server_base_directory?
147
+ puts Cyberweb::CSS_DIR
148
+ end