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,215 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'web_object/toplevel_methods/show_and_display.rb'
6
+ # Cyberweb.display_this_file
7
+ # =========================================================================== #
8
+ module Cyberweb
9
+
10
+ begin
11
+ require 'convert_global_env'
12
+ rescue LoadError; end
13
+
14
+ require 'cyberweb/constants/standalone_constants.rb'
15
+
16
+ # ========================================================================= #
17
+ # === Cyberweb.return_this_file
18
+ #
19
+ # This method can be used to display the content of a String in a
20
+ # .cgi page.
21
+ # ========================================================================= #
22
+ def self.return_this_file(
23
+ this_file = :gtk
24
+ )
25
+ result = ''.dup
26
+ if this_file.is_a? Array
27
+ this_file = this_file.first
28
+ end
29
+ if this_file.is_a?(String) and this_file.start_with?(':')
30
+ this_file = this_file.delete(':').to_sym
31
+ end
32
+ # ======================================================================= #
33
+ # === Handle Symbols next
34
+ # ======================================================================= #
35
+ if this_file.is_a? Symbol
36
+ # ===================================================================== #
37
+ # Tap into the Roebe-namespace in this case.
38
+ # ===================================================================== #
39
+ begin
40
+ require 'roebe/requires/require_the_roebe_documentation.rb'
41
+ result << Roebe::Documentation.send(this_file).to_s
42
+ rescue LoadError; end
43
+ else
44
+ result << File.read(this_file)
45
+ end
46
+ return "#{CONTENT_TYPE_HTML}"\
47
+ "<!DOCTYPE html><html lang=\"en\"><head>"\
48
+ "<title>Reading the content of the file #{this_file}</title>"\
49
+ "</head><body><pre>#{result}</pre></body></html>"
50
+ end
51
+
52
+ # ========================================================================= #
53
+ # === Cyberweb.display_this_file
54
+ # ========================================================================= #
55
+ def self.display_this_file(
56
+ this_file = :gtk
57
+ )
58
+ print return_this_file(this_file)
59
+ end
60
+
61
+ # ========================================================================= #
62
+ # === Cyberweb.display_information_about_the_environment
63
+ # ========================================================================= #
64
+ def self.display_information_about_the_environment(
65
+ border_spacing_n_px = '10'
66
+ )
67
+ unless Object.const_defined? :EnvironmentInformation
68
+ # ===================================================================== #
69
+ # Pull the environment_information project in, in this case.
70
+ # ===================================================================== #
71
+ require 'environment_information'
72
+ end
73
+ ee '<table style="margin-left:2em; padding:1em; border-spacing: '+border_spacing_n_px.to_s+'px;">'
74
+ EnvironmentInformation.silent_run.each_pair {|key, value|
75
+ value = value.first if value.is_a? Array
76
+ value = value.to_s.dup.strip
77
+ if value.empty? # Ignore empty results.
78
+ else
79
+ ee '<tr><td><b class="larger">'+
80
+ key.to_s+'</b></td><td><b>'+
81
+ value.to_s+
82
+ '</b></td></b></tr>'
83
+ end
84
+ }
85
+ ee '</table>'
86
+ end
87
+
88
+ # ========================================================================= #
89
+ # === display_directories
90
+ # ========================================================================= #
91
+ def display_directories
92
+ image_directory = sg(:directory, 'marr8px')
93
+ get_all_directories_from().each {|entry|
94
+ abr(
95
+ entry,
96
+ content: image_directory+'SELF'
97
+ )
98
+ }
99
+ end
100
+
101
+ # ========================================================================= #
102
+ # === display_date
103
+ #
104
+ # Display the current date via this method.
105
+ # ========================================================================= #
106
+ def display_date
107
+ ee date_today # This here is defined in $CYBERWEB/addons/date/date.rb
108
+ end
109
+
110
+ # ========================================================================= #
111
+ # === display_ruby_code
112
+ #
113
+ # This requires the code.css template. It will then show some ruby code.
114
+ # Not sure what the difference is to the method below.
115
+ #
116
+ # Usage example:
117
+ #
118
+ # display_ruby_code 'if @run_simulation
119
+ # cif "We would now create the directory ";cdir _
120
+ # e "Foo."
121
+ # end'
122
+ #
123
+ # ========================================================================= #
124
+ def display_ruby_code(
125
+ content, optional_css_class = ''
126
+ )
127
+ pre(
128
+ colourize_ruby_code(content),
129
+ 'code_body',
130
+ optional_css_class
131
+ ) # Alias to the <pre> tag.
132
+ end
133
+
134
+ # ========================================================================= #
135
+ # === display_and_enable_html_links
136
+ # ========================================================================= #
137
+ def display_and_enable_html_links(
138
+ entry,
139
+ optional_css = ''
140
+ )
141
+ _ = read_file(entry).reject(&:empty?) # Read in the file here. Reject empty lines.
142
+ _.map! {|inner_entry|
143
+ if inner_entry.include? 'http'
144
+ inner_entry = slink(inner_entry, 'SELF',1)
145
+ end
146
+ inner_entry
147
+ }
148
+ div(optional_css) {
149
+ p { ee _.join(N) }
150
+ }
151
+ end
152
+
153
+ # ========================================================================= #
154
+ # === display_studium_relevant_files
155
+ #
156
+ # This can be used to display studium-relevant links.
157
+ # ========================================================================= #
158
+ def display_studium_relevant_files(
159
+ optional_css = 'pad0_5em'
160
+ )
161
+ array = %w(
162
+ INHALT.md
163
+ LINKS.md
164
+ PRÜFUNGSFRAGEN.md
165
+ )
166
+ array.each {|entry|
167
+ if File.exist? entry # Check whether that file exists.
168
+ div('mart0_5em bblack1','','padding:0.6em'){
169
+ if entry == 'LINKS' # Read in links through this.
170
+ display_and_enable_html_links(entry, optional_css)
171
+ else
172
+ case entry.to_s
173
+ when /^PR/
174
+ entry << '#REPLACE_HYPHEN_WITH_LI'
175
+ end
176
+ display(entry, optional_css)
177
+ end
178
+ }
179
+ spacer
180
+ else # else, debug. But this can be annoying.
181
+ # e 'The file <b>'+entry+'</b> does not exist.'
182
+ end
183
+ }
184
+ markdown :all # We want to display all .md files as well, via markdown().
185
+ div('mars1em pad1em wid90','','border: 1px dotted black') {
186
+ show_all_pdf_files css: 's1em' # We show all .pdf files.
187
+ }
188
+ end; alias show_studium display_studium_relevant_files # === show_studium is an alias.
189
+ alias studium display_studium_relevant_files # === studium
190
+
191
+ # ========================================================================= #
192
+ # === Cyberweb.display_all_files_in_this_directory
193
+ #
194
+ # This method can be used to display the content of all files
195
+ # in the given directory (the argument to this method specifies
196
+ # the path).
197
+ # ========================================================================= #
198
+ def self.display_all_files_in_this_directory(
199
+ i, use_this_css_class = 'pad1em marb4px'
200
+ )
201
+ Dir["#{i}*"].select {|entry| File.file?(entry) }.each {|this_file|
202
+ div(use_this_css_class) {
203
+ h3 File.basename(this_file),'marb4px'
204
+ p('pad0_5em','','border: 2px dotted tomato') {
205
+ ee File.readlines(this_file).join("\n<br>")
206
+ }
207
+ }
208
+ }
209
+ end
210
+
211
+ end
212
+
213
+ if __FILE__ == $PROGRAM_NAME
214
+ Cyberweb.display_this_file(ARGV)
215
+ end # webobject_display_this_file :gtk
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/show_configuration.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/constants/standalone_constants.rb'
10
+ require 'cyberweb/configuration/load_the_configuration_file.rb'
11
+ require 'cyberweb/toplevel_methods/ee.rb'
12
+ require 'cyberweb/images/images.rb'
13
+ require 'cyberweb/html_tags/div.rb'
14
+ require 'cyberweb/html_tags/pre.rb'
15
+ require 'cyberweb/html_tags/span.rb'
16
+
17
+ # ========================================================================= #
18
+ # === Cyberweb.return_configuration_settings
19
+ #
20
+ # This method will return the configuration settings, as a String.
21
+ # ========================================================================= #
22
+ def self.return_configuration_settings(
23
+ use_this_css_class_for_the_pre_tag = 'mars2em'
24
+ )
25
+ _ = ''.dup
26
+ # ======================================================================= #
27
+ # Open up the main <div> element next.
28
+ # ======================================================================= #
29
+ _ << string_div('bblack3 pad1em','','font-size: 1.15em')
30
+ _ << N
31
+ _ << string_image(:bohrer,'marr1em')+
32
+ 'The available <b>Configuration</b> for the '\
33
+ '<b class="ud">Cyberweb::Project</b> is:'
34
+ _ << NBR+N
35
+ # ===================================================================== #
36
+ # We tap into the configuration data next. Ad @config here. We will use the <pre> tag to
37
+ # properly align the key-value pairs.
38
+ # ===================================================================== #
39
+ _ << string_pre(css_class: use_this_css_class_for_the_pre_tag).dup
40
+ sorted = configuration_object?
41
+ # ===================================================================== #
42
+ # If we have an empty configuration then we have to load up the
43
+ # configuration next.
44
+ # ===================================================================== #
45
+ if sorted.empty?
46
+ sorted = load_the_configuration_file
47
+ end
48
+ sorted = sorted.sort_by {|key, value| key }
49
+ # =================================================================== #
50
+ # Note entirely sure whether sorting is needed here but better to
51
+ # be safe than sorry.
52
+ # =================================================================== #
53
+ if sorted.is_a? Array
54
+ sorted = Hash[*sorted.flatten]
55
+ end
56
+ sorted.each_pair {|key, value|
57
+ left_padded = '<b class="color: slateblue">'+(key+':').ljust(35)+'</b>'
58
+ result = left_padded+'<b>'+value.to_s+'</b>'
59
+ _ << string_span(result.tr("\n",' '),'s2em') { :no_newline }.dup
60
+ _ << N
61
+ }
62
+ _ << N+'</pre>'+N
63
+ _ << N+string_cdiv+N
64
+ _ << N # Trailing newline looks better.
65
+ _
66
+ end
67
+
68
+ # ========================================================================= #
69
+ # === Cyberweb.show_configuration_settings
70
+ #
71
+ # This method can display the configuration.
72
+ # ========================================================================= #
73
+ def self.show_configuration_settings(
74
+ use_this_css_class_for_the_pre_tag = 'mars2em'
75
+ )
76
+ ee return_configuration_settings(use_this_css_class_for_the_pre_tag)
77
+ end
78
+
79
+ end
80
+
81
+ if __FILE__ == $PROGRAM_NAME
82
+ Cyberweb.show_configuration_settings
83
+ end # webobjectshowconfiguration
@@ -0,0 +1,111 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This file collects sitemap-related code.
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === @array_registered_sitemaps
11
+ #
12
+ # This Array will keep track of the sitemaps in use.
13
+ # ========================================================================= #
14
+ @array_registered_sitemaps = []
15
+
16
+ # ========================================================================= #
17
+ # === Cyberweb.array_registered_sitemaps?
18
+ #
19
+ # Getter-method towards the toplevel variable called
20
+ # @array_registered_sitemaps.
21
+ # ========================================================================= #
22
+ def self.array_registered_sitemaps?
23
+ @array_registered_sitemaps
24
+ end; self.instance_eval { alias array_for_sitemap array_registered_sitemaps? } # === Cyberweb.array_for_sitemap
25
+ self.instance_eval { alias array_for_sitemap? array_registered_sitemaps? } # === Cyberweb.array_for_sitemap?
26
+
27
+ # ========================================================================= #
28
+ # === Cyberweb.register_sitemap
29
+ #
30
+ # Use only this method to register an id to a sitemap. This is
31
+ # done automatically when we invoke the method sitemap().
32
+ #
33
+ # If the second argument `modify_input` is set to true, we will
34
+ # replace all occurrences of '_' with ' '. The reason for this
35
+ # is that HTML ids should not contain ' ' characters.
36
+ # ========================================================================= #
37
+ def self.register_sitemap(
38
+ i, modify_input = false
39
+ )
40
+ if modify_input
41
+ i = i.dup if i.frozen?
42
+ i.tr!('_',' ')
43
+ i.tr!('⁺','')
44
+ end
45
+ @array_registered_sitemaps << i
46
+ end; self.instance_eval { alias add_to_sitemap register_sitemap } # === Cyberweb.register_sitemap
47
+
48
+ # ========================================================================= #
49
+ # === sitemap
50
+ #
51
+ # Use this method in order to create a sitemap for a given webpage.
52
+ #
53
+ # We will not only generate or use a specific tag, but we will
54
+ # also register this as a sitemap option.
55
+ #
56
+ # Simple usage example for this is the following:
57
+ #
58
+ # sitemap :h4, 'Lose weight quickly','marl1em','lose_weight_quickly' # Several entries
59
+ # sitemap :h3, 'oki dokie','marl1em','schnelles_abnehmen'
60
+ #
61
+ # autogenerated_sitemap # Here we will display the sitemap finally.
62
+ #
63
+ # ========================================================================= #
64
+ def sitemap(
65
+ which_tag,
66
+ content,
67
+ optional_css_class = '',
68
+ optional_id = '',
69
+ optional_css_style = '',
70
+ &block
71
+ )
72
+ if optional_id.empty?
73
+ optional_id = sanitize_id(content)
74
+ else
75
+ optional_id = sanitize_id(optional_id)
76
+ end
77
+ self.send(which_tag,
78
+ content,
79
+ optional_css_class,
80
+ optional_id,
81
+ optional_css_style,
82
+ &block
83
+ )
84
+ register_sitemap(optional_id) # This works because optional_id will be used in the method.
85
+ end
86
+
87
+ # ========================================================================= #
88
+ # === generate_sitemap
89
+ #
90
+ # The first argument should be an Array.
91
+ # ========================================================================= #
92
+ def generate_sitemap(i)
93
+ i.each {|entry|
94
+ register_sitemap(entry)
95
+ }
96
+ if block_given?
97
+ yielded = yield
98
+ if yielded.is_a? Hash
99
+ # =================================================================== #
100
+ # === :css_style
101
+ # =================================================================== #
102
+ if yielded.has_key? :css_style # User wants to overrule here.
103
+ show_sitemap { yielded }
104
+ return
105
+ end
106
+ end
107
+ end
108
+ show_sitemap # This is equivalent to autogenerated_sitemap().
109
+ end
110
+
111
+ end
@@ -0,0 +1,119 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/spacer.rb'
6
+ # Cyberweb.spacer(:middle)
7
+ # =========================================================================== #
8
+ module Cyberweb
9
+
10
+ require 'cyberweb/constants/standalone_constants.rb'
11
+ require 'cyberweb/images/string_image.rb'
12
+
13
+ # ========================================================================= #
14
+ # === Cyberweb.spacer (spacer tag, liner tag)
15
+ #
16
+ # This method will create a little spacer icon.
17
+ #
18
+ # The first argument to this method will tell us which alignment to
19
+ # use. Possible main values for this are: :middle, :left and :right.
20
+ #
21
+ # If we pass a string, then we will assume that the user wants to
22
+ # repeat this as the main token instead.
23
+ #
24
+ # You can also use it in block form as well, as in:
25
+ #
26
+ # spacer { div('s1em') { p { 'Hello World' } } }
27
+ #
28
+ # ========================================================================= #
29
+ def self.spacer(
30
+ alignment = :middle, # Possible values are: :left, :middle, :right
31
+ extra_css_class = ''
32
+ )
33
+ use_image_spacer = true
34
+ case alignment
35
+ # ======================================================================= #
36
+ # === :center
37
+ # ======================================================================= #
38
+ when :center,
39
+ :middle,
40
+ :m,
41
+ :default,
42
+ ''
43
+ alignment = 'margin-left:auto; margin-right:auto; text-align: center;'
44
+ # ======================================================================= #
45
+ # === :left
46
+ # ======================================================================= #
47
+ when :left,
48
+ :l
49
+ alignment = 'margin-left:0; margin-right:auto; text-align: left;'
50
+ # ======================================================================= #
51
+ # === :right
52
+ # ======================================================================= #
53
+ when :right,
54
+ :r
55
+ alignment = 'margin-left:auto; margin-right:0; text-align: right;'
56
+ else
57
+ use_image_spacer = false
58
+ if alignment.is_a? Hash
59
+ if alignment.has_key? :use_this_token
60
+ alignment = alignment.delete(:use_this_token)
61
+ end
62
+ end
63
+ end
64
+ if use_image_spacer
65
+ ::Cyberweb.simg(
66
+ :spacer,
67
+ 'marb4px BLOCK '+extra_css_class,
68
+ '',
69
+ alignment
70
+ )
71
+ else
72
+ e alignment * 250
73
+ end
74
+ if block_given?
75
+ yield
76
+ if use_image_spacer
77
+ ::Cyberweb.img(
78
+ :spacer, 'marb4px BLOCK '+extra_css_class,'',alignment # And repeat.
79
+ )
80
+ n
81
+ else
82
+ e alignment * 250
83
+ end
84
+ end
85
+ end
86
+
87
+ # ========================================================================= #
88
+ # === spacer
89
+ # ========================================================================= #
90
+ def spacer(
91
+ alignment = :middle,
92
+ extra_css_class = ''
93
+ )
94
+ "#{::Cyberweb.spacer(alignment, extra_css_class)}#{N}"
95
+ end; alias trenner spacer # === trenner
96
+ alias spalter spacer # === spalter
97
+ alias space spacer # === space
98
+ alias beautiful_spacer spacer # === beautiful_spacer
99
+ alias spacer_center spacer # === spacer_center
100
+
101
+ # ========================================================================= #
102
+ # === lspacer
103
+ #
104
+ # Wrapper towards spacer().
105
+ # ========================================================================= #
106
+ def lspacer(css = '')
107
+ spacer :left, css
108
+ end
109
+
110
+ # ========================================================================= #
111
+ # === rspacer
112
+ #
113
+ # Wrapper towards spacer().
114
+ # ========================================================================= #
115
+ def rspacer(css = '')
116
+ spacer :right, css
117
+ end
118
+
119
+ end
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/string_body_start.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/toplevel_methods/registered_ids.rb'
10
+
11
+ # ========================================================================= #
12
+ # === Cyberweb.string_body_start (body tag)
13
+ #
14
+ # Just start of <body>
15
+ # ========================================================================= #
16
+ def self.string_body_start(
17
+ css_class = '',
18
+ the_id = '',
19
+ css_style = '',
20
+ javascript_onload = ''
21
+ )
22
+ # ======================================================================= #
23
+ # === Overrule empty IDs
24
+ #
25
+ # Overrule empty id by defining an id for the body set. By default
26
+ # in this case, it will be set to the name of the page in question.
27
+ #
28
+ # This is already done in the id_method so here we can simply set
29
+ # the id to 'DEF'.
30
+ # ======================================================================= #
31
+ the_id = 'DEF' if the_id.empty?
32
+ # delete if it is only 2 chars
33
+ javascript = '' if javascript == 'js'
34
+ _ = '<body'.dup
35
+ _ << ::Cyberweb.return_css_class(css_class)
36
+ _ << ::Cyberweb.return_the_id(the_id)
37
+ _ << ::Cyberweb.return_css_style(css_style)
38
+ unless javascript_onload.empty?
39
+ _ << ' onload="'
40
+ _ << javascript_onload
41
+ _ << ';' unless _.end_with? ';'
42
+ _ << '"'
43
+ end
44
+ _ << '>'+NL # closing tag
45
+ return _
46
+ end
47
+
48
+ # ========================================================================= #
49
+ # === body_start
50
+ #
51
+ # Just a wrapper around string_body_start(). That method is also defined
52
+ # in the file here.
53
+ # ========================================================================= #
54
+ def body_start(
55
+ css_css = '', the_id = '', css_style = '', javascript = ''
56
+ )
57
+ ee ::Cyberweb.string_body_start(
58
+ css_css,
59
+ the_id,
60
+ css_style,
61
+ javascript
62
+ )
63
+ end
64
+
65
+ 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/string_content.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/toplevel_methods/process_content.rb'
10
+
11
+ # ========================================================================= #
12
+ # === Cyberweb.string_content
13
+ #
14
+ # This method normally only returns a string, however since as of
15
+ # 26.03.2008 we also process the input via process_content()
16
+ #
17
+ # Since 13.09.2008 we no longer use +NL here.
18
+ #
19
+ # If the input contains the special constant SPACE then we will replace
20
+ # this with new lines.
21
+ # ========================================================================= #
22
+ def self.string_content(i)
23
+ i = i.to_s.dup # Need to work on a copy.
24
+ i.gsub!(/SPACE/,'&nbsp;') if i.include? 'SPACE'
25
+ return ::Cyberweb.process_content(i)
26
+ end; self.instance_eval { alias string_cont string_content } # === Cyberweb.string_cont
27
+
28
+ # ========================================================================= #
29
+ # === string_cont
30
+ # ========================================================================= #
31
+ def string_cont(i)
32
+ ::Cyberweb.string_cont(i)
33
+ end; alias string_content string_cont # === string_content
34
+
35
+ end
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # SVG related parts will be gathered here.
6
+ #
7
+ # For this we will tap into the project svg_paradise. Make sure that you
8
+ # have installed it before trying to use the SVG components of the
9
+ # Cyberweb project.
10
+ # =========================================================================== #
11
+ # require 'cyberweb/toplevel_methods/svg.rb'
12
+ # Cyberweb.circle
13
+ # =========================================================================== #
14
+ module Cyberweb
15
+
16
+ begin
17
+ require 'image_paradise'
18
+ rescue LoadError; end
19
+
20
+ require 'cyberweb/toplevel_methods/ee.rb'
21
+
22
+ # =========================================================================== #
23
+ # === Cyberweb.render_this_svg
24
+ # =========================================================================== #
25
+ def self.render_this_svg(i)
26
+ ee i
27
+ end
28
+
29
+ # =========================================================================== #
30
+ # === render_this_svg
31
+ # =========================================================================== #
32
+ def render_this_svg(i)
33
+ Cyberweb.render_this_svg(i)
34
+ end; alias render_svg render_this_svg # === render_svg
35
+
36
+ # =========================================================================== #
37
+ # Conditional-defines:
38
+ #
39
+ # The following methods will only be available if the user has installed
40
+ # the svg_paradise project.
41
+ # =========================================================================== #
42
+ if Object.const_defined? :ImageParadise
43
+
44
+ # ========================================================================= #
45
+ # === Cyberweb.circle
46
+ # ========================================================================= #
47
+ def self.circle(
48
+ w = 150,
49
+ c = :blue, # The colour to use.
50
+ stroke_width = 5,
51
+ radius = 20
52
+ )
53
+ ImageParadise::Svg.circle(w, c, stroke_width, radius)
54
+ end
55
+
56
+ # ========================================================================= #
57
+ # === Cyberweb.ecircle
58
+ #
59
+ # This simply calls the above method, and outputs it directly
60
+ # into the webpage object.
61
+ # ========================================================================= #
62
+ def self.ecircle(w, c = :blue, s = 5, r = 20)
63
+ ee ::Cyberweb.circle(w, c, s, r)
64
+ end
65
+
66
+ end; end