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,74 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+
5
+ <svg xmlns="http://www.w3.org/2000/svg"
6
+ xmlns:xlink="http://www.w3.org/1999/xlink"
7
+ id="canvas"
8
+ width="2000"
9
+ height="2000"
10
+ onload="init()">
11
+
12
+ <style type="text/css">
13
+ .ellipse
14
+ {
15
+ stroke: red;
16
+ stroke-width: 2;
17
+ fill: blue;
18
+ fill-opacity: 0.1;
19
+ }
20
+
21
+ .axes
22
+ {
23
+ stroke: blue;
24
+ stroke-width: 1;
25
+ }
26
+ </style>
27
+
28
+ <script>
29
+ <![CDATA[
30
+ var COLS = 4;
31
+ var ROWS = 4;
32
+ var RX = 80;
33
+ var RY = 30;
34
+
35
+ function init()
36
+ {
37
+ var canvas = document.getElementById("canvas");
38
+
39
+ var angleStep = 360.0/(COLS*ROWS);
40
+ var spacing = 2*Math.max(RX, RY)+10;
41
+ for (var c = 0; c < COLS; ++c) {
42
+ for (var r = 0; r < ROWS; ++r) {
43
+ var ellipse = createEllipse((c+ COLS*r)*angleStep, spacing*(c+0.5), spacing*(r+0.5), RX, RY);
44
+ canvas.appendChild(ellipse);
45
+ }
46
+ }
47
+ }
48
+
49
+ function createEllipse(phi, x, y, rx, ry)
50
+ {
51
+ var degPerRad = Math.PI/180.0;
52
+ var e1x = rx*Math.cos(phi*degPerRad);
53
+ var e1y = rx*Math.sin(phi*degPerRad);
54
+ var e2x = ry*Math.cos((phi+90)*degPerRad);
55
+ var e2y = ry*Math.sin((phi+90)*degPerRad);
56
+
57
+ var axes = document.createElementNS("http://www.w3.org/2000/svg", "path");
58
+ axes.setAttribute("class", "axes");
59
+ axes.setAttribute("d", "M"+x+","+y+" l"+e1x+","+e1y+"M"+x+","+y+" l"+e2x+","+e2y);
60
+ var ellipse = document.createElementNS("http://www.w3.org/2000/svg", "path");
61
+ ellipse.setAttribute("class", "ellipse");
62
+ ellipse.setAttribute("d", "M" + (x+e1x) + "," + (y+e1y) +
63
+ "A" + rx + "," + ry + " " + phi + " 0,1 " + (x+e2x) + "," + (y+e2y) +
64
+ "A" + rx + "," + ry + " " + phi + " 1,1 " + (x+e1x) + "," + (y+e1y) +"z");
65
+
66
+ var group = document.createElementNS("http://www.w3.org/2000/svg", "g");
67
+ group.appendChild(axes);
68
+ group.appendChild(ellipse);
69
+ return group;
70
+ }
71
+
72
+ ]]>
73
+ </script>
74
+ </svg>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+
5
+ <svg width="100%" height="100%" version="1.1"
6
+ xmlns="http://www.w3.org/2000/svg">
7
+
8
+ <rect x="20" y="20" width="250" height="250"
9
+ style="fill:blue;stroke:pink;stroke-width:5;
10
+ fill-opacity:0.1;stroke-opacity:0.9"/>
11
+
12
+ </svg>
@@ -0,0 +1,42 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+
5
+ <svg width="100%" height="100%" version="1.1"
6
+ xmlns="http://www.w3.org/2000/svg">
7
+
8
+ <defs>
9
+ <linearGradient id="MyGradient" gradientUnits="userSpaceOnUse" x1="100" y1="0" x2="300" y2="0">
10
+ <stop offset="0" style="stop-color:#000000"/>
11
+ <stop offset=".67" style="stop-color:#ffff00"/>
12
+ <stop offset="1" style="stop-color:#000000"/>
13
+ </linearGradient>
14
+ <filter id="normal">
15
+ <feBlend mode="normal" in2="BackgroundImage"/>
16
+ </filter>
17
+ <filter id="multiply">
18
+ <feBlend mode="multiply" in2="BackgroundImage"/>
19
+ </filter>
20
+ <filter id="screen">
21
+ <feBlend mode="screen" in2="BackgroundImage"/>
22
+ </filter>
23
+ <filter id="darken">
24
+ <feBlend mode="darken" in2="BackgroundImage"/>
25
+ </filter>
26
+ <filter id="lighten">
27
+ <feBlend mode="lighten" in2="BackgroundImage"/>
28
+ </filter>
29
+ </defs>
30
+
31
+ <g style="enable-background: new">
32
+ <rect x="40" y="20" width="300" height="450" style="fill:url(#MyGradient)"/>
33
+ <g style="font-size:75;fill:#888888;fill-opacity:.6">
34
+ <text x="50" y="90" style="filter:url(#normal)">Normal</text>
35
+ <text x="50" y="180" style="filter:url(#multiply)">Multiply</text>
36
+ <text x="50" y="270" style="filter:url(#screen)">Screen</text>
37
+ <text x="50" y="360" style="filter:url(#darken)">Darken</text>
38
+ <text x="50" y="450" style="filter:url(#lighten)">Lighten</text>
39
+ </g>
40
+ </g>
41
+
42
+ </svg>
@@ -0,0 +1,131 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/a.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/toplevel_methods/ee.rb'
10
+
11
+ # ========================================================================= #
12
+ # === Cyberweb.parse_a
13
+ # ========================================================================= #
14
+ def self.parse_a(
15
+ i = 'FileUtils.copyDirectory(): http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html#copyDirectory%28java.io.File,%20java.io.File%29'
16
+ )
17
+ if i.include? ':'
18
+ splitted = i.split(':')
19
+ content = splitted.first
20
+ link_target = splitted.last
21
+ a(
22
+ href: link_target,
23
+ content: content
24
+ )
25
+ end
26
+ end
27
+
28
+ # ========================================================================= #
29
+ # === Cyberweb.a (link tag, a tag)
30
+ #
31
+ # This method will delegate onto the HtmlTags project, after doing
32
+ # some pre-processing. It will create the HTML tag that governs
33
+ # HTML-related links.
34
+ #
35
+ # a() is a shortcut and means to "anchor" a link into a html document.
36
+ # link() is a convenient alias to this method, in my opinion. In plain
37
+ # HTML, this would correspond to a <a> html tag.
38
+ #
39
+ # Thus, this method will effectively create a link to a specific
40
+ # location.
41
+ #
42
+ # If the second argument, `link_description`, is set to :n then
43
+ # we will use link_hyperref as name. This argument also accepts some
44
+ # special argument-names, such as SELF_BASE - see the body of this
45
+ # method for a full explanation of these.
46
+ #
47
+ # Specific Usage Examples:
48
+ #
49
+ # Cyberweb.link('Some Site','www.xyllomer.de','s1em','','id','aaaa',1)
50
+ # link hyperref = 'www.xyllomer.de', description = 'StdLink', linebreak = 0,
51
+ # link 'Some Desc','www.xyllomer.de','css s3px','style','id',1
52
+ # Cyberweb.a(content: 'https://en.wikipedia.org/wiki/Bacteriochlorophyll', description: 'SELF')
53
+ #
54
+ # ========================================================================= #
55
+ def self.a(*i)
56
+ arguments = i.flatten
57
+ # ======================================================================= #
58
+ # The old order of the arguments was:
59
+ #
60
+ # link_hyperref = 'www.google.at',
61
+ # link_description = 'SELF',
62
+ # default_linebreak = 1,
63
+ # css_class = A.to_s, # Use the default CSS class here.
64
+ # the_id = '',
65
+ # css_style = '',
66
+ # use_js = 0,
67
+ # target = '',
68
+ # title = ''
69
+ #
70
+ # ======================================================================= #
71
+ arguments[0] = sanitize_url(arguments[0]).to_s # pass link_hyperref through sanitize_url()
72
+ if arguments[2] == :br # Use an exception here.
73
+ arguments[2] = :make_newline
74
+ end
75
+ yield if block_given? # yield extra params
76
+ # ======================================================================= #
77
+ # In the past we delegate onto string_link(), but we will use
78
+ # HtmlTags.a() instead as of 31.01.2020.
79
+ # ======================================================================= #
80
+ ee HtmlTags.a(arguments)
81
+ end; self.instance_eval { alias link a } # === Cyberweb.link
82
+
83
+ # ========================================================================= #
84
+ # === a
85
+ # ========================================================================= #
86
+ def a(*i, &block)
87
+ ::Cyberweb.a(i, &block)
88
+ end; alias link a # === link
89
+
90
+ # ========================================================================= #
91
+ # === Cyberweb.abr
92
+ #
93
+ # This method combines the <a> tag with the <br> tag.
94
+ # ========================================================================= #
95
+ def self.abr(*i)
96
+ ::Cyberweb.a(i)
97
+ ::Cyberweb.br
98
+ end
99
+
100
+ # ========================================================================= #
101
+ # === abr
102
+ # ========================================================================= #
103
+ def abr(*i, &block)
104
+ ::Cyberweb.abr(i, &block)
105
+ end
106
+
107
+ # ========================================================================= #
108
+ # === Cyberweb.linkbr
109
+ #
110
+ # This method combines a() with <br> essentially.
111
+ # ========================================================================= #
112
+ def self.linkbr(*i)
113
+ ::Cyberweb.a(i)
114
+ br
115
+ end
116
+
117
+ # ========================================================================= #
118
+ # === linkbr
119
+ # ========================================================================= #
120
+ def linkbr(*i)
121
+ ::Cyberweb.linkbr(i)
122
+ end
123
+
124
+ # ========================================================================= #
125
+ # === parse_a
126
+ # ========================================================================= #
127
+ def parse_a(i = '')
128
+ ::Cyberweb.parse_a(i)
129
+ end
130
+
131
+ end
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ module Cyberweb
6
+
7
+ # ========================================================================= #
8
+ # === Cyberweb.anmerkung
9
+ #
10
+ # This method will do a little notification on the website.
11
+ #
12
+ # The default css class is assigned through the object css.
13
+ # This object is defined in the file css.rb.
14
+ # ========================================================================= #
15
+ def self.anmerkung(
16
+ i = '',
17
+ css_class = css.optional, # Obtain the default css-class.
18
+ optional_id = '',
19
+ optional_css_style = '',
20
+ use_this_as_image = sg(:anmerkung, 'marr5px')
21
+ )
22
+ anmerkung_image = use_this_as_image
23
+ if css_class.is_a? Hash
24
+ if css_class.has_key? :margin_left
25
+ optional_css_style << " margin-left: #{css_class.delete(:margin_left)}"
26
+ css_class = ''
27
+ end
28
+ end
29
+ case css_class
30
+ when :error_box # Then we display it in an error-box layout.
31
+ error_box(i, css_class, optional_id, optional_css_style) {
32
+ { use_this_as_image: anmerkung_image }
33
+ }
34
+ else # Else assume this to be a <span> tag, followed by a <br> tag.
35
+ e "#{anmerkung_image}#{i}",
36
+ css_class, optional_id, optional_css_style
37
+ end
38
+ end; self.instance_eval { alias anm anmerkung } # === Cyberweb.anm (anm tag)
39
+ self.instance_eval { alias annotation anmerkung } # === Cyberweb.annotation
40
+
41
+ # ========================================================================= #
42
+ # === anmerkung
43
+ # ========================================================================= #
44
+ def anmerkung(
45
+ a = '', b = css.optional, c = '', d = ''
46
+ )
47
+ ::Cyberweb.anmerkung(a, b, c, d)
48
+ end; alias anm anmerkung # === anm
49
+ alias annotation anmerkung # === annotation
50
+
51
+ # ========================================================================= #
52
+ # === doppel_anm
53
+ #
54
+ # This is as "anmerkung" but with two anmerkung_images.
55
+ # ========================================================================= #
56
+ def doppel_anm(
57
+ i = '',
58
+ css_class = css.optional, # Obtain the default css-class.
59
+ optional_id = '',
60
+ optional_css_style = ''
61
+ )
62
+ anmerkung_image = sg(:anmerkung, 'marr5px')
63
+ e "#{anmerkung_image}#{i} #{anmerkung_image}",
64
+ css_class, optional_id, optional_css_style
65
+ end
66
+
67
+ end
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/audio.rb'
6
+ # Cyberweb.audio
7
+ # =========================================================================== #
8
+ module Cyberweb
9
+
10
+ # ========================================================================= #
11
+ # === Cyberweb.audio
12
+ #
13
+ # Use this method to embed audio into a webpage, via HTML5.
14
+ #
15
+ # Example documentation for the <audio> tag can be found here:
16
+ #
17
+ # https://www.w3schools.com/tags/tag_audio.asp
18
+ # https://developer.mozilla.org/en/docs/Web/HTML/Element/audio
19
+ #
20
+ # In pure HTML5, we could generate code such as the following:
21
+ #
22
+ # <audio src="song.ogg" controls="controls">
23
+ # </audio>
24
+ #
25
+ # All <audio> HTML 5 Attributes:
26
+ #
27
+ # Attribute Value Description
28
+ #
29
+ # autoplay autoplay Specifies that the audio will start playing as soon
30
+ # as it is ready.
31
+ # controls controls Specifies that controls will be displayed, i.e. a
32
+ # play button.
33
+ # loop loop Specifies that audio will start playing again in
34
+ # a loop when end is reached
35
+ # preload preload Specifies that audio will be loaded at page load,
36
+ # and ready to run. Ignored if autoplay is present.
37
+ # src url Specifies the URL of the audio to play
38
+ #
39
+ # To use this in my setup:
40
+ #
41
+ # audio '/Depot/Audio/Vivaldi_4Seasons_Winter.mp3'
42
+ #
43
+ # ========================================================================= #
44
+ def self.audio(
45
+ url = '',
46
+ optional_autoplay = false
47
+ )
48
+ result = HtmlTags.audio(url, optional_autoplay)
49
+ return result if result
50
+ end
51
+
52
+ # ========================================================================= #
53
+ # === audio
54
+ # ========================================================================= #
55
+ def audio(a = '', b = false)
56
+ ::Cyberweb.audio(a,b)
57
+ end
58
+
59
+ 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/bold.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ require 'cyberweb/toplevel_methods/sbr.rb'
10
+ require 'cyberweb/html_tags/span.rb'
11
+
12
+ # ========================================================================= #
13
+ # === bold
14
+ # ========================================================================= #
15
+ def bold(a, b = '', c = '', d = '')
16
+ ::Cyberweb.bold(a, b, c, d)
17
+ end; alias b bold # === b
18
+
19
+ # ========================================================================= #
20
+ # === Cyberweb.bold
21
+ #
22
+ # This will output whatever is passed in BOLD fashion. b is an alias
23
+ # to this method.
24
+ # ========================================================================= #
25
+ def self.bold(
26
+ text, css_class = '', the_id = '', css_style = ''
27
+ )
28
+ if css_class.include? ' BO '
29
+ css_class.sub!(/ BO /,' ') # We have to remove any 'BO' class.
30
+ end
31
+ s(text, 'span', 'BO '+css_class, the_id, css_style)
32
+ end; self.instance_eval { alias b bold } # === Cyberweb.b
33
+
34
+ # ========================================================================= #
35
+ # === boldbr
36
+ #
37
+ # This will output whatever is passed in BOLD fashion. bbr is an alias
38
+ # to it.
39
+ # ========================================================================= #
40
+ def boldbr(text,
41
+ css_class = '', the_id = '', css_style = ''
42
+ )
43
+ bold(text, 'BO '+css_class, the_id, css_style)
44
+ br
45
+ end; alias bbr boldbr
46
+ alias bsbr boldbr # bsbr because of sbr, and prepending a b to it is often easier.
47
+
48
+ # ========================================================================= #
49
+ # === bbr2
50
+ # ========================================================================= #
51
+ def self.bbr2(
52
+ text, css_class = '', the_id = '', css_style = ''
53
+ )
54
+ bold(text, 'BO padl1em '+css_class, the_id, css_style)
55
+ br
56
+ end
57
+
58
+ # ========================================================================= #
59
+ # === bbr2
60
+ # ========================================================================= #
61
+ def bbr2(a, b = '', c = '', d = '')
62
+ ::Cyberweb.bbr2(a, 'BO padl1em '+b, c, d)
63
+ end
64
+
65
+ end
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This file contains toplevel-code that relates to the CGI interface of
6
+ # Cyberweb, which in turn is just copy-paste of ruby's core cgi method.
7
+ # =========================================================================== #
8
+ # require 'cyberweb/toplevel_methods/cgi.rb'
9
+ # =========================================================================== #
10
+ module Cyberweb
11
+
12
+ # ========================================================================= #
13
+ # === cgi?
14
+ # ========================================================================= #
15
+ def cgi?
16
+ ::Cyberweb::CGI.new
17
+ end
18
+
19
+ # ========================================================================= #
20
+ # === query_string?
21
+ # ========================================================================= #
22
+ def query_string?(i = cgi?)
23
+ i.query_string
24
+ end; alias env? query_string? # === env?
25
+
26
+ # ========================================================================= #
27
+ # === load_cgi (cgi tag)
28
+ #
29
+ # Use this to method to load a .cgi file. The input to this method
30
+ # should be a proper .cgi file in question.
31
+ # ========================================================================= #
32
+ def load_cgi(
33
+ i = 'symbols.cgi'
34
+ )
35
+ _ = readlines(i)
36
+ _.shift if _.first.start_with? '#'
37
+ _.shift if _.first.start_with? '#' # kill the first two leading lines if they start with a '#' character.
38
+ _ = _.join
39
+ if block_given?
40
+ yielded = yield
41
+ case yielded
42
+ when :with_border # We want a border.
43
+ div('pad1em padt0_5em marb0_5em','','border: 2px dashed darkseagreen;')
44
+ end
45
+ end
46
+ # eval _ # This was the eval case.
47
+ load(i) # This can take advantage of the input alone.
48
+ if block_given?
49
+ cdiv if yield == :with_border # We close the border properly again.
50
+ end
51
+ end; alias run_cgi load_cgi # === run_cgi
52
+ alias show_cgi load_cgi # === show_cgi
53
+ alias view_cgi_file load_cgi # === view_cgi_file
54
+ alias display_this_cgi_file load_cgi # === display_this_cgi_file
55
+
56
+ # ========================================================================= #
57
+ # === unescape_html
58
+ #
59
+ # Cyberweb.unescape_html('a &lt; 100 &amp; &amp;')
60
+ # ========================================================================= #
61
+ def unescape_html(i)
62
+ ee ::Cyberweb::CGI.unescape_html(i)
63
+ end
64
+
65
+ end
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # Note that CSS can also use an encoding charset, via something like:
6
+ #
7
+ # @charset "UTF-8";
8
+ #
9
+ # =========================================================================== #
10
+ # require 'cyberweb/toplevel_methods/charsets.rb'
11
+ # =========================================================================== #
12
+ module Cyberweb
13
+
14
+ require 'cyberweb/constants/standalone_constants.rb'
15
+
16
+ # ========================================================================= #
17
+ # === Cyberweb.return_utf_charset (utf tag)
18
+ #
19
+ # Return the proper UTF charset in the header. Note that UTF-8 is the
20
+ # default charset for HTML5.
21
+ #
22
+ # This would return the string '<meta charset="UTF-8">'.
23
+ # ========================================================================= #
24
+ def self.return_utf_charset
25
+ "<meta charset=\"UTF-8\">#{NL}"
26
+ end; self.instance_eval { alias return_utf return_utf_charset } # === Cyberweb.return_utf
27
+ self.instance_eval { alias return_unicode_meta return_utf_charset } # === Cyberweb.return_unicode_meta
28
+
29
+ # ========================================================================= #
30
+ # === Cyberweb.return_iso_8859_charset (iso tag)
31
+ # ========================================================================= #
32
+ def self.return_iso_8859_charset
33
+ "<meta charset=\"ISO-8859-1\">#{NL}"
34
+ end; self.instance_eval { alias return_iso return_iso_8859_charset } # === Cyberweb.return_iso
35
+ self.instance_eval { alias return_iso_encoding return_iso_8859_charset } # === Cyberweb.return_iso_encoding
36
+
37
+ # ========================================================================= #
38
+ # === return_iso_8859_charset
39
+ # ========================================================================= #
40
+ def return_iso_8859_charset
41
+ ::Cyberweb.return_iso_8859_charset
42
+ end; alias return_iso return_iso_8859_charset # === return_iso
43
+ alias return_iso_encoding return_iso_8859_charset # === return_iso_encoding
44
+
45
+ # ========================================================================= #
46
+ # === return_utf_charset
47
+ # ========================================================================= #
48
+ def return_utf_charset
49
+ ::Cyberweb.return_utf_charset
50
+ end; alias return_utf return_utf_charset # === return_utf
51
+
52
+ end
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/clear.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === Cyberweb.clear
11
+ #
12
+ # We can use this to clear any predefined-css for any tag. The
13
+ # alternative would be to, e. g., use Div.clear.
14
+ #
15
+ # The name of the tag should be passed to this method.
16
+ #
17
+ # Usage example:
18
+ #
19
+ # Cyberweb.clear :div
20
+ #
21
+ # ========================================================================= #
22
+ def self.clear(
23
+ clear_this_html_tag = :div
24
+ ) # Need to clear the <div> tag again.
25
+ namespace = "::Cyberweb::#{clear_this_html_tag.to_s.capitalize}"
26
+ class_name = Object.const_get(namespace)
27
+ class_name.send :clear
28
+ end; self.instance_eval { alias clear_this_html_tag clear } # === Cyberweb.clear_this_html_tag
29
+
30
+ end
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'cyberweb/toplevel_methods/close.rb'
6
+ # =========================================================================== #
7
+ module Cyberweb
8
+
9
+ # ========================================================================= #
10
+ # === Cyberweb.string_close
11
+ # ========================================================================= #
12
+ def self.string_close(
13
+ i = 'div',
14
+ &block
15
+ )
16
+ i = i.to_s.dup
17
+ if i.include?('"') and i.include?('class')
18
+ i = i.split('class').first.strip
19
+ end
20
+ HtmlTags.close(i, &block) # Delegate towards HtmlTags.
21
+ end; self.instance_eval { alias sclose string_close } # === Cyberweb.sclose
22
+
23
+ # ========================================================================= #
24
+ # === string_close (string close. Closes a html tag. string_close tag)
25
+ #
26
+ # This method will return a closed </tag> string.
27
+ #
28
+ # Does a tiny bit of sanitizing if special tags are applied - this will
29
+ # be done as part of the HtmlTags library.
30
+ #
31
+ # Usage examples:
32
+ #
33
+ # sclose 'div'
34
+ # sclose :div
35
+ #
36
+ # ========================================================================= #
37
+ def string_close(
38
+ i = 'div',
39
+ &block
40
+ )
41
+ ::Cyberweb.string_close(i, &block)
42
+ end; alias sclose string_close # (sclose tag)
43
+
44
+ # ========================================================================= #
45
+ # === Cyberweb.eclose
46
+ #
47
+ # close, c tag. close tag. Invokes sclose(), then outputs the result.
48
+ # ========================================================================= #
49
+ def self.eclose(i, &block)
50
+ ee string_close(i, &block)
51
+ end; self.instance_eval { alias c eclose } # (c tag)
52
+
53
+ # ========================================================================= #
54
+ # === eclose
55
+ #
56
+ # close, c tag. close tag. Invokes sclose(), then outputs the result.
57
+ # ========================================================================= #
58
+ def eclose(i, &block)
59
+ ::Cyberweb.eclose(i, &block)
60
+ end; alias c eclose # (c tag)
61
+
62
+ end