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,51 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/name_of_img_dir.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/configuration/load_the_configuration_file.rb'
10
+
11
+ # ========================================================================= #
12
+ # === @name_of_img_dir
13
+ #
14
+ # This sets what name we will use for our image directory. It is
15
+ # determined by the yaml file that stores the configuration.
16
+ #
17
+ # If you wish to change this, make use of the method called
18
+ # Cyberweb.set_name_of_img_dir().
19
+ # ========================================================================= #
20
+ @name_of_img_dir = config?['default_image_directory']
21
+
22
+ # ========================================================================= #
23
+ # === Cyberweb.name_of_img_dir?
24
+ #
25
+ # This method will tell us the name of the img directory.
26
+ # ========================================================================= #
27
+ def self.name_of_img_dir?
28
+ @name_of_img_dir
29
+ end
30
+
31
+ # ========================================================================= #
32
+ # === Cyberweb.set_name_of_img_dir
33
+ # ========================================================================= #
34
+ def self.set_name_of_img_dir(i)
35
+ @name_of_img_dir = i
36
+ end
37
+
38
+ # ========================================================================= #
39
+ # === name_of_img_dir?
40
+ #
41
+ # This method will return the name of the Image directory in question.
42
+ # ========================================================================= #
43
+ def name_of_img_dir?
44
+ ::Cyberweb.name_of_img_dir?
45
+ end
46
+
47
+ end
48
+
49
+ if __FILE__ == $PROGRAM_NAME
50
+ puts Cyberweb.name_of_img_dir?
51
+ end # rb name_of_img_dir.rb
@@ -0,0 +1,107 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/padlem_and_marlem.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === l1em
11
+ #
12
+ # This method essentially combines a <span> tag with a <br> tag following
13
+ # said <span> tag. It additionally makes use of "marl1em" by default,
14
+ # which is a shortcut for "margin-left: 1em".
15
+ #
16
+ # So essentially, you have a little formatter here, where text is a bit
17
+ # indented towards the right side, get a <span> tag that you can modify
18
+ # and a <br> tag that will be appended.
19
+ # ========================================================================= #
20
+ def l1em(
21
+ text,
22
+ css_class = '',
23
+ the_id = '',
24
+ css_style = ''
25
+ )
26
+ use_newline = true
27
+ if block_given?
28
+ yielded = yield
29
+ case yielded
30
+ when :no_newline, :no_break
31
+ use_newline = false
32
+ end
33
+ end
34
+ ee string_span(text,'marl1em '+css_class, the_id, css_style)
35
+ br if use_newline
36
+ end; alias marl1em l1em # === marl1em
37
+ alias marlem l1em # === marlem
38
+ alias lem l1em # === lem (lem tag)
39
+ alias l1m l1em # === l1m
40
+ alias le l1em # === le
41
+ alias lem1 l1em # === lem1
42
+
43
+ # ========================================================================= #
44
+ # === lembre
45
+ #
46
+ # Wraps towards lem() but also calls a br(). The "e" I just added because
47
+ # it is kinda neat.
48
+ # ========================================================================= #
49
+ def lembre(
50
+ text, css_class = '', the_id = '', css_style = ''
51
+ )
52
+ lem text,css_class, the_id, css_style
53
+ br
54
+ end; alias lembr lembre # === lembre
55
+
56
+ # ========================================================================= #
57
+ # === l3em
58
+ # ========================================================================= #
59
+ def l3em(
60
+ text, css_class = '', the_id = '', css_style = ''
61
+ )
62
+ e text,"marl3em #{css_class}", the_id, css_style
63
+ end; alias marl3em l3em # === marl3em
64
+ alias l3 l3em # === l3
65
+ alias le3 l3em # === le3
66
+ alias leee l3em # === leee
67
+ alias lem3 l3em # === lem3
68
+
69
+ # ========================================================================= #
70
+ # === lemspan
71
+ #
72
+ # This method is similar to l1em but it will not use a <br> tag.
73
+ # ========================================================================= #
74
+ def lemspan(
75
+ text, css_class = '', the_id = '', css_style = ''
76
+ )
77
+ lem(text, css_class, the_id, css_style) { :no_break }
78
+ end
79
+
80
+ # ========================================================================= #
81
+ # === padl2em
82
+ # ========================================================================= #
83
+ def padl2em(
84
+ text, css_class = '', the_id = '', css_style = ''
85
+ )
86
+ e text,'padl2em '+css_class, the_id, css_style
87
+ end; alias lem2 padl2em # === lem2
88
+
89
+ # ========================================================================= #
90
+ # === padl1em
91
+ # ========================================================================= #
92
+ def padl1em(
93
+ text, css_class = '', the_id = '', css_style = ''
94
+ )
95
+ e text,'padl1em '+css_class, the_id, css_style
96
+ end; alias padlem padl1em # === padlem
97
+
98
+ # ========================================================================= #
99
+ # === padl3em
100
+ # ========================================================================= #
101
+ def padl3em(
102
+ text, css_class = '', the_id = '', css_style = ''
103
+ )
104
+ e text,'padl3em '+css_class, the_id, css_style
105
+ end
106
+
107
+ end
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This file will collect parameter-related methods and code parts.
6
+ # =========================================================================== #
7
+ # require 'cyberweb/toplevel_methods/params.rb'
8
+ # Cyberweb.params?
9
+ # =========================================================================== #
10
+ module Cyberweb
11
+
12
+ # ========================================================================= #
13
+ # === show_params
14
+ # ========================================================================= #
15
+ def show_params
16
+ pre(cgi_params?)
17
+ end
18
+
19
+ # ========================================================================= #
20
+ # === cgi_params?
21
+ #
22
+ # Obtain all params through this method if a .cgi page is used.
23
+ # ========================================================================= #
24
+ def cgi_params?
25
+ ::Cyberweb.params?
26
+ end
27
+
28
+ # ========================================================================= #
29
+ # === Cyberweb.params?
30
+ # ========================================================================= #
31
+ def self.params?
32
+ require 'cyberweb/cgi/cgi.rb'
33
+ ::Cyberweb::CGI.new.params # Delegate towards CGI.new here.
34
+ # cgi = ::CGI.new
35
+ # cgi.params
36
+ end; self.instance_eval { alias params params? } # === Cyberweb.params
37
+ self.instance_eval { alias web_params? params? } # === Cyberweb.web_params?
38
+
39
+ # ========================================================================= #
40
+ # === webobject_params?
41
+ #
42
+ # This method will display the params in a little <div>-tag.
43
+ # ========================================================================= #
44
+ def webobject_params?
45
+ div {
46
+ # ===================================================================== #
47
+ # params? is defined below.
48
+ # ===================================================================== #
49
+ params?.each_pair {|key, value|
50
+ e "#{key} : #{value}",
51
+ 'marl1em bblack1'
52
+ }
53
+ }
54
+ end; alias web_object_params webobject_params? # === web_object_params
55
+ alias params_with_a_div webobject_params? # === params_with_a_div
56
+
57
+ end
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/path.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/toplevel_methods/server_base_directory.rb'
10
+ require 'cyberweb/toplevel_methods/return_pwd.rb'
11
+
12
+ # ========================================================================= #
13
+ # === Cyberweb.converted_path
14
+ #
15
+ # This method will always return the correct path to the server base
16
+ # directory.
17
+ #
18
+ # It can be overruled on a per-directory setting, using a yaml file.
19
+ # ========================================================================= #
20
+ def self.converted_path(
21
+ result = '../' * ::Cyberweb.n_slashes_towards_the_server_base_directory
22
+ )
23
+ return result
24
+ end; self.instance_eval { alias cyberweb_fixed_path? converted_path } # === Cyberweb.cyberweb_fixed_path?
25
+ self.instance_eval { alias fixed_path? converted_path } # === Cyberweb.fixed_path?
26
+ self.instance_eval { alias path? converted_path } # === Cyberweb.path?
27
+ self.instance_eval { alias local_base? converted_path } # === Cyberweb.local_base?
28
+
29
+ # ========================================================================= #
30
+ # === Cyberweb.converted_path_to_data
31
+ # ========================================================================= #
32
+ def self.converted_path_to_data
33
+ "#{converted_path}DATA/"
34
+ end; self.instance_eval { alias path_to_data? converted_path_to_data } # === Cyberweb.path_to_data?
35
+
36
+ # ========================================================================= #
37
+ # === Cyberweb.n_slashes_towards_the_server_base_directory
38
+ #
39
+ # This method will count how many '/' differences exist to the server
40
+ # base directory.
41
+ # ========================================================================= #
42
+ def self.n_slashes_towards_the_server_base_directory
43
+ result = (
44
+ ::Cyberweb.sanitized_pwd?.count('/') -
45
+ ::Cyberweb.server_base_directory?.count('/')
46
+ )
47
+ result = 0 if result < 0
48
+ result
49
+ end
50
+
51
+ # ========================================================================= #
52
+ # === Cyberweb.absolute_path
53
+ #
54
+ # Use this to output the absolute path. For now it uses Dir.pwd,
55
+ # which will be prefixed.
56
+ # ========================================================================= #
57
+ def self.absolute_path(i)
58
+ ::Cyberweb.sanitized_pwd?+i
59
+ end
60
+
61
+ # ========================================================================= #
62
+ # === cyberweb_fixed_path?
63
+ # ========================================================================= #
64
+ def cyberweb_fixed_path?
65
+ ::Cyberweb.converted_path
66
+ end; alias converted_path cyberweb_fixed_path? # === converted_path
67
+ alias webobject_fixed_path? cyberweb_fixed_path? # === webobject_fixed_path?
68
+
69
+ end
@@ -0,0 +1,103 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/pdf.rb'
6
+ # Cyberweb.embed_this_pdf
7
+ # =========================================================================== #
8
+ module Cyberweb
9
+
10
+ require 'cyberweb/toplevel_methods/return_pwd.rb'
11
+
12
+ # ========================================================================= #
13
+ # === Cyberweb.embed_this_pdf
14
+ #
15
+ # Use this method to embed a .pdf file into your page. Using width
16
+ # and height values is recommended.
17
+ #
18
+ # It will generate a string such as this one here:
19
+ #
20
+ # <object data="../../../../../STUDIUM/EXAMS_RESULT/AAA_EXAM_RESULTS.pdf" type="application/pdf" width="100%" height="100%">
21
+ # </object>
22
+ #
23
+ # For more documentation, see these resources:
24
+ #
25
+ # http://pdfobject.com/markup/
26
+ #
27
+ # ========================================================================= #
28
+ def self.embed_this_pdf(
29
+ i,
30
+ also_enable_link = false
31
+ )
32
+ case also_enable_link
33
+ when :also_enable_link
34
+ also_enable_link = true
35
+ end
36
+ if also_enable_link
37
+ pdf_image = sg(:pdf,'marr6px','','width:28px') # The pdf image.
38
+ link(i, content: pdf_image+'SELF_BASENAME')
39
+ br
40
+ end
41
+ return '<object data="'+i.to_s+'" type="application/pdf" width="100%" height="100%">'+N+
42
+ '</object>'
43
+ end; self.instance_eval { alias embed_pdf embed_this_pdf } # === Cyberweb.embed_pdf
44
+ self.instance_eval { alias add_pdf embed_this_pdf } # === Cyberweb.add_pdf
45
+
46
+ # ========================================================================= #
47
+ # === @path_to_last_generated_pdf_document
48
+ # ========================================================================= #
49
+ @path_to_last_generated_pdf_document = nil
50
+
51
+ # ========================================================================= #
52
+ # === Cyberweb.path_to_last_generated_pdf_document
53
+ # ========================================================================= #
54
+ def self.path_to_last_generated_pdf_document
55
+ @path_to_last_generated_pdf_document
56
+ end
57
+
58
+ # ========================================================================= #
59
+ # === Cyberweb.set_path_to_last_generated_pdf_document
60
+ # ========================================================================= #
61
+ def self.set_path_to_last_generated_pdf_document(i)
62
+ @path_to_last_generated_pdf_document
63
+ end
64
+
65
+ # ========================================================================= #
66
+ # === display_pdfs (pdfs tag, pdf tag)
67
+ #
68
+ # Use this method when you wish to display pdfs. The input argument
69
+ # should be a directory.
70
+ #
71
+ # You can also pass a hash as input - in this case we assume it
72
+ # may follow a structure like this here:
73
+ #
74
+ # show_all_pdf_files css: 's2em'
75
+ #
76
+ # ========================================================================= #
77
+ def display_pdfs(
78
+ this_dir = ::Cyberweb.return_pwd,
79
+ optional_css = ''
80
+ )
81
+ pdf_image = sg(:pdf,'marr6px','','width:28px') # The pdf image.
82
+ if this_dir.is_a? Hash
83
+ if this_dir.has_key? :css
84
+ optional_css = this_dir.delete :css
85
+ this_dir = ::Cyberweb.return_pwd
86
+ end
87
+ end
88
+ this_dir = ::Cyberweb.return_pwd if this_dir.empty? # Safeguard.
89
+ this_dir << '/' unless this_dir.end_with? '/'
90
+ _ = get_files_from(this_dir)
91
+ _.reject! {|entry| entry !~ /pdf$/ } if _ # Reject non pdf files.
92
+ _.each {|my_link|
93
+ abr(
94
+ my_link,
95
+ content: pdf_image+'SELF_BASENAME',
96
+ css_class: optional_css
97
+ )
98
+ } if _
99
+ end; alias show_pdf_files display_pdfs # === show_pdf_files
100
+ alias show_all_pdf_files display_pdfs # === show_all_pdf_files
101
+ alias show_pdf display_pdfs # === show_pdf
102
+
103
+ end
@@ -0,0 +1,102 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/process_content.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/predefined_and_freeform_methods/predefined_methods.rb'
10
+ require 'cyberweb/toplevel_methods/umlaute.rb'
11
+
12
+ # ========================================================================= #
13
+ # === Cyberweb.process_content
14
+ #
15
+ # We check for some special <> tags here. Right now we will only
16
+ # replace i.e. <red>foo</> with <span class="red">red</span>
17
+ #
18
+ # Since as of July 2014, we will try to pass this towards NewTags.
19
+ #
20
+ # To test whether this works, do this:
21
+ #
22
+ # e Cyberweb.process_content "<red>foo</>"
23
+ # ee Cyberweb.process_content "<red>foo<>"
24
+ # ee Cyberweb.process_content "<ruby>foo<>"
25
+ # ee Cyberweb.process_content "Ein Vorteil von <darkgreen>Cmake</> ist es, das das <b>Kompilieren schneller geht</b>."
26
+ #
27
+ # ========================================================================= #
28
+ def self.process_content(input)
29
+ begin
30
+ require 'new_tags' # Required for method process_content().
31
+ if NewTags.is_included? input
32
+ input = NewTags.convert(input)
33
+ end if Object.const_defined? :NewTags
34
+ rescue LoadError
35
+ end
36
+ # ======================================================================= #
37
+ # Next, we will process special tags, such as <ud>, which are custom
38
+ # rather than officially defined.
39
+ # ======================================================================= #
40
+ ARRAY_INTERNAL_TAGS.each { |tag|
41
+ real_tag_name = '<'+tag+'>'
42
+ if input.include? real_tag_name
43
+ # =================================================================== #
44
+ # <ud>foobar</>
45
+ # will become:
46
+ # <span class="ud">foobar</>
47
+ # This will also work for:
48
+ # <ud>foobar</ud>
49
+ # =================================================================== #
50
+ # See: https://rubular.com/r/V50T61CGplsK1Q
51
+ # =================================================================== #
52
+ regex = /\<(.+)\>(.+)\<\/#{tag}\>/
53
+ _ = regex.match(input)
54
+ new = '<span class="'+_[1]+'">'+_[2]+'</span>'
55
+ input = input.gsub(regex, new)
56
+ end
57
+ }
58
+ if input.include? '</>' or input.include? '<>' # Assume we have a closing tag
59
+ regex_to_use = /<(\w+)>(.+)<\/?>/
60
+ match_data_object = regex_to_use.match(input)
61
+
62
+ which_tag_to_use = 'span' # right now hardcoded
63
+
64
+ if match_data_object
65
+ class_to_use = match_data_object[1]
66
+ content = match_data_object[2]
67
+
68
+ # ===================================================================== #
69
+ # If it is a special tag registered inside
70
+ # bl $RUBY_WWW/linguistic_web.rb
71
+ # ===================================================================== #
72
+ if hash_registered_extra_tags?.keys.include? class_to_use.to_sym
73
+ # Then we will fetch its content from that Hash:
74
+ class_to_use = hash_registered_extra_tags?[class_to_use.to_sym]
75
+ end
76
+ input = match_data_object.pre_match+'<'+
77
+ which_tag_to_use+' class="'+
78
+ class_to_use+'">'+
79
+ content+'</'+
80
+ which_tag_to_use+
81
+ '>'+match_data_object.post_match
82
+ end
83
+ end
84
+ # ======================================================================= #
85
+ # A dual tag is a tag like this:
86
+ # <b red>
87
+ # But it seems as if we no longer make use of it.
88
+ # ======================================================================= #
89
+ if ::Cyberweb.convert_umlaute?
90
+ input = ::Cyberweb.escape_umlauts(input)
91
+ end
92
+ return input
93
+ end
94
+
95
+ # ========================================================================= #
96
+ # === process_content
97
+ # ========================================================================= #
98
+ def process_content(i)
99
+ ::Cyberweb.process_content(i)
100
+ end
101
+
102
+ 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/progress.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === progress
11
+ #
12
+ # This method will display a cute little progress "bar".
13
+ #
14
+ # Usage examples:
15
+ #
16
+ # progress :rand
17
+ # progress [55,22,11,5,2,2,2,35]
18
+ #
19
+ # ========================================================================= #
20
+ def progress(
21
+ percentage = '77'
22
+ )
23
+ percentage = rand(100)+1 if percentage.to_s == 'rand'
24
+ div(:progress_container) {
25
+ if percentage.is_a? Array
26
+ percentage.each {|member| real_progress_bar(member.to_s) }
27
+ else
28
+ real_progress_bar percentage.to_s
29
+ end
30
+ }
31
+ end
32
+
33
+ # ========================================================================= #
34
+ # === real_progress_bar
35
+ # ========================================================================= #
36
+ def real_progress_bar(percentage)
37
+ div('','','width:'+percentage+'%; font-size:0.8em;font-weight:bold;margin:4px;background-color:RANDOM_COLOUR'){
38
+ ee percentage
39
+ }
40
+ end; alias rpb real_progress_bar # rpb
41
+
42
+ end
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/quote.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === Cyberweb.quote
11
+ #
12
+ # The <q> tag defines a short quotation.
13
+ #
14
+ # Browsers normally insert quotation marks around the quotation,
15
+ # realized through q:before and q:after.
16
+ #
17
+ # Documentation for the quote-tag can be found at:
18
+ #
19
+ # https://www.w3.org/TR/html-markup/q.html
20
+ # https://www.w3schools.com/tags/tag_q.asp
21
+ #
22
+ # ========================================================================= #
23
+ def self.quote(
24
+ text,
25
+ css_class = '',
26
+ the_id = '',
27
+ css_style = ''
28
+ )
29
+ stag(text,'q',css_class, the_id, css_style)
30
+ end
31
+
32
+ # ========================================================================= #
33
+ # === quote
34
+ # ========================================================================= #
35
+ def quote(
36
+ text,
37
+ css_class = '',
38
+ the_id = '',
39
+ css_style = ''
40
+ )
41
+ ::Cyberweb.quote(text, css_class, the_id, css_style)
42
+ end
43
+
44
+ end
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/random.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/constants/standalone_constants.rb'
10
+
11
+ # ========================================================================= #
12
+ # === Cyberweb.return_random_border
13
+ #
14
+ # This method here will return a random border.
15
+ #
16
+ # For this to work, ARRAY_CSS_BORDER_STYLES must have been defined.
17
+ #
18
+ # The first argument to this method, called `border_size_in_n_pixels`,
19
+ # tells us how many pixels to use for this border.
20
+ # ========================================================================= #
21
+ def self.return_random_border(
22
+ border_size_in_n_pixels = 1,
23
+ available_borders = ARRAY_CSS_BORDER_STYLES
24
+ )
25
+ border_size_in_n_pixels = border_size_in_n_pixels.to_s.dup
26
+ border_size_in_n_pixels.gsub!('PX','')
27
+ random_style = available_borders.sample.to_s
28
+ random_style = random_style.first.to_s if random_style.is_a? Array
29
+ if block_given?
30
+ yielded = yield
31
+ case yielded
32
+ when :dotted
33
+ random_style = 'dotted'
34
+ end
35
+ end
36
+ # ======================================================================= #
37
+ # Now build up the "border:" string.
38
+ # ======================================================================= #
39
+ result = 'border: '.dup
40
+ result << border_size_in_n_pixels
41
+ result << 'px '
42
+ result << random_style.to_s+' '
43
+ result << return_random_colour+';'
44
+ return result
45
+ end
46
+
47
+ # ========================================================================= #
48
+ # === return_random_border
49
+ # ========================================================================= #
50
+ def return_random_border(
51
+ border_size_in_n_pixels = 1,
52
+ available_borders = ARRAY_CSS_BORDER_STYLES
53
+ )
54
+ ::Cyberweb.return_random_border(
55
+ border_size_in_n_pixels, available_borders
56
+ )
57
+ end
58
+
59
+ # ========================================================================= #
60
+ # === random_image
61
+ #
62
+ # This method will return a random image.
63
+ # ========================================================================= #
64
+ def random_image
65
+ string_img(
66
+ ::Cyberweb::ARRAY_LISTING_ALL_PROJECT_IMAGES.sample
67
+ )
68
+ end
69
+
70
+ end
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/rds.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === Cyberweb.rds
11
+ #
12
+ # The name "rds" is an appreviation for "remove double slash".
13
+ # ========================================================================= #
14
+ def self.rds(
15
+ i = '/home/x//'
16
+ )
17
+ if i.respond_to? :squeeze
18
+ i.squeeze('/')
19
+ else
20
+ pp caller()
21
+ raise "The given input (class #{i.class}) does "\
22
+ "not respond to the method .squeeze()."
23
+ end
24
+ end; self.instance_eval { alias remove_double_slash rds } # === Cyberweb.remove_double_slash
25
+
26
+ # ========================================================================= #
27
+ # === remove_double_slash
28
+ #
29
+ # A helper method to remove double slashes from a string.
30
+ # ========================================================================= #
31
+ def remove_double_slash(i)
32
+ Cyberweb.rds(i)
33
+ end; alias rds remove_double_slash # === rds
34
+
35
+ end