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,55 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ module Cyberweb
6
+
7
+ module PredefinedMethods # === Cyberweb::PredefinedMethods
8
+
9
+ # ========================================================================= #
10
+ # === @hash_css_class_to_use
11
+ #
12
+ # The following Hash will be used to "style" the various components
13
+ # herein.
14
+ # ========================================================================= #
15
+ @hash_css_class_to_use = {}
16
+ # ========================================================================= #
17
+ # The Hash will have several pre-defined keys. These keys should be
18
+ # "interpreted" as CSS style guides. So, for example, all questions
19
+ # will be in gold colour; all answers will be in cyan colour and
20
+ # will also have 'margin-left: 1em.'
21
+ # ========================================================================= #
22
+ @hash_css_class_to_use[:question] = 'gold' # For questions
23
+ @hash_css_class_to_use[:answer] = 'marl1em cyan' # For answers
24
+ @hash_css_class_to_use[:command1] = 'marl1em BOLD' # For command1
25
+ @hash_css_class_to_use[:command2] = 'marl2em BOLD' # For command2
26
+ @hash_css_class_to_use[:command3] = 'marl3em BOLD' # For command3
27
+ @hash_css_class_to_use[:command4] = 'marl4em BOLD' # For command4
28
+ @hash_css_class_to_use[:col_cmd] = 'slateblue marl1em'
29
+ H = @hash_css_class_to_use # Easier constant "alias" to this hash.
30
+ # ========================================================================= #
31
+ # To overrule the above hash in your project, you could do this:
32
+ # ========================================================================= #
33
+ # H[:command1] = 'marl5em cyan'
34
+ # H[:command2] = 'marl10em cyan'
35
+ # H[:command3] = 'marl15em cyan'
36
+ # H[:command4] = CMD
37
+ #
38
+ # Alternatively, you can also use Cmd2.append instead.
39
+
40
+ # ========================================================================= #
41
+ # === Cyberweb::PredefinedMethods.css_class_to_use?
42
+ # ========================================================================= #
43
+ def self.css_class_to_use?
44
+ @hash_css_class_to_use
45
+ end; self.instance_eval { alias css_class_to_use css_class_to_use? } # === Cyberweb::PredefinedMethods.css_class_to_use
46
+ self.instance_eval { alias hash_css_class_to_use? css_class_to_use? } # === Cyberweb::PredefinedMethods.hash_css_class_to_use?
47
+
48
+ # ========================================================================= #
49
+ # === Cyberweb.cmd1?
50
+ # ========================================================================= #
51
+ def self.cmd1?
52
+ @hash_css_class_to_use[:command1]
53
+ end
54
+
55
+ end; end
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/predefined_and_freeform_methods/hash_registered_extra_tags.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ module PredefinedMethods # === Cyberweb::PredefinedMethods
10
+
11
+ # ========================================================================= #
12
+ # === @hash_registered_extra_tags
13
+ #
14
+ # The following Hash is used to register some predefined tags.
15
+ #
16
+ # This is used only for ruby and php so far.
17
+ # ========================================================================= #
18
+ @hash_registered_extra_tags = {}
19
+ @hash_registered_extra_tags[:ruby] = 'BO crimson FS1_2em'
20
+ @hash_registered_extra_tags[:php] = 'BO blue'
21
+
22
+ # ========================================================================= #
23
+ # === Cyberweb::PredefinedMethods.hash_registered_extra_tags?
24
+ # ========================================================================= #
25
+ def self.hash_registered_extra_tags?
26
+ @hash_registered_extra_tags
27
+ end
28
+
29
+ end; end
@@ -0,0 +1,81 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/predefined_and_freeform_methods/header.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ module PredefinedMethods
10
+
11
+ class Header # === Cyberweb::PredefinedMethods::Header
12
+
13
+ # ========================================================================= #
14
+ # === DEFAULT_SIZE_FOR_HEADER
15
+ # ========================================================================= #
16
+ DEFAULT_SIZE_FOR_HEADER = :h1
17
+
18
+ # ========================================================================= #
19
+ # === @size
20
+ # ========================================================================= #
21
+ @size = DEFAULT_SIZE_FOR_HEADER
22
+
23
+ # ========================================================================= #
24
+ # === Cyberweb::Header.size?
25
+ # ========================================================================= #
26
+ def self.size?
27
+ @size
28
+ end
29
+
30
+ # ========================================================================= #
31
+ # === Cyberweb::Header.clear
32
+ # ========================================================================= #
33
+ def self.clear
34
+ Header.size = DEFAULT_SIZE_FOR_HEADER
35
+ end; self.instance_eval { alias reset clear } # === Header.reset
36
+
37
+ # ========================================================================= #
38
+ # === Cyberweb::Header.run
39
+ # ========================================================================= #
40
+ def self.run(i)
41
+ send @size, i.to_s # Invoke .send(@size) here.
42
+ end
43
+
44
+ # ========================================================================= #
45
+ # === Cyberweb::Header.size=
46
+ #
47
+ # Usage example:
48
+ #
49
+ # Header.size = 'h2'
50
+ #
51
+ # ========================================================================= #
52
+ def self.size=(i = 1)
53
+ case i # Easier to work on Integers.
54
+ when 0, 1, 'h1'
55
+ i = :h1
56
+ when 2, 'h2'
57
+ i = :h2
58
+ when 3, 'h3'
59
+ i = :h3
60
+ when 4, 'h4'
61
+ i = :h4
62
+ when 5, 'h5'
63
+ i = :h5
64
+ when 6, 'h6'
65
+ i = :h6
66
+ end
67
+ @size = i
68
+ end
69
+
70
+ end
71
+
72
+ # =========================================================================== #
73
+ # === header
74
+ #
75
+ # This will make a header. Currently this is done via a call to h1().
76
+ # =========================================================================== #
77
+ def header(i = '')
78
+ Header.run(i)
79
+ end
80
+
81
+ end; end
@@ -0,0 +1,413 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === Cyberweb::PredefinedMethods
6
+ #
7
+ # The code residing here can be called via the method
8
+ # enable_predefined_methods(), or the alias maddons().
9
+ # =========================================================================== #
10
+ # require 'cyberweb/predefined/predefined_methods.rb'
11
+ # Cyberweb::PredefinedMethods.command2?
12
+ # =========================================================================== #
13
+ module Cyberweb
14
+
15
+ module PredefinedMethods # === Cyberweb::PredefinedMethods
16
+
17
+ require 'cyberweb/predefined_and_freeform_methods/header.rb'
18
+ require 'cyberweb/predefined_and_freeform_methods/hash_css_class_to_use.rb'
19
+ require 'cyberweb/predefined_and_freeform_methods/hash_registered_extra_tags.rb'
20
+ require 'cyberweb/predefined_and_freeform_methods/frage.rb' # bl $RUBY_CYBERWEB/predefined/frage.rb
21
+ require 'cyberweb/classes/simple_form.rb'
22
+
23
+ # ========================================================================= #
24
+ # Set the default once.
25
+ # ========================================================================= #
26
+ Cyberweb::PredefinedMethods.set_frage_css
27
+
28
+ # ========================================================================= #
29
+ # === ARRAY_FRAGEN
30
+ #
31
+ # Unsure whether this is required.
32
+ # ========================================================================= #
33
+ ARRAY_FRAGEN = []
34
+
35
+ # ========================================================================= #
36
+ # === Cyberweb::PredefinedMethods.cmd=
37
+ #
38
+ # Modify the Hash that stores which css classes we shall use.
39
+ # ========================================================================= #
40
+ def self.cmd=(i)
41
+ hash_css_class_to_use?[:command1] = i
42
+ end
43
+
44
+ # ========================================================================= #
45
+ # === answer
46
+ # ========================================================================= #
47
+ def answer(this_question)
48
+ e this_question,
49
+ ::Cyberweb::PredefinedMethods.css_class_to_use?[:answer]
50
+ end; alias antwort answer # === antwort
51
+
52
+ # ========================================================================= #
53
+ # === addon_header
54
+ # ========================================================================= #
55
+ def addon_header(
56
+ i = '',
57
+ optional_css_class = '',
58
+ optional_id = '',
59
+ optional_css_style = ''
60
+ )
61
+ h1 i, optional_css_class, optional_id, optional_css_style
62
+ end
63
+
64
+ # ========================================================================= #
65
+ # === col_cmd
66
+ # ========================================================================= #
67
+ def col_cmd(
68
+ i = '', optional_id = ''
69
+ )
70
+ ee(
71
+ i, ::Cyberweb::PredefinedMethods.css_class_to_use?[:col_cmd], optional_id
72
+ )
73
+ end; alias col col_cmd # === col
74
+
75
+ # ========================================================================= #
76
+ # === frage (frage tag)
77
+ #
78
+ # Whenever we use this method, we will also store in the constant
79
+ # ARRAY_FRAGEN.
80
+ #
81
+ # Note that "frage" is german for "question", hence the alias below.
82
+ #
83
+ # Usage example for this method here:
84
+ #
85
+ # frage 'What is this?'
86
+ #
87
+ # ========================================================================= #
88
+ def frage(
89
+ i,
90
+ optional_css = Frage.to_s,
91
+ use_dot = true
92
+ )
93
+ ARRAY_FRAGEN << i
94
+ result = ''.dup
95
+ result << dot(101) if use_dot
96
+ result << i
97
+ h2(result, optional_css) # Or H[:question].
98
+ end; alias question frage # === question
99
+
100
+ # ========================================================================= #
101
+ # === Cmd
102
+ # ========================================================================= #
103
+ class Cmd
104
+
105
+ # ======================================================================= #
106
+ # === Cmd.append
107
+ #
108
+ # This method can be used to append to the H[:command1] hash.
109
+ #
110
+ # The ' ' will be mandatory for now.
111
+ # ======================================================================= #
112
+ def self.append(i)
113
+ if ::Cyberweb::PredefinedMethods.css_class_to_use?[:command1].frozen?
114
+ ::Cyberweb::PredefinedMethods.css_class_to_use?[:command1] =
115
+ ::Cyberweb::PredefinedMethods.css_class_to_use?[:command1].dup
116
+ end
117
+ ::Cyberweb::PredefinedMethods.css_class_to_use?[:command1] << " #{i}"
118
+ end; self.instance_eval { alias append_this_css append } # === Cmd.append_this_css
119
+
120
+ end
121
+
122
+ # ========================================================================= #
123
+ # === Cmd2
124
+ # ========================================================================= #
125
+ class Cmd2
126
+
127
+ # ======================================================================= #
128
+ # === Cmd2.append
129
+ #
130
+ # This method can be used to append to the H[:command2] hash.
131
+ #
132
+ # The ' ' will be mandatory for now.
133
+ # ======================================================================= #
134
+ def self.append(i)
135
+ ::Cyberweb::PredefinedMethods.css_class_to_use?[:command2] << " #{i}"
136
+ end; self.instance_eval { alias append_this_css append } # === Cmd2.append_this_css
137
+
138
+ end
139
+
140
+ # ========================================================================= #
141
+ # === Cyberweb::PredefinedMethods.command2?
142
+ #
143
+ # Simpler query over the Hash dataset here. We will use this method
144
+ # to return the corresponding CSS-dataset.
145
+ # ========================================================================= #
146
+ def self.command2?
147
+ ::Cyberweb::PredefinedMethods.css_class_to_use?[:command2]
148
+ end
149
+
150
+ # ========================================================================= #
151
+ # === Cyberweb::PredefinedMethods.command3?
152
+ # ========================================================================= #
153
+ def self.command3?
154
+ ::Cyberweb::PredefinedMethods.css_class_to_use?[:command3]
155
+ end
156
+
157
+ # ========================================================================= #
158
+ # === command2?
159
+ # ========================================================================= #
160
+ def command2?
161
+ ::Cyberweb::PredefinedMethods.command2?
162
+ end
163
+
164
+ # ========================================================================= #
165
+ # === CMD2
166
+ # ========================================================================= #
167
+ CMD2 = command2? # A reference to the above.
168
+
169
+ # ========================================================================= #
170
+ # === command3?
171
+ # ========================================================================= #
172
+ def command3?
173
+ ::Cyberweb::PredefinedMethods.css_class_to_use?[:command3] # We delegate towards HASH_CSS_CLASS_TO_USE here.
174
+ end
175
+
176
+ # ========================================================================= #
177
+ # === cmd2
178
+ #
179
+ # This method will require that the method command2? will work.
180
+ # ========================================================================= #
181
+ def cmd2(
182
+ i = '', optional_id = ''
183
+ )
184
+ padl2em(i, command2?, optional_id) # The second argument here is the id.
185
+ end; alias rc2 cmd2 # === rc2
186
+ alias command2 cmd2 # === command2
187
+
188
+ # ========================================================================= #
189
+ # === cmdbold
190
+ # ========================================================================= #
191
+ def cmdbold(i = '')
192
+ cmd(i, 'BOLD mars1em')
193
+ end
194
+
195
+ # ========================================================================= #
196
+ # === cmd_pre
197
+ # ========================================================================= #
198
+ def cmd_pre(i)
199
+ splitted = i.split(N)
200
+ splitted.each {|entry| cmd(entry) }
201
+ end; alias pre_cmd cmd_pre # === pre_cmd
202
+
203
+ # ========================================================================= #
204
+ # === Cyberweb::PredefinedMethods.cmd?
205
+ #
206
+ # This method will "tap" into the predefined css_class, for the
207
+ # Symbol :command1. This is the one that will be used for CSS
208
+ # in the method cmd().
209
+ # ========================================================================= #
210
+ def self.cmd?
211
+ ::Cyberweb::PredefinedMethods.css_class_to_use?[:command1]
212
+ end
213
+
214
+ # ========================================================================= #
215
+ # === cmd?
216
+ #
217
+ # This method also has a constant as an "alias" to its value.
218
+ # ========================================================================= #
219
+ def cmd?
220
+ ::Cyberweb::PredefinedMethods.cmd?
221
+ end; CMD = cmd?
222
+
223
+ # ========================================================================= #
224
+ # === cmd (cmd tag)
225
+ #
226
+ # This is a predefined method, called cmd().
227
+ #
228
+ # It will call the method css.optional, which is defined in the file
229
+ # cyberweb/toplevel_methods/css.rb.
230
+ #
231
+ # By default, the return value obtained from css.optional corresponds to
232
+ # 'marl1em BO' - in other words, be bold and use a "margin-left: 1em"
233
+ # style in CSS.
234
+ #
235
+ # Further usage example:
236
+ #
237
+ # css.optional = 'oki dokie'
238
+ # cmd 'Test'
239
+ # css.optional = 'bla'
240
+ # cmd 'Test'
241
+ #
242
+ # ========================================================================= #
243
+ def cmd(
244
+ i = '',
245
+ css_class = cmd?, # <- This used to be css.optional but I am not sure if we will keep on using css.optional there.
246
+ optional_id = '',
247
+ optional_css_style = ''
248
+ )
249
+ s2(i, css_class, optional_id, optional_css_style)
250
+ br
251
+ end; alias command cmd # === command
252
+ alias cmd1 cmd # === cmd1
253
+
254
+ # ========================================================================= #
255
+ # === cmd3
256
+ # ========================================================================= #
257
+ def cmd3(
258
+ i = '', optional_css = command3?, optional_id = ''
259
+ )
260
+ padl3em(i, optional_css, optional_id) # The second argument here is the id.
261
+ end; alias rc3 cmd3 # === rc3
262
+ alias command3 cmd3 # === command3
263
+
264
+ # ========================================================================= #
265
+ # === cmd4
266
+ # ========================================================================= #
267
+ def cmd4(i = '', optional_id = '')
268
+ marl4em(i, '', optional_id) # The second argument here is the id.
269
+ end; alias rc4 cmd4 # === rc4
270
+
271
+ # ========================================================================= #
272
+ # === cmd5
273
+ # ========================================================================= #
274
+ def cmd5(i = '', optional_id = '')
275
+ marl5em(i, '', optional_id) # The second argument here is the id.
276
+ end; alias rc5 cmd5 # === rc5
277
+
278
+ end # (end tag)
279
+
280
+ # ========================================================================= #
281
+ # === Cyberweb.append_to_cmd1
282
+ #
283
+ # This method can be used to append to "cmd1" aka :command1.
284
+ #
285
+ # Usage example:
286
+ #
287
+ # Cyberweb.append_to_cmd1 :slateblue
288
+ #
289
+ # ========================================================================= #
290
+ def self.append_to_cmd1(i = 'marl2em')
291
+ old_content = ::Cyberweb::PredefinedMethods.css_class_to_use[:command1]
292
+ old_content = old_content.dup if old_content.frozen?
293
+ old_content << (" #{i.to_s.strip}").squeeze(' ')
294
+ ::Cyberweb::PredefinedMethods.css_class_to_use[:command1] = old_content
295
+ end
296
+
297
+ # ========================================================================= #
298
+ # === append_to_cmd1
299
+ #
300
+ # This method will append to cmd1.
301
+ # ========================================================================= #
302
+ def append_to_cmd1(
303
+ i = 'marl2em'
304
+ )
305
+ ::Cyberweb.append_to_cmd1(i)
306
+ end
307
+
308
+ # ========================================================================= #
309
+ # === empty_cmd1
310
+ # ========================================================================= #
311
+ def empty_cmd1
312
+ ::Cyberweb::PredefinedMethods.css_class_to_use[:command1] = ''
313
+ end
314
+
315
+ # ========================================================================= #
316
+ # === Cyberweb.cmd2=
317
+ #
318
+ # This allows us to ad-hoc redefine cmd2.
319
+ #
320
+ # For instance:
321
+ #
322
+ # Cyberweb.cmd2 = CMD2
323
+ #
324
+ # ========================================================================= #
325
+ def self.cmd2=(i)
326
+ ::Cyberweb::PredefinedMethods.css_class_to_use[:command2] = i
327
+ end
328
+
329
+ # ========================================================================= #
330
+ # === return_form_object
331
+ #
332
+ # Create a form object.
333
+ # ========================================================================= #
334
+ def return_form_object
335
+ ::Cyberweb.simple_form ||= ::Cyberweb::SimpleForm.new # in simple_form/simple_form.rb
336
+ end; alias simple_form return_form_object # === simple_form
337
+
338
+ # ========================================================================= #
339
+ # === css
340
+ #
341
+ # Also make it easer to get a handle towards the global CSS object via the
342
+ # global css-handle. However, we do not seem to really use this at all.
343
+ # Seems indeed to not be used at all. What was the idea behind this anyway?
344
+ # No idea, and I did not write it down - so I commented it as of Sep 2014.
345
+ #
346
+ # This is used in e. g. foundation, for stuff like:
347
+ #
348
+ # css.optional
349
+ #
350
+ # ========================================================================= #
351
+ def css(optional_but_irrelevant_argument = '')
352
+ ::Cyberweb.css_object = ::Cyberweb::Css.new if ::Cyberweb.css_object.nil? # Create a new one in this case.
353
+ ::Cyberweb.css_object
354
+ end # alias c css # <--- We can not use this because "c" is already aliased onto "close".
355
+
356
+ # ========================================================================= #
357
+ # === Cyberweb.hash_registered_extra_tags?
358
+ # ========================================================================= #
359
+ def self.hash_registered_extra_tags?
360
+ ::Cyberweb::PredefinedMethods.hash_registered_extra_tags?
361
+ end
362
+
363
+ # ========================================================================= #
364
+ # === Cyberweb.style_cmd1
365
+ #
366
+ # This method can be used to globally re-"style" the CSS used for
367
+ # command.
368
+ # ========================================================================= #
369
+ def self.style_cmd1(i)
370
+ ::Cyberweb::PredefinedMethods.css_class_to_use[:command1] = i
371
+ end
372
+
373
+ # ========================================================================= #
374
+ # === Cyberweb.css_for_cmd?
375
+ # ========================================================================= #
376
+ def self.css_for_cmd?
377
+ ::Cyberweb::PredefinedMethods.css_class_to_use[:command1]
378
+ end
379
+
380
+ # ========================================================================= #
381
+ # === Cyberweb.css_for_cmd=
382
+ # ========================================================================= #
383
+ def self.css_for_cmd=(i)
384
+ ::Cyberweb::PredefinedMethods.css_class_to_use[:command1] = i
385
+ end
386
+
387
+ # ========================================================================= #
388
+ # === Cyberweb.cmd?
389
+ # ========================================================================= #
390
+ def self.cmd?
391
+ ::Cyberweb::PredefinedMethods.cmd?
392
+ end
393
+
394
+ # ========================================================================= #
395
+ # === Cyberweb.enable_predefined_methods
396
+ #
397
+ # This method will enable the predefined methods addon. For now we will
398
+ # require a definite enable action by the user to make use of this
399
+ # method, but in the future we may initialize this on startup.
400
+ #
401
+ # Methods such as cmd() and similar will be enabled as a result.
402
+ #
403
+ # Note that these methods will reside in the file:
404
+ #
405
+ # bl $CYBERWEB/predefined_methods/predefined_methods.rb
406
+ #
407
+ # ========================================================================= #
408
+ def self.enable_predefined_methods
409
+ include ::Cyberweb::PredefinedMethods
410
+ end; self.instance_eval { alias enable_addons enable_predefined_methods }
411
+ self.instance_eval { alias maddons enable_predefined_methods } # === Cyberweb.maddons
412
+
413
+ end
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen-string-literal: true
4
+ # =========================================================================== #
5
+ # This file includes the primary constant called PROJECT_BASE_DIRECTORY.
6
+ #
7
+ # It also includes several "aliases" to this constant, and a query-method
8
+ # to ask for its value.
9
+ #
10
+ # The constant PROJECT_BASE_DIRECTORY in itself refers to the
11
+ # base-directory of this ruby project, which is called 'web_object'.
12
+ # =========================================================================== #
13
+ # require 'cyberweb/project/project.rb'
14
+ # =========================================================================== #
15
+ module Cyberweb
16
+
17
+ # ========================================================================= #
18
+ # === PROJECT_BASE_DIR (project tag)
19
+ #
20
+ # Get a handle onto the main directory of the project. If possible, I
21
+ # recommend to use PROJECT_BASE_DIR consistently - but for various
22
+ # reasons, the alternatives are also used.
23
+ #
24
+ # This constant will be equivalent to a String such as:
25
+ #
26
+ # "/usr/lib/ruby/site_ruby/2.5.0/web_object/"
27
+ #
28
+ # ========================================================================= #
29
+ PROJECT_BASE_DIRECTORY =
30
+ File.absolute_path("#{__dir__}/..")+'/'
31
+ PROJECT_BASE_DIR = PROJECT_BASE_DIRECTORY # === PROJECT_BASE_DIR
32
+ MAIN_DIR = PROJECT_BASE_DIR # MAIN_DIR is synonymous with PROJECT_BASE_DIR
33
+
34
+ # ========================================================================= #
35
+ # === ABSOLUTE_PROJECT_BASE_DIRECTORY
36
+ # ========================================================================= #
37
+ ABSOLUTE_PROJECT_BASE_DIRECTORY =
38
+ File.absolute_path("#{__dir__}/..")+'/lib/cyberweb/'
39
+
40
+ # ========================================================================= #
41
+ # === Cyberweb.project_base_directory?
42
+ #
43
+ # The location where our project will be installed to, on the user's
44
+ # machine, via a top-level query method.
45
+ # ========================================================================= #
46
+ def self.project_base_directory?
47
+ PROJECT_BASE_DIRECTORY
48
+ end; self.instance_eval { alias project_base_dir? project_base_directory? } # === Cyberweb.project_base_dir?
49
+ self.instance_eval { alias main_dir? project_base_directory? } # === Cyberweb.main_dir?
50
+ self.instance_eval { alias project_root_directory? project_base_directory? } # === Cyberweb.project_root_directory?
51
+ self.instance_eval { alias project_root_dir? project_base_directory? } # === Cyberweb.project_root_dir?
52
+
53
+ # ========================================================================= #
54
+ # === base_dir?
55
+ # ========================================================================= #
56
+ def base_dir?
57
+ Cyberweb.project_base_dir?
58
+ end
59
+
60
+ # ========================================================================= #
61
+ # === PROJECT_YAML_DIRECTORY
62
+ #
63
+ # The constant PROJECT_YAML_DIRECTORY tells us where we can find the
64
+ # yaml/ directory for this project.
65
+ #
66
+ # You can use a method called Cyberweb.project_yaml_directory? instead.
67
+ # ========================================================================= #
68
+ PROJECT_YAML_DIRECTORY = "#{PROJECT_BASE_DIRECTORY}yaml/"
69
+
70
+ # ========================================================================= #
71
+ # ==== Cyberweb.yaml_directory?
72
+ #
73
+ # This method will simply return the yaml directory of this project.
74
+ # ========================================================================= #
75
+ def self.yaml_directory?
76
+ PROJECT_YAML_DIRECTORY
77
+ end; self.instance_eval { alias config_directory? yaml_directory? } # === Cyberweb.config_directory?
78
+
79
+ end
80
+
81
+ if __FILE__ == $PROGRAM_NAME
82
+ puts Cyberweb::PROJECT_BASE_DIRECTORY
83
+ puts Cyberweb.project_base_directory?
84
+ puts Cyberweb.yaml_directory?
85
+ end # rb project.rb
@@ -0,0 +1 @@
1
+ This directory will contain helper-code towards Rack.