cyberweb 0.4.174

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

Potentially problematic release.


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

Files changed (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,96 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/listing.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === @listing_css_object
11
+ # ========================================================================= #
12
+ @listing_css_object = nil
13
+
14
+ # ========================================================================= #
15
+ # === Cyberweb.listing_css_object
16
+ # ========================================================================= #
17
+ def self.listing_css_object
18
+ @listing_css_object
19
+ end
20
+
21
+ # ========================================================================= #
22
+ # === Cyberweb.listing_css_object=
23
+ # ========================================================================= #
24
+ def self.listing_css_object=(i)
25
+ @listing_css_object = i
26
+ end
27
+
28
+ # ========================================================================= #
29
+ # === Cyberweb.listing
30
+ #
31
+ # This can be used as simple means to do a listing.
32
+ #
33
+ # Like for instance:
34
+ #
35
+ # (1) Hi
36
+ # (2) How do you do?
37
+ #
38
+ # Note that via the method clear_list() you can reset the counter used
39
+ # in this method again.
40
+ #
41
+ # Also note that, since Aug 2012, we will try to let this method
42
+ # behave differently depending on the optional_css supplied.
43
+ # ========================================================================= #
44
+ def self.listing(
45
+ i,
46
+ optional_css = listing_css_object,
47
+ optional_id = '',
48
+ make_newline = true
49
+ )
50
+ s2 '(<b>'+return_counter+'</b>) <b>'+i+'</b>',
51
+ optional_css, optional_id
52
+ br if make_newline
53
+ end; self.instance_eval { alias list listing } # === Cyberweb.list
54
+ self.instance_eval { alias count listing } # === Cyberweb.count (count tag)
55
+
56
+ # ========================================================================= #
57
+ # === listing
58
+ # ========================================================================= #
59
+ def listing(
60
+ i,
61
+ optional_css = listing_css_object,
62
+ optional_id = '',
63
+ make_newline = true
64
+ )
65
+ ::Cyberweb.listing(i, optional_css, optional_id, make_newline)
66
+ end; alias list listing # === list
67
+ alias count listing # === count (count tag)
68
+
69
+ # ========================================================================= #
70
+ # === Cyberweb.return_counter
71
+ #
72
+ # Handle the counters stored in the web-object. We increment by +1.
73
+ # (Weird name, I admit this.)
74
+ # ========================================================================= #
75
+ def self.return_counter
76
+ web_object?.listing_counter += 1
77
+ return web_object?.listing_counter.to_s
78
+ end; self.instance_eval { alias counter return_counter } # === Cyberweb.counter
79
+ self.instance_eval { alias counter? return_counter } # === Cyberweb.counter?
80
+
81
+ # ========================================================================= #
82
+ # === Cyberweb.listing_counter?
83
+ # ========================================================================= #
84
+ def self.listing_counter?
85
+ web_object?.listing_counter
86
+ end
87
+
88
+ # ========================================================================= #
89
+ # === return_counter
90
+ # ========================================================================= #
91
+ def return_counter
92
+ Cyberweb.return_counter
93
+ end; alias counter return_counter # === counter
94
+ alias counter? return_counter # === counter?
95
+
96
+ end
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'web_cyberweb_methods/localhost.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === Cyberweb.localhost?
11
+ #
12
+ # This tiny convenience-method only shows the leading localhost-string.
13
+ # ========================================================================= #
14
+ def self.localhost?
15
+ 'http://localhost'
16
+ end
17
+
18
+ end
@@ -0,0 +1,84 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/log_directory.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/toplevel_methods/temp_directory.rb'
10
+
11
+ # ========================================================================= #
12
+ # === @log_directory
13
+ #
14
+ # We log into that directory.
15
+ #
16
+ # In the past there was a constant called LOG_DIRECTORY, but it is
17
+ # better to use a toplevel instance variable since that allows us
18
+ # to easily change it at a later time again.
19
+ #
20
+ # An example target for this variable may be:
21
+ #
22
+ # /tmp/web_object/
23
+ #
24
+ # ========================================================================= #
25
+ @log_directory = "#{@temp_directory}cyberweb/"
26
+
27
+ # ========================================================================= #
28
+ # === Cyberweb.set_log_directory
29
+ # ========================================================================= #
30
+ def self.set_log_directory(
31
+ i = "#{@temp_directory}cyberweb/"
32
+ )
33
+ case i
34
+ # ======================================================================= #
35
+ # === :classic_FHS_structure
36
+ # ======================================================================= #
37
+ when :classic_FHS_structure
38
+ i = '/tmp/'
39
+ # ======================================================================= #
40
+ # === :depot_temp_dir
41
+ # ======================================================================= #
42
+ when :depot_temp_dir
43
+ i = '/Depot/Temp/'
44
+ # ======================================================================= #
45
+ # === :depot_temp_dir_cyberweb
46
+ # ======================================================================= #
47
+ when :depot_temp_dir_cyberweb,
48
+ :depot_temp_dir_web_object
49
+ i = '/Depo/Temp/cyberweb/'
50
+ end
51
+ unless i.end_with? '/'
52
+ i = i.dup if i.frozen?
53
+ i << '/'
54
+ end
55
+ @log_directory = i.freeze
56
+ end; self.instance_eval { alias set_log_dir set_log_directory } # === Cyberweb.set_log_dir
57
+
58
+ # ========================================================================= #
59
+ # === Cyberweb.log_directory?
60
+ # ========================================================================= #
61
+ def self.log_directory?
62
+ @log_directory
63
+ end
64
+
65
+ # ========================================================================= #
66
+ # === log_directory?
67
+ # ========================================================================= #
68
+ def log_directory?
69
+ ::Cyberweb.log_directory?
70
+ end; alias log_dir? log_directory? # === log_dir?
71
+
72
+ # ========================================================================= #
73
+ # === MISSING_IMAGES_ARE_STORED_HERE
74
+ #
75
+ # Where to store missing images.
76
+ # ========================================================================= #
77
+ MISSING_IMAGES_ARE_STORED_HERE =
78
+ "#{@log_directory}web_object_errors.log"
79
+
80
+ end
81
+
82
+ if __FILE__ == $PROGRAM_NAME
83
+ puts Cyberweb.log_directory?
84
+ end
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ module Cyberweb
6
+
7
+ # ========================================================================= #
8
+ # === Cyberweb.error_log
9
+ #
10
+ # Use this for error logging.
11
+ #
12
+ # The first argument is mandatory and shows which type of error we
13
+ # have here. We will store into whatever is provided to us through
14
+ # Cyberweb.logfile?.
15
+ #
16
+ # On my system, MISSING_IMAGES_ARE_STORED_HERE will default to the
17
+ # log directory + 'web_object_errors.log'.
18
+ # ========================================================================= #
19
+ def self.error_log(
20
+ error,
21
+ from_this_file = nil,
22
+ do_strip_html = true
23
+ )
24
+ error = strip_html(error) if do_strip_html
25
+ _ = 'Error Logging'.dup
26
+ _ << ' from file <b>'+from_this_file+'</b>' if from_this_file
27
+ _ << ':'+N+error.to_s # This is the string that will contain the error (hopefully).
28
+ websave_what_to(_, logfile?)
29
+ end
30
+
31
+ # ========================================================================= #
32
+ # === error_log
33
+ # ========================================================================= #
34
+ def error_log(
35
+ error,
36
+ from_this_file = nil,
37
+ do_strip_html = true
38
+ )
39
+ ::Cyberweb.error_log(error, from_this_file, do_strip_html)
40
+ end
41
+
42
+ 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/logo.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/toplevel_methods/server_base_directory.rb'
10
+
11
+ # ========================================================================= #
12
+ # === Cyberweb.logo?
13
+ #
14
+ # This method will return the path to the currently used Cyberweb logo.
15
+ #
16
+ # This method may return a String such as:
17
+ #
18
+ # /home/x/programming/ruby/src/cyberweb/images/cyberweb_logo.png
19
+ #
20
+ # ========================================================================= #
21
+ def self.logo?
22
+ "#{server_base_directory?}programming/ruby/src/"\
23
+ "web_object/images/cyberweb_logo.png"
24
+ end
25
+
26
+ end
27
+
28
+ if __FILE__ == $PROGRAM_NAME
29
+ puts Cyberweb.logo?
30
+ end
@@ -0,0 +1,112 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # Enable kramdown for proper markup-formatting.
6
+ # =========================================================================== #
7
+ # require 'cyberweb/toplevel_methods/markdown.rb'
8
+ # Cyberweb.markdown
9
+ # =========================================================================== #
10
+ module Cyberweb
11
+
12
+ begin
13
+ require 'kramdown'
14
+ rescue LoadError; end
15
+
16
+ # ========================================================================= #
17
+ # === DEFAULT_MARKDOWN_FILE
18
+ #
19
+ # The default markdown file. Should be distributed when we publish
20
+ # a new instance of web_object though.
21
+ # ========================================================================= #
22
+ DEFAULT_MARKDOWN_FILE =
23
+ '/home/x/DATA/PC/MARKDOWN/example.md'
24
+
25
+ # ========================================================================= #
26
+ # === show_inhalt_as_markdown
27
+ #
28
+ # This will try to display the file called INHALT.
29
+ # ========================================================================= #
30
+ def show_inhalt_as_markdown(
31
+ css_to_use = ''
32
+ )
33
+ read_and_display markdown(:INHALT, :return_it), css_to_use
34
+ end
35
+
36
+ # ========================================================================= #
37
+ # === read_and_display_markdown_file
38
+ # ========================================================================= #
39
+ def read_and_display_markdown_file(
40
+ this_markdown_file = '',
41
+ optional_css_to_use = ''
42
+ )
43
+ read_and_display(
44
+ markdown(this_markdown_file, :return_it), optional_css_to_use
45
+ )
46
+ end
47
+
48
+ # ========================================================================= #
49
+ # === Cyberweb.markdown (markdown tag)
50
+ #
51
+ # Use markdown via the markdown() function. The first argument specifies
52
+ # the location of the markdown file in question.
53
+ #
54
+ # The second argument specifies whether we return it or not.
55
+ #
56
+ # We will use the Kramdown gem for this.
57
+ #
58
+ # Several aliases exist to this method, such as:
59
+ #
60
+ # markdown_display_this_file
61
+ #
62
+ # Use whatever suits your needs.
63
+ # ========================================================================= #.
64
+ def self.markdown(
65
+ i = DEFAULT_MARKDOWN_FILE,
66
+ return_it = false
67
+ )
68
+ return_it = true if return_it == :return_it
69
+ case i
70
+ when :all # We try to find all markdown files in the dir.
71
+ i = Dir['*.md']
72
+ return
73
+ when :def
74
+ i = DEFAULT_MARKDOWN_FILE
75
+ end
76
+ if i.is_a? Array
77
+ i.each {|entry| markdown(entry, return_it) } # Recursive calling.
78
+ else
79
+ i = i.to_s.dup
80
+ unless File.exist? i
81
+ i << '.md' unless i.include? '.md' # Try to append .md in this case.
82
+ end
83
+ if File.exist? i
84
+ file = File.read(i)
85
+ kramdown_document = Kramdown::Document.new(file)
86
+ _ = kramdown_document.to_html
87
+ if return_it
88
+ return _
89
+ else
90
+ return _
91
+ end
92
+ end
93
+ end
94
+ end; self.instance_eval { alias markdown_display_this_file markdown } # === Cyberweb.markdown_display_this_file
95
+ self.instance_eval { alias read_and_display_markdown markdown } # === Cyberweb.read_and_display_markdown
96
+ self.instance_eval { alias show_md markdown } # === Cyberweb.show_md
97
+ self.instance_eval { alias display_markdown markdown } # === Cyberweb.display_markdown
98
+
99
+ # ========================================================================= #.
100
+ # === markdown
101
+ # ========================================================================= #.
102
+ def markdown(
103
+ i = DEFAULT_MARKDOWN_FILE,
104
+ return_it = false
105
+ )
106
+ ::Cyberweb.markdown(i, return_it)
107
+ end; alias markdown_display_this_file markdown # === markdown_display_this_file
108
+ alias read_and_display_markdown markdown # === read_and_display_markdown
109
+ alias show_md markdown # === show_md
110
+ alias display_markdown markdown # === display_markdown
111
+
112
+ end
@@ -0,0 +1,130 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This code here providers a wrapper around MathML.
6
+ #
7
+ # MathML is "XML describing mathematical notations".
8
+ #
9
+ # It aims at integrating mathematical formulae into World Wide Web pages
10
+ # and other documents. It is a recommendation of the W3C math working
11
+ # group and part of HTML5.
12
+ #
13
+ # MathML 1 was released as a W3C recommendation in April 1998.
14
+ #
15
+ # More information can be obtained from the following page:
16
+ #
17
+ # https://www.w3.org/Math/
18
+ #
19
+ # =========================================================================== #
20
+ # require 'cyberweb/toplevel_methods/mathml.rb'
21
+ # =========================================================================== #
22
+ module Cyberweb
23
+
24
+ # ========================================================================= #
25
+ # === Cyberweb.mathml_start
26
+ #
27
+ # Open up the math XML tag.
28
+ # ========================================================================= #
29
+ def self.mathml_start(optional_css_class = '')
30
+ if optional_css_class.empty?
31
+ _ = '<math xmlns="&mathml;">'
32
+ else
33
+ _ = '<math xmlns="&mathml;" class="'+optional_css_class+'">'
34
+ end
35
+ # _ << '<mstyle mathvariant="bold">'
36
+ _
37
+ end
38
+
39
+ # ========================================================================= #
40
+ # === Cyberweb.power_to
41
+ #
42
+ # This is the power_to() method.
43
+ #
44
+ # In ruby this corresponds to: a ** b
45
+ #
46
+ # Usage example:
47
+ #
48
+ # ee power_to('a', 5)
49
+ #
50
+ # ========================================================================= #
51
+ def self.power_to(
52
+ a = 'y',
53
+ b = '3'
54
+ )
55
+ _ = ''.dup
56
+ _ << mathml_start
57
+ _ << '<msup>'
58
+ _ << '<mi>'+a.to_s+'</mi>'
59
+ _ << '<mn>'+b.to_s+'</mn>'
60
+ _ << '</msup>'
61
+ _ << mathml_end
62
+ return _
63
+ end; self.instance_eval { alias n_power_to power_to } # === Cyberweb.n_power_to
64
+
65
+ # ========================================================================= #
66
+ # === power_to
67
+ # ========================================================================= #
68
+ def power_to(a = 'y', b = '3')
69
+ ::Cyberweb.power_to(a,b)
70
+ end; alias n_power_to power_to # === n_power_to
71
+
72
+ # ========================================================================= #
73
+ # === mtag
74
+ # ========================================================================= #
75
+ def mtag
76
+ hash = {
77
+ '+' => 'mo'
78
+ }
79
+ return hash
80
+ end
81
+
82
+ # ========================================================================= #
83
+ # === e_power_to
84
+ # ========================================================================= #
85
+ def e_power_to(a,b)
86
+ ee power_to(a,b)
87
+ end
88
+
89
+ # ========================================================================= #
90
+ # === test_mathml
91
+ # ========================================================================= #
92
+ def test_mathml
93
+ mathml_start+power_to+mathml_end
94
+ end
95
+
96
+ # ========================================================================= #
97
+ # === Cyberweb.mathml_end
98
+ #
99
+ # Properly close the Mathml Tag again.
100
+ # ========================================================================= #
101
+ def self.mathml_end
102
+ _ = ''.dup
103
+ # _ << '</mstyle>' # Disabled as of Jul 2016.
104
+ _ << '</math>'
105
+ end
106
+
107
+ # ========================================================================= #
108
+ # === mathml_end
109
+ # ========================================================================= #
110
+ def mathml_end
111
+ ::Cyberweb.mathml_end
112
+ end
113
+
114
+ # ========================================================================= #
115
+ # === Cyberweb.mathml
116
+ #
117
+ # This is a simplified way to use mathml in a webpage.
118
+ # ========================================================================= #
119
+ def self.mathml(
120
+ optional_css_class = ''
121
+ )
122
+ result = ::Cyberweb.mathml_start(optional_css_class).dup
123
+ if block_given?
124
+ result << yield
125
+ end
126
+ result << mathml_end
127
+ return result
128
+ end
129
+
130
+ end
@@ -0,0 +1,140 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This file holds various different CSS message boxes.
6
+ # =========================================================================== #
7
+ # require 'cyberweb/toplevel_methods/message_boxes.rb'
8
+ # =========================================================================== #
9
+ module Cyberweb
10
+
11
+ # ========================================================================= #
12
+ # === @counter_n_message_boxes_were_created
13
+ # ========================================================================= #
14
+ @counter_n_message_boxes_were_created = 0
15
+
16
+ # ========================================================================= #
17
+ # === Cyberweb.increment_n_message_boxes
18
+ #
19
+ # Use this method to increment the variable
20
+ # @counter_n_messages_were_created.
21
+ # ========================================================================= #
22
+ def self.increment_n_message_boxes(by_how_much = 1)
23
+ @counter_n_message_boxes_were_created += by_how_much
24
+ end
25
+
26
+ # ========================================================================= #
27
+ # === Cyberweb.n_message_boxes_were_created?
28
+ # ========================================================================= #
29
+ def self.n_message_boxes_were_created?
30
+ @counter_n_message_boxes_were_created
31
+ end
32
+
33
+ # ========================================================================= #
34
+ # === message_box
35
+ #
36
+ # We have registered four different message boxes so far.
37
+ #
38
+ # The ID should never be changed.
39
+ #
40
+ # You can enable drag and drop if you pass the symbol
41
+ # :enable_drag_and_drop when invoking this method.
42
+ #
43
+ # An alternative to this would be to pass the identifier __drag__
44
+ # to the second method, as in this example:
45
+ #
46
+ # info_box 'Hi there how do you do','__drag__','','width:30%'
47
+ # error_box 'Hi there how do you do','__drag__','','width:30%'
48
+ #
49
+ # ========================================================================= #
50
+ def message_box(
51
+ content = '',
52
+ css_class = '',
53
+ the_id = 'success_box',
54
+ css_style = ''
55
+ )
56
+ extra_actions = nil
57
+ # ======================================================================= #
58
+ # extra_actions include specific extra instructions to this method.
59
+ # ======================================================================= #
60
+ extra_actions = yield if block_given?
61
+ css_class = '__drag__' if css_class == :drag
62
+ if css_class.to_s.include? '__drag__' # Enable drag and drop support.
63
+ css_class = css_class.to_s.dup
64
+ extra_actions = :enable_drag_and_drop
65
+ css_class.gsub!(/__drag__/,'')
66
+ end
67
+ _ = the_id.split('_').first
68
+ the_id << '_'+::Cyberweb.n_message_boxes_were_created?.to_s
69
+ css_class = _+' '+css_class.to_s # .to_s because it might be a Symbol.
70
+ # ======================================================================= #
71
+ # Designate a default image for the message_box next.
72
+ # ======================================================================= #
73
+ image = full_path_to_image_directory?+
74
+ WebImages['message_box_'+_] # image should now be, e. g., "STD/MESSAGE_BOX_ERROR.png"
75
+ case extra_actions
76
+ when :enable_drag_and_drop
77
+ drag the_id.to_sym # Enable drag and drop support here.
78
+ else
79
+ if extra_actions.is_a? Hash
80
+ if extra_actions.has_key? :use_this_as_image
81
+ image = extra_actions.delete :use_this_as_image
82
+ extra_actions = ''
83
+ end
84
+ end
85
+ end
86
+ increment_n_message_boxes # Increase the amount of used message boxes here.
87
+ # ======================================================================= #
88
+ # Next comes a short hack: if we pass in something that has a src="" entry,
89
+ # then we assume that this is not 100% what the user wanted to do here. Thus,
90
+ # we will extract the src="" component and use that instead.
91
+ # ======================================================================= #
92
+ if image.include? 'src="'
93
+ regex = /src="(.+?)"/ # This is non-greedy, see: http://rubular.com/r/rrc91XBJcI
94
+ image =~ regex
95
+ image = $1.to_s.dup
96
+ end
97
+ css_style = "background-image: url('"+
98
+ image+
99
+ "'); "+css_style
100
+ div(css_class.strip, the_id, css_style.strip) {
101
+ e content
102
+ }
103
+ end
104
+
105
+ # ========================================================================= #
106
+ # === error_box
107
+ # ========================================================================= #
108
+ def error_box(a = '', b = '', the_id = __method__.to_s, d = '', &block)
109
+ the_id = __method__.to_s if the_id.empty?
110
+ message_box(a,b,the_id,d,&block)
111
+ end
112
+
113
+ # ========================================================================= #
114
+ # === info_box
115
+ #
116
+ # This makes a nice little message-box.
117
+ # ========================================================================= #
118
+ def info_box(a='',b='',the_id=__method__.to_s,d='',&block)
119
+ the_id = __method__.to_s if the_id.empty?
120
+ message_box(a,b,the_id,d,&block)
121
+ end; alias anmerkung_box info_box # === anmerkung_box
122
+ alias information info_box # === information
123
+
124
+ # ========================================================================= #
125
+ # === success_box
126
+ # ========================================================================= #
127
+ def success_box(a='',b='',the_id=__method__.to_s,d='',&block)
128
+ the_id = __method__.to_s if the_id.empty?
129
+ message_box(a,b,the_id,d,&block)
130
+ end
131
+
132
+ # ========================================================================= #
133
+ # === warning_box
134
+ # ========================================================================= #
135
+ def warning_box(a='',b='',the_id=__method__.to_s,d='',&block)
136
+ the_id = __method__.to_s if the_id.empty?
137
+ message_box(a,b,the_id,d,&block)
138
+ end; alias warn_box warning_box # === warn_box
139
+
140
+ end