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,284 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/read_and_display.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/encoding/encoding.rb'
10
+
11
+ # ========================================================================= #
12
+ # === read_and_display
13
+ #
14
+ # You can pass a block to this method. If passed, we will remove the
15
+ # character in a gsub.
16
+ #
17
+ # Please note that we will already check whether the file exists, so
18
+ # you do not have to manually call File.exist? on your own before
19
+ # calling this method here.
20
+ #
21
+ # If the sixth argument `do_escape_html` is true then we will replace
22
+ # HTML via the method escape_html(), which will delegate towards
23
+ # class RemoveHtml.
24
+ #
25
+ # The first argument shall specify which file we wish to read it.
26
+ # Note that this is a string which can include special instructions
27
+ # after a # character.
28
+ #
29
+ # For instance:
30
+ #
31
+ # read_display 'FEATURES#USE_REGEX1'
32
+ #
33
+ # This would try to read in a file called FEATURES, and apply a
34
+ # regex filter on it.
35
+ #
36
+ # Usage examples for this method:
37
+ #
38
+ # read_display 'FEATURES#USE_REGEX1','d1em smaller','',BORDER
39
+ # ^^^ specifies name of file, then the filter.
40
+ #
41
+ # read_and_display 'USAGE#colourize_in_ruby','pad1em bigger'
42
+ # ========================================================================= #
43
+ def read_and_display(
44
+ this_file = 'USAGE.md',
45
+ css_to_use = 'bblack2',
46
+ optional_id = '',
47
+ optional_css_style = '',
48
+ colourize_me = false,
49
+ do_escape_html = true,
50
+ &block
51
+ )
52
+ case css_to_use
53
+ when :default
54
+ css_to_use = 'bblack2'
55
+ end
56
+ web_object = ::Cyberweb.web_object?
57
+ unless web_object.enable_title_for_reading_files.empty?
58
+ fieldset web_object.enable_title_for_reading_files.first
59
+ the_title_to_use = File.basename(this_file)
60
+ if the_title_to_use.include? '#'
61
+ the_title_to_use[ the_title_to_use.index('#'), the_title_to_use.size ] = ''
62
+ end
63
+ legend(the_title_to_use,'s8px')
64
+ end
65
+ this_file = this_file.to_s # We need a string here.
66
+ original_file = this_file.dup
67
+ # ======================================================================= #
68
+ # If '#' is a part of this_file, then we assume that we wish to use
69
+ # a regex or a filter.
70
+ # ======================================================================= #
71
+ use_a_regex_or_a_filter = nil
72
+ if this_file.include? '#'
73
+ splitted = this_file.split '#'
74
+ this_file = splitted.first
75
+ use_a_regex_or_a_filter = splitted[1]
76
+ end
77
+ if File.exist?(this_file)
78
+ _ = read_file(this_file) # Read in the file here.
79
+ # ===================================================================== #
80
+ # Mandatory bblack2 is not good, IMO. (Sep 2013)
81
+ # ===================================================================== #
82
+ # if ! css_to_use.include? 'bblack2'
83
+ # css_to_use << ' bblack2' unless css_to_use.empty?
84
+ # end
85
+ # ===================================================================== #
86
+ # Since Jul 2011 we replace some of Ruby's keywords.
87
+ # ===================================================================== #
88
+ _ = _.join unless _.is_a? String
89
+ if colourize_me # Only use this when colourize_me is true.
90
+ # =================================================================== #
91
+ # If the file is a ruby file or a cgi file, we replace some keywords.
92
+ # =================================================================== #
93
+ case File.extname(this_file).delete('.')
94
+ when 'rb','cgi'
95
+ _ = colourize_ruby_code(_) # Colourize ruby code here.
96
+ when 'nim'
97
+ _ = colourize_nim_code(_)
98
+ end
99
+ end
100
+ # ===================================================================== #
101
+ # If we pass a block, we gsub on that result.
102
+ # ===================================================================== #
103
+ if block_given?
104
+ gsub_this = yield
105
+ if gsub_this.is_a? Symbol
106
+ case gsub_this
107
+ when :no_border
108
+ if optional_css_style and optional_css_style.include?('border: ')
109
+ # ============================================================= #
110
+ # See: https://rubular.com/r/oUEw5OSzUwTawH
111
+ # ============================================================= #
112
+ regex_to_use = /(border: \d{0,1}[a-z ]+)/
113
+ optional_css_style = optional_css_style.dup if optional_css_style.frozen?
114
+ optional_css_style.sub!(regex_to_use,'')
115
+ end
116
+ end
117
+ else
118
+ _.gsub!(/#{gsub_this}/,'')
119
+ end
120
+ end
121
+ if do_escape_html
122
+ _ = escape_html(_) # Mandatory since Aug 2011. However, this will break
123
+ # when we use <pre> tags. As a compromise, another
124
+ # option exists now.
125
+ end
126
+ # ===================================================================== #
127
+ # Scan for a regex to use. Must come after escape_html() as we insert
128
+ # colour specific things into it.
129
+ # ===================================================================== #
130
+ if use_a_regex_or_a_filter # This variable is determined internally.
131
+ use_a_regex_or_a_filter = use_a_regex_or_a_filter.to_s.downcase # We downcase since Dec 2011. This is easier.
132
+ case use_a_regex_or_a_filter # case tag
133
+ when 'colourize_in_ruby'
134
+ _ = colourize_ruby_code(_)
135
+ when 'replace_hyphen_with_li'
136
+ # _ = _.split("\n").map {|entry| entry << '<br>'+N }.join(N)
137
+ _.gsub!(/- /,'<li style="color:black"> ')
138
+ when 'use_regex1' # This is the default, first Regex. Added Sep 2011.
139
+ regex = /^(\w+ ?\w*?\??):/ # Define the regex here.
140
+ _.gsub!(regex, sg(:pfeil1,'marr4px')+'<span class="FI crimson BO">\1:</span>')
141
+ when 'replace_urls'
142
+ _.gsub!(/^(http.*)$/,'<a href="\\1">\\1</a>')
143
+ end
144
+ end
145
+ # ===================================================================== #
146
+ # === Handle Hash
147
+ #
148
+ # Next, the user may pass a hash as third argument, which might
149
+ # include a key called show_title. Or the user may pass in a
150
+ # Symbol such as :colourize_ruby_code.
151
+ # ===================================================================== #
152
+ if optional_id.is_a? Hash
153
+ if optional_id.has_key? :show_title
154
+ h4('File: <span class="ud">'+this_file.to_s+'</span>'+
155
+ sg(:blue_head,'marl1em'),
156
+ 'orangered smaller mart2px marb2px')
157
+ optional_id = ''
158
+ end
159
+ elsif optional_id.is_a? Symbol
160
+ case optional_id
161
+ when :colourize_ruby_code
162
+ _ = colourize_ruby_code(_)
163
+ optional_id = '' # And reset it again in this case.
164
+ end
165
+ end
166
+ # ===================================================================== #
167
+ # === Display the result finally
168
+ #
169
+ # Use a <pre> tag to display that content.
170
+ # ===================================================================== #
171
+ unless File.zero?(original_file) # unless it is empty.
172
+ pre(
173
+ _, css_to_use, optional_id, optional_css_style
174
+ )
175
+ end
176
+ else
177
+ warn 'WARNING - can not display the file `'+this_file+
178
+ '` as it does not exist in the directory `'+Dir.pwd+'`!'
179
+ end
180
+ cfieldset unless web_object.enable_title_for_reading_files.empty?
181
+ end; alias display read_and_display # === display (display tag)
182
+ alias read_display read_and_display # === read_display
183
+
184
+ # ========================================================================= #
185
+ # === Cyberweb.embed_links_file
186
+ #
187
+ # This method can be used to embed the LINKS.md file - or alternatively,
188
+ # whatever you supply to this method as input.
189
+ #
190
+ # The first argument to this method should be a local file - and that
191
+ # file should exist.
192
+ # ========================================================================= #
193
+ def self.embed_links_file(
194
+ i = 'LINKS.md'
195
+ )
196
+ if File.exist? i
197
+ dataset = File.read(
198
+ i, encoding: DEFAULT_PROJECT_ENCODING[:encoding]
199
+ )
200
+ dataset = dataset.split(N)
201
+ dataset.select! {|entry| entry.start_with? 'http' }
202
+ dataset.each {|this_link|
203
+ abr(this_link, content: 'SELF', css_class: 'marl1em')
204
+ }
205
+ else
206
+ warn 'No file called '+i+' exists, thus we can not display anything.'
207
+ end
208
+ end; self.instance_eval { alias embed_links embed_links_file } # === Cyberweb.embed_links
209
+
210
+ # ========================================================================= #
211
+ # === embed_links_file
212
+ # ========================================================================= #
213
+ def embed_links_file(
214
+ i = 'LINKS.md'
215
+ )
216
+ ::Cyberweb.embed_links_file(i)
217
+ end; alias embed_links embed_links_file # === embed_links
218
+
219
+ # ========================================================================= #
220
+ # === read_and_display_file_if_it_exists
221
+ #
222
+ # A slight modification of read_and_display.
223
+ #
224
+ # Note that we should pass the absolute path to the file in question
225
+ # as the first input argument.
226
+ # ========================================================================= #
227
+ def read_and_display_file_if_it_exists(
228
+ i,
229
+ css_to_use = 'pad0_5em',
230
+ css_style_to_use = 'border: 3px dotted slateblue',
231
+ &block
232
+ )
233
+ the_file_exists = false
234
+ the_file_exists = File.exist?(i)
235
+ if the_file_exists
236
+ read_and_display(
237
+ i,
238
+ css_to_use,
239
+ '',
240
+ css_style_to_use,
241
+ &block
242
+ )
243
+ else
244
+ e 'Warning from the method <b class="FI">'+__method__.to_s+'</b>: '\
245
+ 'The file `<b>'+i.to_s+'</b>` was not found.'
246
+ end
247
+ end; alias show_file read_and_display_file_if_it_exists # === show_file
248
+ alias display_file read_and_display_file_if_it_exists # === display_file
249
+ alias show_this_file read_and_display_file_if_it_exists # === show_this_file
250
+ alias read_content_from_this_file read_and_display_file_if_it_exists # === read_content_from_this_file
251
+ alias display_this_file read_and_display_file_if_it_exists # === display_this_file
252
+ alias read_and_display_this_file read_and_display_file_if_it_exists # === read_and_display_this_file
253
+ alias embed_this_file read_and_display_file_if_it_exists # === embed_this_file
254
+
255
+ begin
256
+ require 'beautiful_url/toplevel_methods/local_menu.rb'
257
+ rescue LoadError; end
258
+ # ========================================================================= #
259
+ # === Cyberweb.read_file
260
+ #
261
+ # To test this method, try something like:
262
+ #
263
+ # x = Cyberweb.read_file('/home/x/programming/ruby/src/libui/README.md')
264
+ # x = Cyberweb.read_file(:tales)
265
+ #
266
+ # ========================================================================= #
267
+ def self.read_file(
268
+ this_file
269
+ )
270
+ if this_file.is_a? Symbol
271
+ this_file = BeautifulUrl.local_menu(this_file)
272
+ end
273
+ if File.exist? this_file
274
+ use_this_encoding = DEFAULT_PROJECT_ENCODING[:encoding]
275
+ return File.read(
276
+ this_file,
277
+ encoding: use_this_encoding
278
+ )
279
+ else
280
+ puts 'No file exists at '+this_file.to_s
281
+ end
282
+ end
283
+
284
+ end
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/readlines.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/encoding/encoding.rb'
10
+
11
+ # ========================================================================= #
12
+ # === Cyberweb.readlines
13
+ #
14
+ # Preferrentially use this method when you read files, because we
15
+ # will use the right encoding as we go.
16
+ # ========================================================================= #
17
+ def self.readlines(i)
18
+ File.readlines(
19
+ i,
20
+ encoding: ::Cyberweb::Encoding::MAIN_ENCODING_TO_USE
21
+ )
22
+ end
23
+
24
+ # ========================================================================= #
25
+ # === readlines
26
+ # ========================================================================= #
27
+ def readlines(file)
28
+ Cyberweb.readlines(file)
29
+ end
30
+
31
+ end
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/redirect.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === Cyberweb.return_meta_redirect
11
+ #
12
+ # You may use this method to meta-redirect html pages.
13
+ # ========================================================================= #
14
+ def self.return_meta_redirect(
15
+ to_this_url
16
+ )
17
+ '<meta http-equiv="Refresh" content="1; URL="'+to_this_url.to_s+'">'
18
+ end
19
+
20
+ # ========================================================================= #
21
+ # === return_meta_redirect
22
+ #
23
+ # You may use this to meta-redirect html pages.
24
+ # ========================================================================= #
25
+ def return_meta_redirect(to_this_url)
26
+ Cyberweb.return_meta_redirect(to_this_url)
27
+ end
28
+
29
+ end
@@ -0,0 +1,178 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/registered_ids.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/encoding/encoding.rb'
10
+
11
+ # ========================================================================= #
12
+ # === @array_registered_ids
13
+ #
14
+ # Collect all IDs here into this Array. An ID is the tag-identifier that
15
+ # can be given to HTML elements.
16
+ # ========================================================================= #
17
+ @array_registered_ids = []
18
+
19
+ # ========================================================================= #
20
+ # === Cyberweb.all_ids?
21
+ # ========================================================================= #
22
+ def self.all_ids?
23
+ @array_registered_ids
24
+ end; self.instance_eval { alias array_registered_ids all_ids? } # === Cyberweb.array_registered_ids
25
+ self.instance_eval { alias array_registered_ids? all_ids? } # === Cyberweb.array_registered_ids?
26
+
27
+ # ========================================================================= #
28
+ # === return_the_id
29
+ # ========================================================================= #
30
+ def return_the_id(
31
+ the_id = ''
32
+ )
33
+ ::Cyberweb.return_the_id(the_id)
34
+ end; alias turn_into_html_id return_the_id # === turn_into_html_id
35
+
36
+ # ========================================================================= #
37
+ # === all_ids?
38
+ #
39
+ # Preferrably use this method when you wish to show all ids.
40
+ # ========================================================================= #
41
+ def all_ids?
42
+ ::Cyberweb.all_ids?
43
+ end
44
+
45
+ # ========================================================================= #
46
+ # === Cyberweb.show_all_ids?
47
+ # ========================================================================= #
48
+ def self.show_all_ids?
49
+ all_ids?.each {|entry|
50
+ e " - #{entry}"
51
+ }
52
+ end
53
+
54
+ # ========================================================================= #
55
+ # === show_all_ids?
56
+ # ========================================================================= #
57
+ def show_all_ids?
58
+ ::Cyberweb.show_all_ids?
59
+ end
60
+
61
+ # ========================================================================= #
62
+ # === Cyberweb.return_the_id (id tag)
63
+ #
64
+ # Returns an empty string if the_id is empty.
65
+ #
66
+ # Since Sep 2011 we also remove all html tags from the input.
67
+ #
68
+ # Since Jan 2012 we also get rid of all ' ' characters - these would
69
+ # be invalid anyway.
70
+ # ========================================================================= #
71
+ def self.return_the_id(
72
+ the_id = ''
73
+ )
74
+ the_id = the_id.to_s.dup # We need it in string format.
75
+ result = ''.dup
76
+ if the_id.is_a? Hash
77
+ if the_id.has_key? :id
78
+ the_id = the_id.delete(:id)
79
+ end
80
+ end
81
+ unless the_id.empty?
82
+ the_id = sanitize_id(the_id)
83
+ append_this_id_to_all_ids(the_id)
84
+ result << ' id="'
85
+ result << the_id # Perform no more modification to the ID here.
86
+ result << '"'
87
+ end
88
+ return result
89
+ end; self.instance_eval { alias turn_into_html_id return_the_id } # === Cyberweb.turn_into_html_id
90
+
91
+ # ========================================================================= #
92
+ # === Cyberweb.append_this_id_to_all_ids
93
+ #
94
+ # This method will register the ID into the instance variable
95
+ # returned by Cyberweb.array_registered_ids?
96
+ # ========================================================================= #
97
+ def self.append_this_id_to_all_ids(i)
98
+ i = i.to_s
99
+ unless i.empty?
100
+ # ===================================================================== #
101
+ # Enable drag support next. The key phrase to enable drag and drop
102
+ # support is to have an ID that starts either with 'drag_' or
103
+ # via 'enable_drag_'.
104
+ # ===================================================================== #
105
+ if i.start_with?('drag_') or
106
+ i.start_with?('enable_drag_')
107
+ # =================================================================== #
108
+ # We also have to check if the web_object has been initialized.
109
+ # =================================================================== #
110
+ if ::Cyberweb.respond_to?(:web_object?) and ::Cyberweb.web_object?
111
+ ::Cyberweb.web_object?.drag(i)
112
+ end
113
+ end
114
+ ::Cyberweb.array_registered_ids? << i # We only append when the ID in question exists.
115
+ end
116
+ end; self.instance_eval { alias register_this_id append_this_id_to_all_ids } # === Cyberweb.register_this_id
117
+
118
+ # ========================================================================= #
119
+ # === append_this_id_to_all_ids
120
+ # ========================================================================= #
121
+ def append_this_id_to_all_ids
122
+ ::Cyberweb.append_this_id_to_all_ids
123
+ end; alias register_this_id append_this_id_to_all_ids # === register_this_id
124
+
125
+ # ========================================================================= #
126
+ # === print_the_id
127
+ #
128
+ # Prints a html id.
129
+ # ========================================================================= #
130
+ def print_the_id(the_id)
131
+ ee return_the_id(the_id)
132
+ end
133
+
134
+ require 'cyberweb/toplevel_methods/umlaute.rb'
135
+ # ========================================================================= #
136
+ # === Cyberweb.sanitize_id
137
+ #
138
+ # Use this method when you want to sanitize the given id.
139
+ #
140
+ # We will generate a valid HTML id through this method.
141
+ #
142
+ # Usage example:
143
+ #
144
+ # Cyberweb.sanitize_id(' hey there')
145
+ #
146
+ # ========================================================================= #
147
+ def self.sanitize_id(i)
148
+ i = convert_back_german_umlauts(i)
149
+ # ======================================================================= #
150
+ # If we have two '#' tokens, check here:
151
+ # ======================================================================= #
152
+ if i.count('#') > 1 # Example: 'drag_#NAME#'
153
+ if i.include? '#NAME#'
154
+ filename = ::Cyberweb.filename?
155
+ new_name = File.basename(filename, File.extname(filename)).downcase
156
+ i = i.gsub(/#NAME#/, new_name)
157
+ end
158
+ end
159
+ i.strip! # Get rid of leading and trailing ' ' tokens.
160
+ i.gsub!(/ /,'_') if i.include? ' '
161
+ case i
162
+ when 'DEF' # Overrule.
163
+ filename = $0
164
+ filename = ensure_main_encoding(filename)
165
+ i = File.basename(filename).downcase.gsub(/\..*$/,'')
166
+ end
167
+ i = no_html(i) if i.include? '>' # We assume a HTML tag here.
168
+ return i
169
+ end
170
+
171
+ # ========================================================================= #
172
+ # === sanitize_id
173
+ # ========================================================================= #
174
+ def sanitize_id(i)
175
+ ::Cyberweb.sanitize_id(i)
176
+ end
177
+
178
+ end
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/remove_html.rb'
6
+ # Cyberweb.remove_html(ARGV)
7
+ # =========================================================================== #
8
+ module Cyberweb
9
+
10
+ begin
11
+ require 'roebe/modules/remove_html.rb'
12
+ rescue LoadError; end
13
+
14
+ # ========================================================================= #
15
+ # === Cyberweb.remove_html
16
+ #
17
+ # This method will attempt to get rid of all html found in a String.
18
+ # ========================================================================= #
19
+ def self.remove_html(i)
20
+ if Object.const_defined?(:Roebe) and
21
+ Roebe.respond_to?(:remove_html)
22
+ return Roebe.remove_html(i)
23
+ else
24
+ i # Else return it unmodified.
25
+ end
26
+ end
27
+
28
+ end
29
+
30
+ if __FILE__ == $PROGRAM_NAME
31
+ puts Cyberweb.remove_html(ARGV)
32
+ end # rb remove_html.rb 'string with <h2>some</h2> html here'
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/remove_newlines.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === Cyberweb.remove_newlines
11
+ #
12
+ # This simple method will get rid of newlines from the given input
13
+ # String. The argument to this method should hence be a String.
14
+ # ========================================================================= #
15
+ def self.remove_newlines(i = '')
16
+ i.delete("\n")
17
+ end; self.instance_eval { alias remove_newline remove_newlines } # === Cyberweb.remove_newline
18
+ self.instance_eval { alias remove_newlines_from remove_newlines } # === Cyberweb.remove_newlines_from
19
+
20
+ # ========================================================================= #
21
+ # === remove_newlines
22
+ # ========================================================================= #
23
+ def remove_newlines(i = '')
24
+ ::Cyberweb.remove_newlines(i)
25
+ end; alias remove_newline remove_newlines # === remove_newline
26
+ alias remove_newlines_from remove_newlines # === remove_newlines_from
27
+
28
+ end
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/return_head_start.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ begin
10
+ require 'html_tags/individual_tags/head.rb'
11
+ rescue LoadError; end
12
+
13
+ require 'cyberweb/constants/nl.rb'
14
+
15
+ # ========================================================================= #
16
+ # === Cyberweb.return_head_start
17
+ #
18
+ # We will also append a newline to it.
19
+ #
20
+ # Thus, this method will essentially return this String:
21
+ #
22
+ # "<head>\n"
23
+ #
24
+ # ========================================================================= #
25
+ def self.return_head_start
26
+ "#{HtmlTags.head}#{N}" # Delegate towards HtmlTags.
27
+ end
28
+
29
+ end
30
+
31
+ if __FILE__ == $PROGRAM_NAME
32
+ puts Cyberweb.return_head_start
33
+ end
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/return_html_fin.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'html_tags'
10
+ require 'cyberweb/constants/standalone_constants.rb'
11
+
12
+ # ========================================================================= #
13
+ # === Cyberweb.return_html_fin
14
+ #
15
+ # This method combines '</body>' and '</html>'.
16
+ # ========================================================================= #
17
+ def self.return_html_fin
18
+ "#{HtmlTags.cbody}#{NL}#{HtmlTags.chtml}#{NL}"
19
+ end
20
+
21
+ # ========================================================================= #
22
+ # === return_html_fin
23
+ #
24
+ # Use this to close the HTML document properly.
25
+ # ========================================================================= #
26
+ def return_html_fin
27
+ ::Cyberweb.return_html_fin # Invoke the method defined on top.
28
+ end
29
+
30
+ end
31
+
32
+ if __FILE__ == $PROGRAM_NAME
33
+ puts Cyberweb.return_html_fin
34
+ 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/return_html_header.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/constants/nl.rb'
10
+ require 'cyberweb/constants/standalone_constants.rb'
11
+
12
+ # ========================================================================= #
13
+ # === return_html_header
14
+ # ========================================================================= #
15
+ def self.return_html_header
16
+ ::Cyberweb::CONTENT_TYPE_HTML
17
+ end
18
+
19
+ # ========================================================================= #
20
+ # === return_html_header
21
+ # ========================================================================= #
22
+ def return_html_header
23
+ ::Cyberweb.return_html_header
24
+ end
25
+
26
+ # ========================================================================= #
27
+ # === print_html_header
28
+ #
29
+ # This prints our html header.
30
+ # ========================================================================= #
31
+ def print_html_header
32
+ ee return_html_header
33
+ end
34
+
35
+ end