cyberweb 0.8.17 → 0.9.31

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 (419) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +274 -86
  3. data/cyberweb.gemspec +0 -3
  4. data/doc/README.gen +273 -85
  5. data/doc/todo/todo_for_the_cyberweb_project.md +100 -99
  6. data/examples/advanced/draw_circle/draw_circle.cgi +2 -2
  7. data/examples/advanced/simple_calculator.cgi +4 -4
  8. data/examples/css/animated_dodecahedron_example/animated_dodecahedron_example.html +107 -0
  9. data/examples/css/animated_police_box/animated_police_box.html +639 -0
  10. data/examples/css/animated_solar_system/animated_solar_system.html +168 -0
  11. data/examples/css/animated_solar_system/css/styles.css +1592 -0
  12. data/examples/css/animated_solar_system/img/bg-glow.png +0 -0
  13. data/examples/css/animated_solar_system/img/bg-stars.png +0 -0
  14. data/examples/css/animated_solar_system/img/p-earth.png +0 -0
  15. data/examples/css/animated_solar_system/img/p-jupiter.png +0 -0
  16. data/examples/css/animated_solar_system/img/p-mars.png +0 -0
  17. data/examples/css/animated_solar_system/img/p-mercury.png +0 -0
  18. data/examples/css/animated_solar_system/img/p-neptune.png +0 -0
  19. data/examples/css/animated_solar_system/img/p-saturn.png +0 -0
  20. data/examples/css/animated_solar_system/img/p-uranus.png +0 -0
  21. data/examples/css/animated_solar_system/img/p-venus.png +0 -0
  22. data/examples/css/animated_solar_system/img/sun.png +0 -0
  23. data/examples/css/animated_solar_system/js/jquery.min.js +4 -0
  24. data/examples/css/animated_solar_system/js/scripts.js +42 -0
  25. data/examples/css/animated_solar_system/js/scripts.min.js +1 -0
  26. data/examples/css/dozing_bird_example/dozing_bird_example.html +358 -0
  27. data/examples/css/planet_earth_is_rotating/planet_earth_is_rotating.html +130 -0
  28. data/examples/css/simpler_css_clock/simpler_css_clock.html +125 -0
  29. data/examples/html/{href_examples.html → href_examples/href_examples.html} +5 -2
  30. data/examples/html/href_in_pre_tag/href_in_pre_tag.html +39 -0
  31. data/examples/javascript_and_jquery/toggle_visibility_of_elements/toggle_visibility_of_elements.html +35 -0
  32. data/examples/simple/toggle_visibility_example/toggle_visibility_example.cgi +36 -0
  33. data/images/cyberweb_theme.png +0 -0
  34. data/lib/cyberweb/base/misc.rb +20 -13
  35. data/lib/cyberweb/cascading_style_sheets/border.css +61 -49
  36. data/lib/cyberweb/cascading_style_sheets/default.css +17 -8
  37. data/lib/cyberweb/cascading_style_sheets/fonts.css +6 -2
  38. data/lib/cyberweb/cascading_style_sheets/glow_effects.css +5 -5
  39. data/lib/cyberweb/cascading_style_sheets/hover.css +13 -5
  40. data/lib/cyberweb/cascading_style_sheets/margin.css +3 -0
  41. data/lib/cyberweb/cmd/README.md +2 -0
  42. data/lib/cyberweb/cmd/cmd.rb +601 -0
  43. data/lib/cyberweb/constants/constants.rb +16 -0
  44. data/lib/cyberweb/generator/cgi.rb +2 -2
  45. data/lib/cyberweb/html_tags/textarea.rb +54 -23
  46. data/lib/cyberweb/images/standard_images/ADMIN.png +0 -0
  47. data/lib/cyberweb/images/standard_images/AMBULANZ.png +0 -0
  48. data/lib/cyberweb/images/standard_images/ANGRY_SMILEY.png +0 -0
  49. data/lib/cyberweb/images/standard_images/APPROVE.png +0 -0
  50. data/lib/cyberweb/images/standard_images/ARROW_LEFT.png +0 -0
  51. data/lib/cyberweb/images/standard_images/ARROW_RIGHT.png +0 -0
  52. data/lib/cyberweb/images/standard_images/ARROW_TOOLTIP.gif +0 -0
  53. data/lib/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN.png +0 -0
  54. data/lib/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN2.png +0 -0
  55. data/lib/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN3.png +0 -0
  56. data/lib/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN4.png +0 -0
  57. data/lib/cyberweb/images/standard_images/AUSTRIA_FAHNE.jpg +0 -0
  58. data/lib/cyberweb/images/standard_images/AWARD.png +0 -0
  59. data/lib/cyberweb/images/standard_images/AXE.png +0 -0
  60. data/lib/cyberweb/images/standard_images/BACKUP_IMAGE.png +0 -0
  61. data/lib/cyberweb/images/standard_images/BAGGER.png +0 -0
  62. data/lib/cyberweb/images/standard_images/BARS.gif +0 -0
  63. data/lib/cyberweb/images/standard_images/BEGINNER.jpg +0 -0
  64. data/lib/cyberweb/images/standard_images/BEWERTUNG_1.png +0 -0
  65. data/lib/cyberweb/images/standard_images/BEWERTUNG_2.png +0 -0
  66. data/lib/cyberweb/images/standard_images/BEWERTUNG_3.png +0 -0
  67. data/lib/cyberweb/images/standard_images/BEWERTUNG_4.png +0 -0
  68. data/lib/cyberweb/images/standard_images/BEWERTUNG_5.png +0 -0
  69. data/lib/cyberweb/images/standard_images/BEWERTUNG_6.png +0 -0
  70. data/lib/cyberweb/images/standard_images/BIG_STAR.png +0 -0
  71. data/lib/cyberweb/images/standard_images/BIKE.png +0 -0
  72. data/lib/cyberweb/images/standard_images/BIO.png +0 -0
  73. data/lib/cyberweb/images/standard_images/BIOS.gif +0 -0
  74. data/lib/cyberweb/images/standard_images/BLOB.png +0 -0
  75. data/lib/cyberweb/images/standard_images/BLOG.png +0 -0
  76. data/lib/cyberweb/images/standard_images/BLUEARROW.png +0 -0
  77. data/lib/cyberweb/images/standard_images/BLUE_HEAD.gif +0 -0
  78. data/lib/cyberweb/images/standard_images/BLUE_PILL.png +0 -0
  79. data/lib/cyberweb/images/standard_images/BLUME.png +0 -0
  80. data/lib/cyberweb/images/standard_images/BOHRER.png +0 -0
  81. data/lib/cyberweb/images/standard_images/BOOK_CLOSED.png +0 -0
  82. data/lib/cyberweb/images/standard_images/BOOK_OPENED.png +0 -0
  83. data/lib/cyberweb/images/standard_images/BUBBLE.png +0 -0
  84. data/lib/cyberweb/images/standard_images/BUECHER.jpg +0 -0
  85. data/lib/cyberweb/images/standard_images/BUERO_KLAMMER.png +0 -0
  86. data/lib/cyberweb/images/standard_images/BUSINESS.png +0 -0
  87. data/lib/cyberweb/images/standard_images/BUTTON1.gif +0 -0
  88. data/lib/cyberweb/images/standard_images/CAMERA.png +0 -0
  89. data/lib/cyberweb/images/standard_images/CAT.png +0 -0
  90. data/lib/cyberweb/images/standard_images/CAUTION.png +0 -0
  91. data/lib/cyberweb/images/standard_images/CHAOTIC_IMAGE.png +0 -0
  92. data/lib/cyberweb/images/standard_images/CHECKBOX_OFF.png +0 -0
  93. data/lib/cyberweb/images/standard_images/CHECKBOX_ON.png +0 -0
  94. data/lib/cyberweb/images/standard_images/CHEERING_PERSON.png +0 -0
  95. data/lib/cyberweb/images/standard_images/CLOSED.png +0 -0
  96. data/lib/cyberweb/images/standard_images/COMMAND_ICO.png +0 -0
  97. data/lib/cyberweb/images/standard_images/COMPLEX.png +0 -0
  98. data/lib/cyberweb/images/standard_images/COMPONENTS.png +0 -0
  99. data/lib/cyberweb/images/standard_images/COMPUTER.png +0 -0
  100. data/lib/cyberweb/images/standard_images/CONNECTED.png +0 -0
  101. data/lib/cyberweb/images/standard_images/CONTACT.png +0 -0
  102. data/lib/cyberweb/images/standard_images/COPY.png +0 -0
  103. data/lib/cyberweb/images/standard_images/CSS.png +0 -0
  104. data/lib/cyberweb/images/standard_images/CURSOR.png +0 -0
  105. data/lib/cyberweb/images/standard_images/CUTE_BUBBA.png +0 -0
  106. data/lib/cyberweb/images/standard_images/CUTE_MOUSE.png +0 -0
  107. data/lib/cyberweb/images/standard_images/DEVELOP.png +0 -0
  108. data/lib/cyberweb/images/standard_images/DIAMOND_SHELL.png +0 -0
  109. data/lib/cyberweb/images/standard_images/DIE_PERFEKTE_AUSBILDUNG.png +0 -0
  110. data/lib/cyberweb/images/standard_images/DOCUMENTATION.png +0 -0
  111. data/lib/cyberweb/images/standard_images/DOKUMENT.png +0 -0
  112. data/lib/cyberweb/images/standard_images/DOT_01.png +0 -0
  113. data/lib/cyberweb/images/standard_images/DOT_02.png +0 -0
  114. data/lib/cyberweb/images/standard_images/DOT_03.png +0 -0
  115. data/lib/cyberweb/images/standard_images/DOT_04.png +0 -0
  116. data/lib/cyberweb/images/standard_images/DOT_05.png +0 -0
  117. data/lib/cyberweb/images/standard_images/DOT_06.png +0 -0
  118. data/lib/cyberweb/images/standard_images/DOT_07.png +0 -0
  119. data/lib/cyberweb/images/standard_images/DOT_08.png +0 -0
  120. data/lib/cyberweb/images/standard_images/DOT_09.png +0 -0
  121. data/lib/cyberweb/images/standard_images/DOT_10.png +0 -0
  122. data/lib/cyberweb/images/standard_images/DOT_11.png +0 -0
  123. data/lib/cyberweb/images/standard_images/DOT_12.png +0 -0
  124. data/lib/cyberweb/images/standard_images/DOWNLOAD.png +0 -0
  125. data/lib/cyberweb/images/standard_images/DOWNLOAD2.png +0 -0
  126. data/lib/cyberweb/images/standard_images/DOWNLOAD_PACKAGE.png +0 -0
  127. data/lib/cyberweb/images/standard_images/DUCK.png +0 -0
  128. data/lib/cyberweb/images/standard_images/DUCKY.png +0 -0
  129. data/lib/cyberweb/images/standard_images/EINKAUFSKORB.png +0 -0
  130. data/lib/cyberweb/images/standard_images/EINKAUFSWAGEN.png +0 -0
  131. data/lib/cyberweb/images/standard_images/ELLIPSE.png +0 -0
  132. data/lib/cyberweb/images/standard_images/EMAIL_FANCY.png +0 -0
  133. data/lib/cyberweb/images/standard_images/EMAIL_FAVICON.png +0 -0
  134. data/lib/cyberweb/images/standard_images/EMAIL_FAVICON.xpm +176 -0
  135. data/lib/cyberweb/images/standard_images/ENGLISH.jpg +0 -0
  136. data/lib/cyberweb/images/standard_images/ERRORS.png +0 -0
  137. data/lib/cyberweb/images/standard_images/EURO.png +0 -0
  138. data/lib/cyberweb/images/standard_images/EVAL/01_STAR.png +0 -0
  139. data/lib/cyberweb/images/standard_images/EVAL/02_STAR.png +0 -0
  140. data/lib/cyberweb/images/standard_images/EVAL/03_STAR.png +0 -0
  141. data/lib/cyberweb/images/standard_images/EVAL/04_STAR.png +0 -0
  142. data/lib/cyberweb/images/standard_images/EVAL/05_STAR.png +0 -0
  143. data/lib/cyberweb/images/standard_images/EVAL/0x_STAR.png +0 -0
  144. data/lib/cyberweb/images/standard_images/EVAL/1x_STAR.png +0 -0
  145. data/lib/cyberweb/images/standard_images/EVAL/2x_STAR.png +0 -0
  146. data/lib/cyberweb/images/standard_images/EVAL/3x_STAR.png +0 -0
  147. data/lib/cyberweb/images/standard_images/EVAL/4x_STAR.png +0 -0
  148. data/lib/cyberweb/images/standard_images/EXTERNAL_LINK.png +0 -0
  149. data/lib/cyberweb/images/standard_images/EYE.png +0 -0
  150. data/lib/cyberweb/images/standard_images/FAQ.png +0 -0
  151. data/lib/cyberweb/images/standard_images/FERNGLAS.png +0 -0
  152. data/lib/cyberweb/images/standard_images/FLOWER_1.png +0 -0
  153. data/lib/cyberweb/images/standard_images/FLOWER_2.png +0 -0
  154. data/lib/cyberweb/images/standard_images/FLUGZEUG1.jpg +0 -0
  155. data/lib/cyberweb/images/standard_images/FOLDER.png +0 -0
  156. data/lib/cyberweb/images/standard_images/FORK.png +0 -0
  157. data/lib/cyberweb/images/standard_images/FORUM.png +0 -0
  158. data/lib/cyberweb/images/standard_images/FOTOAPPARAT.png +0 -0
  159. data/lib/cyberweb/images/standard_images/FOTO_FAVICON.png +0 -0
  160. data/lib/cyberweb/images/standard_images/FRAGEZEICHEN.jpg +0 -0
  161. data/lib/cyberweb/images/standard_images/FTP.png +0 -0
  162. data/lib/cyberweb/images/standard_images/FUNNY_ELEPHANT.png +0 -0
  163. data/lib/cyberweb/images/standard_images/FUSSBALL.png +0 -0
  164. data/lib/cyberweb/images/standard_images/F/303/204CHER.png +0 -0
  165. data/lib/cyberweb/images/standard_images/GATEWAY.png +0 -0
  166. data/lib/cyberweb/images/standard_images/GB.jpg +0 -0
  167. data/lib/cyberweb/images/standard_images/GENDER_ICON_FEMALE.png +0 -0
  168. data/lib/cyberweb/images/standard_images/GENDER_ICON_MALE.png +0 -0
  169. data/lib/cyberweb/images/standard_images/GERMANY_FLAG.png +0 -0
  170. data/lib/cyberweb/images/standard_images/GERSTE.png +0 -0
  171. data/lib/cyberweb/images/standard_images/GESCHENKBOX.png +0 -0
  172. data/lib/cyberweb/images/standard_images/GET_HELP.png +0 -0
  173. data/lib/cyberweb/images/standard_images/GITARRE.png +0 -0
  174. data/lib/cyberweb/images/standard_images/GOOGLE.png +0 -0
  175. data/lib/cyberweb/images/standard_images/GORILLA.gif +0 -0
  176. data/lib/cyberweb/images/standard_images/GOTHIC_SPACER.png +0 -0
  177. data/lib/cyberweb/images/standard_images/GRADIENT_FILL.gif +0 -0
  178. data/lib/cyberweb/images/standard_images/GRAFIK_SMALL.png +0 -0
  179. data/lib/cyberweb/images/standard_images/GRID_LAYOUT.gif +0 -0
  180. data/lib/cyberweb/images/standard_images/GRINSEN.jpg +0 -0
  181. data/lib/cyberweb/images/standard_images/GUN.png +0 -0
  182. data/lib/cyberweb/images/standard_images/HAKEN.png +0 -0
  183. data/lib/cyberweb/images/standard_images/HALLOWEEN.png +0 -0
  184. data/lib/cyberweb/images/standard_images/HAMMER.png +0 -0
  185. data/lib/cyberweb/images/standard_images/HANGING_MONKEY.png +0 -0
  186. data/lib/cyberweb/images/standard_images/HANG_MAN.png +0 -0
  187. data/lib/cyberweb/images/standard_images/HAPPY_BIRD.png +0 -0
  188. data/lib/cyberweb/images/standard_images/HAPPY_SMILEY.png +0 -0
  189. data/lib/cyberweb/images/standard_images/HDD_EMPTY.png +0 -0
  190. data/lib/cyberweb/images/standard_images/HDD_FULL.png +0 -0
  191. data/lib/cyberweb/images/standard_images/HDD_HALF.png +0 -0
  192. data/lib/cyberweb/images/standard_images/HDD_ONEFOURTH.png +0 -0
  193. data/lib/cyberweb/images/standard_images/HDD_THREEEIGHT.png +0 -0
  194. data/lib/cyberweb/images/standard_images/HDD_THREEFOURTH.png +0 -0
  195. data/lib/cyberweb/images/standard_images/HEART.png +0 -0
  196. data/lib/cyberweb/images/standard_images/HELP.png +0 -0
  197. data/lib/cyberweb/images/standard_images/HOME.gif +0 -0
  198. data/lib/cyberweb/images/standard_images/HONIG.jpg +0 -0
  199. data/lib/cyberweb/images/standard_images/HTML40.png +0 -0
  200. data/lib/cyberweb/images/standard_images/HUHN.gif +0 -0
  201. data/lib/cyberweb/images/standard_images/HUMAN.gif +0 -0
  202. data/lib/cyberweb/images/standard_images/ICONS_COLLECTION1.gif +0 -0
  203. data/lib/cyberweb/images/standard_images/ICONS_COLLECTION2.png +0 -0
  204. data/lib/cyberweb/images/standard_images/ICOSAHEDRON.jpg +0 -0
  205. data/lib/cyberweb/images/standard_images/IE.jpg +0 -0
  206. data/lib/cyberweb/images/standard_images/IMPORTANT_ARROW_LEFT.jpg +0 -0
  207. data/lib/cyberweb/images/standard_images/INTERNAL_LINKS.png +0 -0
  208. data/lib/cyberweb/images/standard_images/IPAD.png +0 -0
  209. data/lib/cyberweb/images/standard_images/ITEM.png +0 -0
  210. data/lib/cyberweb/images/standard_images/KAFFEE.png +0 -0
  211. data/lib/cyberweb/images/standard_images/KARMA.png +0 -0
  212. data/lib/cyberweb/images/standard_images/KEYS.png +0 -0
  213. data/lib/cyberweb/images/standard_images/KLEBSTOFF.png +0 -0
  214. data/lib/cyberweb/images/standard_images/KLEE_BLATT.png +0 -0
  215. data/lib/cyberweb/images/standard_images/KNIFE01.png +0 -0
  216. data/lib/cyberweb/images/standard_images/LARGER_COMPUTER.png +0 -0
  217. data/lib/cyberweb/images/standard_images/LCD.png +0 -0
  218. data/lib/cyberweb/images/standard_images/LEAF.png +0 -0
  219. data/lib/cyberweb/images/standard_images/LEAF2.png +0 -0
  220. data/lib/cyberweb/images/standard_images/LEFT_RIGHT_PFEIL.png +0 -0
  221. data/lib/cyberweb/images/standard_images/LENS.png +0 -0
  222. data/lib/cyberweb/images/standard_images/LEXIKON1.jpg +0 -0
  223. data/lib/cyberweb/images/standard_images/LOCK.png +0 -0
  224. data/lib/cyberweb/images/standard_images/LOSER.gif +0 -0
  225. data/lib/cyberweb/images/standard_images/LUPE.gif +0 -0
  226. data/lib/cyberweb/images/standard_images/MANTIS.png +0 -0
  227. data/lib/cyberweb/images/standard_images/MAXERL.png +0 -0
  228. data/lib/cyberweb/images/standard_images/MESSAGE_BOX_ERROR.png +0 -0
  229. data/lib/cyberweb/images/standard_images/MESSAGE_BOX_INFO.png +0 -0
  230. data/lib/cyberweb/images/standard_images/MESSAGE_BOX_SUCCESS.png +0 -0
  231. data/lib/cyberweb/images/standard_images/MESSAGE_BOX_WARNING.png +0 -0
  232. data/lib/cyberweb/images/standard_images/MICROSOFT.png +0 -0
  233. data/lib/cyberweb/images/standard_images/MINE.png +0 -0
  234. data/lib/cyberweb/images/standard_images/MINI_BAUM1.png +0 -0
  235. data/lib/cyberweb/images/standard_images/MINI_BAUM2.png +0 -0
  236. data/lib/cyberweb/images/standard_images/MINI_BAUM3.png +0 -0
  237. data/lib/cyberweb/images/standard_images/MINI_BAUM4.png +0 -0
  238. data/lib/cyberweb/images/standard_images/MINI_BAUM5.png +0 -0
  239. data/lib/cyberweb/images/standard_images/MINI_BAUM6.png +0 -0
  240. data/lib/cyberweb/images/standard_images/MINI_CUBE.png +0 -0
  241. data/lib/cyberweb/images/standard_images/MINI_DOT.png +0 -0
  242. data/lib/cyberweb/images/standard_images/MINUS.png +0 -0
  243. data/lib/cyberweb/images/standard_images/MONEY.png +0 -0
  244. data/lib/cyberweb/images/standard_images/MOUSE.png +0 -0
  245. data/lib/cyberweb/images/standard_images/MUSIK_NOTE.png +0 -0
  246. data/lib/cyberweb/images/standard_images/NAGEL.jpg +0 -0
  247. data/lib/cyberweb/images/standard_images/NASHORN.png +0 -0
  248. data/lib/cyberweb/images/standard_images/NEW.png +0 -0
  249. data/lib/cyberweb/images/standard_images/NEWS.png +0 -0
  250. data/lib/cyberweb/images/standard_images/NOBODY.png +0 -0
  251. data/lib/cyberweb/images/standard_images/NOTE.png +0 -0
  252. data/lib/cyberweb/images/standard_images/NOTEPAD.png +0 -0
  253. data/lib/cyberweb/images/standard_images/NOTIZ.png +0 -0
  254. data/lib/cyberweb/images/standard_images/NO_PATENTS.png +0 -0
  255. data/lib/cyberweb/images/standard_images/OBSOLETE.png +0 -0
  256. data/lib/cyberweb/images/standard_images/OFFICIAL_HOME.png +0 -0
  257. data/lib/cyberweb/images/standard_images/PDF.png +0 -0
  258. data/lib/cyberweb/images/standard_images/PERGAMENT_TILER1.jpg +0 -0
  259. data/lib/cyberweb/images/standard_images/PFEIL1.png +0 -0
  260. data/lib/cyberweb/images/standard_images/PFEIL10.png +0 -0
  261. data/lib/cyberweb/images/standard_images/PFEIL11.png +0 -0
  262. data/lib/cyberweb/images/standard_images/PFEIL12.png +0 -0
  263. data/lib/cyberweb/images/standard_images/PFEIL2.png +0 -0
  264. data/lib/cyberweb/images/standard_images/PFEIL3.png +0 -0
  265. data/lib/cyberweb/images/standard_images/PFEIL4.png +0 -0
  266. data/lib/cyberweb/images/standard_images/PFEIL5.png +0 -0
  267. data/lib/cyberweb/images/standard_images/PFEIL6.png +0 -0
  268. data/lib/cyberweb/images/standard_images/PFEIL6_red.png +0 -0
  269. data/lib/cyberweb/images/standard_images/PFEIL7.png +0 -0
  270. data/lib/cyberweb/images/standard_images/PFEIL8_OUT.png +0 -0
  271. data/lib/cyberweb/images/standard_images/PFEIL9.png +0 -0
  272. data/lib/cyberweb/images/standard_images/PFEIL_LINKS_OBEN.png +0 -0
  273. data/lib/cyberweb/images/standard_images/PFEIL_VERTICAL.png +0 -0
  274. data/lib/cyberweb/images/standard_images/PHONE.png +0 -0
  275. data/lib/cyberweb/images/standard_images/PHP_FORUM.jpg +0 -0
  276. data/lib/cyberweb/images/standard_images/PIN.png +0 -0
  277. data/lib/cyberweb/images/standard_images/PIN_POINTER_RED.png +0 -0
  278. data/lib/cyberweb/images/standard_images/PIPETTE.png +0 -0
  279. data/lib/cyberweb/images/standard_images/PLUS.png +0 -0
  280. data/lib/cyberweb/images/standard_images/POSAUNE.png +0 -0
  281. data/lib/cyberweb/images/standard_images/PRESENT.png +0 -0
  282. data/lib/cyberweb/images/standard_images/PRINT.png +0 -0
  283. data/lib/cyberweb/images/standard_images/PRINTER.png +0 -0
  284. data/lib/cyberweb/images/standard_images/PROTOKOLL.png +0 -0
  285. data/lib/cyberweb/images/standard_images/QUADRAT01.png +0 -0
  286. data/lib/cyberweb/images/standard_images/QUOTE.png +0 -0
  287. data/lib/cyberweb/images/standard_images/RADIO_ACTIVE.png +0 -0
  288. data/lib/cyberweb/images/standard_images/RAINBOW_CIRCLE.png +0 -0
  289. data/lib/cyberweb/images/standard_images/RED_PILL.png +0 -0
  290. data/lib/cyberweb/images/standard_images/RIP.png +0 -0
  291. data/lib/cyberweb/images/standard_images/ROBERT.png +0 -0
  292. data/lib/cyberweb/images/standard_images/ROCKET.png +0 -0
  293. data/lib/cyberweb/images/standard_images/ROSE.png +0 -0
  294. data/lib/cyberweb/images/standard_images/ROSE2.png +0 -0
  295. data/lib/cyberweb/images/standard_images/RUNNING.png +0 -0
  296. data/lib/cyberweb/images/standard_images/SAVE.png +0 -0
  297. data/lib/cyberweb/images/standard_images/SCANNER.png +0 -0
  298. data/lib/cyberweb/images/standard_images/SCHERE.png +0 -0
  299. data/lib/cyberweb/images/standard_images/SCHNEEMANN.png +0 -0
  300. data/lib/cyberweb/images/standard_images/SCISSORS.png +0 -0
  301. data/lib/cyberweb/images/standard_images/SHOPPING.png +0 -0
  302. data/lib/cyberweb/images/standard_images/SKULL.png +0 -0
  303. data/lib/cyberweb/images/standard_images/SMALL_CAT.png +0 -0
  304. data/lib/cyberweb/images/standard_images/SMALL_DOCUMENT.png +0 -0
  305. data/lib/cyberweb/images/standard_images/SMALL_HOUSE.png +0 -0
  306. data/lib/cyberweb/images/standard_images/SMALL_PLANE.png +0 -0
  307. data/lib/cyberweb/images/standard_images/SMILEY1.png +0 -0
  308. data/lib/cyberweb/images/standard_images/SMILEY2.png +0 -0
  309. data/lib/cyberweb/images/standard_images/SMILEY3.png +0 -0
  310. data/lib/cyberweb/images/standard_images/SMILEY4.png +0 -0
  311. data/lib/cyberweb/images/standard_images/SMILEY5.png +0 -0
  312. data/lib/cyberweb/images/standard_images/SNAIL.png +0 -0
  313. data/lib/cyberweb/images/standard_images/SNOWFLAKE.png +0 -0
  314. data/lib/cyberweb/images/standard_images/SPACER.png +0 -0
  315. data/lib/cyberweb/images/standard_images/SPECIAL_PFEIL.png +0 -0
  316. data/lib/cyberweb/images/standard_images/SPIDERMAN_HEAD.png +0 -0
  317. data/lib/cyberweb/images/standard_images/SPIRAL_CROSS.png +0 -0
  318. data/lib/cyberweb/images/standard_images/SPOON.png +0 -0
  319. data/lib/cyberweb/images/standard_images/SQUARE_BLACK.png +0 -0
  320. data/lib/cyberweb/images/standard_images/SQUARE_BLUE.png +0 -0
  321. data/lib/cyberweb/images/standard_images/SQUARE_CADETBLUE.png +0 -0
  322. data/lib/cyberweb/images/standard_images/SQUARE_CHAOS.png +0 -0
  323. data/lib/cyberweb/images/standard_images/SQUARE_DARKGOLDENROD.png +0 -0
  324. data/lib/cyberweb/images/standard_images/SQUARE_GREEN.png +0 -0
  325. data/lib/cyberweb/images/standard_images/SQUARE_GREY.png +0 -0
  326. data/lib/cyberweb/images/standard_images/SQUARE_RED.png +0 -0
  327. data/lib/cyberweb/images/standard_images/SQUARE_VIOLET.png +0 -0
  328. data/lib/cyberweb/images/standard_images/SQUARE_WHITE.png +0 -0
  329. data/lib/cyberweb/images/standard_images/SQUARE_YEL.png +0 -0
  330. data/lib/cyberweb/images/standard_images/STANDARDS_FAVICON.png +0 -0
  331. data/lib/cyberweb/images/standard_images/STAR.png +0 -0
  332. data/lib/cyberweb/images/standard_images/STAR_FANCY.png +0 -0
  333. data/lib/cyberweb/images/standard_images/STATUS_IN_PROGRESS.png +0 -0
  334. data/lib/cyberweb/images/standard_images/STD_COLOURS.png +0 -0
  335. data/lib/cyberweb/images/standard_images/SUN.png +0 -0
  336. data/lib/cyberweb/images/standard_images/SYMBOL_FRAU.png +0 -0
  337. data/lib/cyberweb/images/standard_images/SYMBOL_MANN.png +0 -0
  338. data/lib/cyberweb/images/standard_images/SYNC.png +0 -0
  339. data/lib/cyberweb/images/standard_images/TASCHENLAMPE.jpg +0 -0
  340. data/lib/cyberweb/images/standard_images/TASTATUR.png +0 -0
  341. data/lib/cyberweb/images/standard_images/TECHNICOLOR_TWIRL.png +0 -0
  342. data/lib/cyberweb/images/standard_images/TELEFON.png +0 -0
  343. data/lib/cyberweb/images/standard_images/TEST.bmp +0 -0
  344. data/lib/cyberweb/images/standard_images/TEUFELCHEN.png +0 -0
  345. data/lib/cyberweb/images/standard_images/THERMOMETER.png +0 -0
  346. data/lib/cyberweb/images/standard_images/THINKING_HUMAN.png +0 -0
  347. data/lib/cyberweb/images/standard_images/TODO.jpg +0 -0
  348. data/lib/cyberweb/images/standard_images/TODO.png +0 -0
  349. data/lib/cyberweb/images/standard_images/TOOLS.png +0 -0
  350. data/lib/cyberweb/images/standard_images/TRANSPORT.png +0 -0
  351. data/lib/cyberweb/images/standard_images/TRIANGLE.png +0 -0
  352. data/lib/cyberweb/images/standard_images/TURM.png +0 -0
  353. data/lib/cyberweb/images/standard_images/UHR.png +0 -0
  354. data/lib/cyberweb/images/standard_images/UPLOAD2.png +0 -0
  355. data/lib/cyberweb/images/standard_images/USB_CONNECTION_DEVICE.png +0 -0
  356. data/lib/cyberweb/images/standard_images/VALID_CSS.jpg +0 -0
  357. data/lib/cyberweb/images/standard_images/VALID_HTML.jpg +0 -0
  358. data/lib/cyberweb/images/standard_images/VIDEOCAMERA.png +0 -0
  359. data/lib/cyberweb/images/standard_images/VOGEL.png +0 -0
  360. data/lib/cyberweb/images/standard_images/VS_TCPA.gif +0 -0
  361. data/lib/cyberweb/images/standard_images/WARNSCHILD.png +0 -0
  362. data/lib/cyberweb/images/standard_images/WEBSERVER.png +0 -0
  363. data/lib/cyberweb/images/standard_images/WECKER.jpg +0 -0
  364. data/lib/cyberweb/images/standard_images/WINGS.png +0 -0
  365. data/lib/cyberweb/images/standard_images/WORD.png +0 -0
  366. data/lib/cyberweb/images/standard_images/WURZEL_ZEICHEN.png +0 -0
  367. data/lib/cyberweb/images/standard_images/YIN_YANG.png +0 -0
  368. data/lib/cyberweb/images/standard_images/Yin__Yang.gif +0 -0
  369. data/lib/cyberweb/images/standard_images/ZAHNRAD.png +0 -0
  370. data/lib/cyberweb/images/standard_images/ZAUBERHUT.png +0 -0
  371. data/lib/cyberweb/images/standard_images/ZITRONE.png +0 -0
  372. data/lib/cyberweb/images/standard_images/ZURUECK.jpg +0 -0
  373. data/lib/cyberweb/images/standard_images/blue_gallery.png +0 -0
  374. data/lib/cyberweb/images/standard_images/chk_off.png +0 -0
  375. data/lib/cyberweb/images/standard_images/chk_on.png +0 -0
  376. data/lib/cyberweb/images/standard_images/outdated.png +0 -0
  377. data/lib/cyberweb/images/standard_images/rdo_off.png +0 -0
  378. data/lib/cyberweb/images/standard_images/rdo_on.png +0 -0
  379. data/lib/cyberweb/images/standard_images/sneaky_ninja_face.png +0 -0
  380. data/lib/cyberweb/images/standard_images/standard_images.html +31644 -0
  381. data/lib/cyberweb/images/standard_images/text_editor.png +0 -0
  382. data/lib/cyberweb/images/standard_images/windows_key.png +0 -0
  383. data/lib/cyberweb/javascript/javascript_clock.rb +55 -12
  384. data/lib/cyberweb/javascript_code/custom_functions.js +73 -23
  385. data/lib/cyberweb/javascript_code/html_colours.js +9 -9
  386. data/lib/cyberweb/javascript_code/jquery/{jquery-3.6.1.js → jquery-3.6.3.js} +96 -12
  387. data/lib/cyberweb/predefined_and_freeform_methods/predefined_methods.rb +0 -112
  388. data/lib/cyberweb/project/project.rb +7 -0
  389. data/lib/cyberweb/requires/require_the_cyberweb_project.rb +3 -1
  390. data/lib/cyberweb/toplevel_methods/css.rb +3 -0
  391. data/lib/cyberweb/toplevel_methods/html_tables.rb +58 -29
  392. data/lib/cyberweb/toplevel_methods/internal_hash.rb +11 -138
  393. data/lib/cyberweb/toplevel_methods/misc.rb +37 -4
  394. data/lib/cyberweb/toplevel_methods/path.rb +8 -8
  395. data/lib/cyberweb/toplevel_methods/registered_ids.rb +4 -1
  396. data/lib/cyberweb/utility_scripts/images_to_html/constants.rb +63 -0
  397. data/lib/cyberweb/utility_scripts/images_to_html/images_to_html.rb +149 -164
  398. data/lib/cyberweb/utility_scripts/images_to_html/misc.rb +119 -0
  399. data/lib/cyberweb/version/version.rb +2 -2
  400. data/lib/cyberweb/web_images/array_listing_all_project_images.rb +1 -1
  401. data/lib/cyberweb/web_images/map_symbol_to_image_location.rb +16 -5
  402. data/lib/cyberweb/web_object/cmd.rb +257 -0
  403. data/lib/cyberweb/web_object/display_output_and_report.rb +99 -0
  404. data/lib/cyberweb/web_object/html_tags.rb +106 -98
  405. data/lib/cyberweb/web_object/images.rb +53 -36
  406. data/lib/cyberweb/web_object/javascript_and_jquery.rb +165 -51
  407. data/lib/cyberweb/web_object/link.rb +207 -34
  408. data/lib/cyberweb/web_object/misc.rb +1363 -1060
  409. data/lib/cyberweb/web_object/reset.rb +12 -10
  410. data/lib/cyberweb/web_object/roebe.rb +113 -0
  411. data/lib/cyberweb/web_object/web_object.rb +9 -4
  412. data/lib/cyberweb/yaml/js_files_to_load.yml +11 -3
  413. data/lib/cyberweb/yaml/project_configuration.yml +1 -1
  414. data/test/complex_tests/all_tests_in_one_page.cgi +12 -6
  415. data/test/javascript/testing_different_javascript_functions_available_in_the_cyberweb_project.cgi +27 -0
  416. data/test/javascript/testing_snowflakes.cgi +2 -2
  417. data/test/simple_tests/testing_p_default_versus_p_default_le.cgi +31 -0
  418. metadata +379 -15
  419. data/lib/cyberweb/javascript_code/jquery/jquery-3.6.0.js +0 -10881
@@ -0,0 +1,257 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This file wraps over the functionality stored in the file
6
+ # "cyberweb/cmd/cmd.rb".
7
+ # =========================================================================== #
8
+ # require 'cyberweb/cmd/cmd.rb'
9
+ # =========================================================================== #
10
+ require 'cyberweb/base/base.rb'
11
+
12
+ module Cyberweb
13
+
14
+ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
15
+
16
+ require 'cyberweb/cmd/cmd.rb'
17
+
18
+ # ========================================================================= #
19
+ # === append_this_css
20
+ # ========================================================================= #
21
+ def append_this_css(i)
22
+ ::Cyberweb::Cmd.append_this_css(i)
23
+ end
24
+
25
+ # ========================================================================= #
26
+ # === append_to_cmd1
27
+ #
28
+ # This method will append to cmd1, by wrapping over a toplevel-method.
29
+ # ========================================================================= #
30
+ def append_to_cmd1(i = '')
31
+ ::Cyberweb.append_to_cmd1(i)
32
+ end; alias append_cmd1 append_to_cmd1 # === append_cmd1
33
+
34
+ # ========================================================================= #
35
+ # === append_to_cmd2
36
+ # ========================================================================= #
37
+ def append_to_cmd2(i = '')
38
+ ::Cyberweb.append_to_cmd2(i)
39
+ end
40
+
41
+ # ========================================================================= #
42
+ # === append_to_cmd3
43
+ # ========================================================================= #
44
+ def append_to_cmd3(i = '')
45
+ ::Cyberweb.append_to_cmd3(i)
46
+ end
47
+
48
+ # ========================================================================= #
49
+ # === append_to_cmd4
50
+ # ========================================================================= #
51
+ def append_to_cmd4(i = '')
52
+ ::Cyberweb.append_to_cmd4(i)
53
+ end
54
+
55
+ # ========================================================================= #
56
+ # === append_to_cmd5
57
+ # ========================================================================= #
58
+ def append_to_cmd5(i = '')
59
+ ::Cyberweb.append_to_cmd5(i)
60
+ end
61
+
62
+ # ========================================================================= #
63
+ # === cmd1_is
64
+ # ========================================================================= #
65
+ def cmd1_is(i)
66
+ Cyberweb.cmd1 = i
67
+ end; alias cmd_is cmd1_is # === cmd_is
68
+
69
+ # ========================================================================= #
70
+ # === cmd2_is
71
+ # ========================================================================= #
72
+ def cmd2_is(i)
73
+ Cyberweb.cmd2 = i
74
+ end
75
+
76
+ # ========================================================================= #
77
+ # === cmd3_is
78
+ # ========================================================================= #
79
+ def cmd3_is(i)
80
+ Cyberweb.cmd3 = i
81
+ end
82
+
83
+ # ========================================================================= #
84
+ # === cmd4_is
85
+ # ========================================================================= #
86
+ def cmd4_is(i)
87
+ Cyberweb.cmd4 = i
88
+ end
89
+
90
+ # ========================================================================= #
91
+ # === cmd5_is
92
+ # ========================================================================= #
93
+ def cmd5_is(i)
94
+ Cyberweb.cmd5 = i
95
+ end
96
+
97
+ # ========================================================================= #
98
+ # === cmd1?
99
+ #
100
+ # This method also has a constant as an "alias" to its value.
101
+ # ========================================================================= #
102
+ def cmd1?
103
+ ::Cyberweb.cmd1?
104
+ end; alias cmd? cmd1? # === cmd?
105
+ alias command1? cmd1? # === command1?
106
+
107
+ # ========================================================================= #
108
+ # === cmd2?
109
+ # ========================================================================= #
110
+ def cmd2?
111
+ ::Cyberweb.cmd2?
112
+ end; alias cmd2? cmd2? # === cmd2?
113
+ alias command2? cmd2? # === command2?
114
+
115
+ # ========================================================================= #
116
+ # === cmd3?
117
+ # ========================================================================= #
118
+ def cmd3?
119
+ ::Cyberweb.cmd3?
120
+ end; alias cmd3? cmd3? # === cmd3?
121
+ alias command3? cmd3? # === command3?
122
+
123
+ # ========================================================================= #
124
+ # === cmd4?
125
+ # ========================================================================= #
126
+ def cmd4?
127
+ ::Cyberweb.cmd4?
128
+ end; alias cmd4? cmd4? # === cmd4?
129
+ alias command4? cmd4? # === command4?
130
+
131
+ # ========================================================================= #
132
+ # === cmd5?
133
+ # ========================================================================= #
134
+ def cmd5?
135
+ ::Cyberweb.cmd5?
136
+ end; alias cmd5? cmd5? # === cmd5?
137
+ alias command5? cmd5? # === command5?
138
+
139
+ # ========================================================================= #
140
+ # === cmd1 (cmd tag)
141
+ # ========================================================================= #
142
+ def cmd1(
143
+ content = '',
144
+ css_rules_to_use = Cyberweb.cmd1_css_rules?,
145
+ optional_id = '',
146
+ optional_css_style = '',
147
+ &block
148
+ )
149
+ if block_given? and (yield == :no_break)
150
+ ee "#{::Cyberweb.cmd1(content, css_rules_to_use, optional_id, optional_css_style)}"
151
+ else
152
+ ee "#{::Cyberweb.cmd1(content, css_rules_to_use, optional_id, optional_css_style)}#{BR}"
153
+ end
154
+ end; alias cmd cmd1 # === cmd
155
+ alias rc1 cmd1 # === rc1
156
+ alias command cmd1 # === command
157
+
158
+ # ========================================================================= #
159
+ # === cmd2
160
+ # ========================================================================= #
161
+ def cmd2(
162
+ content = '',
163
+ css_rules_to_use = Cyberweb.cmd2_css_rules?,
164
+ optional_id = '',
165
+ optional_css_style = '',
166
+ &block
167
+ )
168
+ if block_given? and (yield == :no_break)
169
+ ee "#{::Cyberweb.cmd2(content, css_rules_to_use, optional_id, optional_css_style)}"
170
+ else
171
+ ee "#{::Cyberweb.cmd2(content, css_rules_to_use, optional_id, optional_css_style)}#{BR}"
172
+ end
173
+ end; alias rc2 cmd2 # === rc2
174
+ alias command2 cmd2 # === command2
175
+
176
+ # ========================================================================= #
177
+ # === cmd3
178
+ # ========================================================================= #
179
+ def cmd3(
180
+ content = '',
181
+ css_rules_to_use = Cyberweb.cmd3_css_rules?,
182
+ optional_id = '',
183
+ optional_css_style = '',
184
+ &block
185
+ )
186
+ if block_given? and (yield == :no_break)
187
+ ee "#{::Cyberweb.cmd3(content, css_rules_to_use, optional_id, optional_css_style)}"
188
+ else
189
+ ee "#{::Cyberweb.cmd3(content, css_rules_to_use, optional_id, optional_css_style)}#{BR}"
190
+ end
191
+ end; alias rc3 cmd3 # === rc3
192
+ alias command3 cmd3 # === command3
193
+
194
+ # ========================================================================= #
195
+ # === cmd4
196
+ # ========================================================================= #
197
+ def cmd4(
198
+ content = '',
199
+ css_rules_to_use = Cyberweb.cmd4_css_rules?,
200
+ optional_id = '',
201
+ optional_css_style = '',
202
+ &block
203
+ )
204
+ if block_given? and (yield == :no_break)
205
+ ee "#{::Cyberweb.cmd4(content, css_rules_to_use, optional_id, optional_css_style)}"
206
+ else
207
+ ee "#{::Cyberweb.cmd4(content, css_rules_to_use, optional_id, optional_css_style)}#{BR}"
208
+ end
209
+ end; alias rc4 cmd4 # === rc4
210
+ alias command4 cmd4 # === command4
211
+
212
+ # ========================================================================= #
213
+ # === cmd5
214
+ # ========================================================================= #
215
+ def cmd5(
216
+ content = '',
217
+ css_rules_to_use = Cyberweb.cmd5_css_rules?,
218
+ optional_id = '',
219
+ optional_css_style = '',
220
+ &block
221
+ )
222
+ if block_given? and (yield == :no_break)
223
+ ee "#{::Cyberweb.cmd5(content, css_rules_to_use, optional_id, optional_css_style)}"
224
+ else
225
+ ee "#{::Cyberweb.cmd5(content, css_rules_to_use, optional_id, optional_css_style)}#{BR}"
226
+ end
227
+ end; alias rc5 cmd5 # === rc5
228
+ alias command5 cmd5 # === command5
229
+
230
+ # ========================================================================= #
231
+ # === cmdbold
232
+ # ========================================================================= #
233
+ def cmdbold(i = '')
234
+ cmd(i, 'BOLD mars1em')
235
+ end
236
+
237
+ # ========================================================================= #
238
+ # === col_cmd
239
+ # ========================================================================= #
240
+ def col_cmd(
241
+ i = '',
242
+ optional_id = ''
243
+ )
244
+ ee(
245
+ i, ::Cyberweb.internal_hash?[:col_cmd], optional_id
246
+ )
247
+ end; alias col col_cmd # === col
248
+
249
+ # ========================================================================= #
250
+ # === cmd_pre
251
+ # ========================================================================= #
252
+ def cmd_pre(i)
253
+ splitted = i.split(N)
254
+ splitted.each {|entry| cmd(entry) }
255
+ end; alias pre_cmd cmd_pre # === pre_cmd
256
+
257
+ end; end
@@ -19,4 +19,103 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
19
19
  add(i)
20
20
  end
21
21
 
22
+ # ========================================================================= #
23
+ # === e (e tag)
24
+ #
25
+ # This is essentially sbr(), which stands for "string span", and
26
+ # "breakline". It is like "puts" in regular ruby really, so a newline
27
+ # will be shown (registered onto the main string).
28
+ #
29
+ # Note that the method must be able to respond to more than one
30
+ # argument too.
31
+ #
32
+ # This method must be able to respond to the following code as well:
33
+ #
34
+ # e('This text should now be editable.') { :editable }
35
+ #
36
+ # ========================================================================= #
37
+ def e(
38
+ i = '',
39
+ optional_css_class = '',
40
+ optional_the_id = '',
41
+ optional_css_style = ''
42
+ )
43
+ _ = ''.dup
44
+ _ << string_s2(i, optional_css_class, optional_the_id, optional_css_style)
45
+ # ======================================================================= #
46
+ # Handle blocks next.
47
+ # ======================================================================= #
48
+ if block_given?
49
+ yielded = yield
50
+ case yielded
51
+ # ===================================================================== #
52
+ # === :editable
53
+ #
54
+ # This will also set spellcheck to false, because I find it to be
55
+ # very annoying otherwise.
56
+ # ===================================================================== #
57
+ when :editable
58
+ index = _.index('>')
59
+ _ = _.dup if _.frozen?
60
+ _[index,0] = ' contenteditable="true" spellcheck="false"'
61
+ end
62
+ end
63
+ # ======================================================================= #
64
+ # Next we have to distinguish between e() and le(), since as of
65
+ # January 2023.
66
+ # ======================================================================= #
67
+ method_name = Cyberweb.return_the_method_name_from_this_array(caller())
68
+ # ======================================================================= #
69
+ # We handle only two cases here so far - p_default and p_default_le.
70
+ # If we ever want to add more cases, we should extend this comment
71
+ # as well.
72
+ # ======================================================================= #
73
+ case method_name
74
+ # ======================================================================= #
75
+ # === div_default
76
+ # ======================================================================= #
77
+ when 'div_default'
78
+ addnl(_.dup)
79
+ br # And the <br> tag.
80
+ # ======================================================================= #
81
+ # === p_default
82
+ # ======================================================================= #
83
+ when 'p_default'
84
+ addnl(_.dup)
85
+ br # And the <br> tag.
86
+ # ======================================================================= #
87
+ # === div_default_le
88
+ # ======================================================================= #
89
+ when 'div_default_le'
90
+ addnl(
91
+ string_s2(
92
+ i,
93
+ "#{optional_css_class} l1em",
94
+ optional_the_id,
95
+ optional_css_style
96
+ )
97
+ )
98
+ br # And the <br> tag.
99
+ # ======================================================================= #
100
+ # === p_default_le
101
+ #
102
+ # Display the content of the p {} tag next.
103
+ # ======================================================================= #
104
+ when 'p_default_le'
105
+ addnl(
106
+ string_s2(
107
+ i,
108
+ "#{optional_css_class} l1em",
109
+ optional_the_id,
110
+ optional_css_style
111
+ )
112
+ )
113
+ br # And the <br> tag.
114
+ else
115
+ addnl(_.dup)
116
+ br # And the <br> tag.
117
+ end
118
+ end; alias ebr e # === ebr
119
+ alias sbr e # === sbr
120
+
22
121
  end; end
@@ -14,6 +14,112 @@ module Cyberweb
14
14
 
15
15
  class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
16
16
 
17
+ # ========================================================================= #
18
+ # === textarea
19
+ #
20
+ # This method essentially creates a HTML <textarea> tag.
21
+ #
22
+ # Usage example:
23
+ #
24
+ # textarea('foobar','bblack1 pad1em','textarea_id')
25
+ #
26
+ # This method also works via a block. Example for this:
27
+ #
28
+ # add_textfield {{
29
+ # width: 50,
30
+ # height: 50
31
+ # }}
32
+ #
33
+ # ========================================================================= #
34
+ def textarea(
35
+ default_content = '', # (1) content
36
+ css_class = '', # (2) css-class
37
+ the_id = '', # (3) the id
38
+ css_style = '', # (4) css_style
39
+ n_cols = 25, # (5) n columns
40
+ n_rows = 8, # (6) n rows
41
+ javascript = '', # (7) javascript
42
+ name = '', # (8) name
43
+ &block
44
+ )
45
+ addnl(
46
+ ::Cyberweb.string_textarea(
47
+ default_content,
48
+ css_class,
49
+ the_id,
50
+ css_style,
51
+ n_cols,
52
+ n_rows,
53
+ javascript,
54
+ name,
55
+ &block
56
+ )
57
+ )
58
+ end; alias string_textarea textarea # === string_textarea
59
+ alias textview textarea # === textview
60
+ alias add_write_area textarea # === add_write_area
61
+ alias add_textfield textarea # === add_textfield
62
+
63
+ # ========================================================================= #
64
+ # === p (p tag)
65
+ #
66
+ # This method handles the creation of <p> tags ultimately.
67
+ # ========================================================================= #
68
+ def p(
69
+ optional_css_class = '',
70
+ the_id = '',
71
+ optional_css_style = '',
72
+ &block
73
+ )
74
+ # ======================================================================= #
75
+ # === Handle Hashes next
76
+ # ======================================================================= #
77
+ if optional_css_class.is_a? Hash
78
+ # ===================================================================== #
79
+ # === :id
80
+ # ===================================================================== #
81
+ if optional_css_class.has_key? :id
82
+ the_id = optional_css_class.delete(:id)
83
+ end
84
+ # ===================================================================== #
85
+ # === :css_style
86
+ #
87
+ # Must come before :css_class.
88
+ # ===================================================================== #
89
+ if optional_css_class.has_key? :css_style
90
+ optional_css_style = optional_css_class.delete(:css_style)
91
+ end
92
+ # ===================================================================== #
93
+ # === :css_class
94
+ #
95
+ # Must come after :id.
96
+ # ===================================================================== #
97
+ if optional_css_class.has_key? :css_class
98
+ optional_css_class = optional_css_class.delete(:css_class)
99
+ # ===================================================================== #
100
+ # === :class
101
+ # ===================================================================== #
102
+ elsif optional_css_class.has_key? :class
103
+ optional_css_class = optional_css_class.delete(:class)
104
+ end
105
+ if optional_css_class.is_a?(Hash) and
106
+ optional_css_class.empty?
107
+ optional_css_class = ''
108
+ end
109
+ end
110
+ addn(
111
+ '<p'+
112
+ css_class_or_no_class(optional_css_class)+
113
+ id_or_no_id(the_id.to_s)+
114
+ css_style_or_no_style(optional_css_style)+
115
+ '>'
116
+ )
117
+ if block_given?
118
+ yield
119
+ addn('</p>')
120
+ end
121
+ end
122
+
17
123
  require 'cyberweb/html_tags/input.rb'
18
124
  # ========================================================================= #
19
125
  # === input (input tag)
@@ -740,66 +846,6 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
740
846
  )
741
847
  end; alias input_entry input_field # === input_entry
742
848
 
743
- # ========================================================================= #
744
- # === p (p tag)
745
- #
746
- # This method handles the creation of <p> tags ultimately.
747
- # ========================================================================= #
748
- def p(
749
- optional_css_class = '',
750
- the_id = '',
751
- optional_css_style = '',
752
- &block
753
- )
754
- # ======================================================================= #
755
- # === Handle Hashes next
756
- # ======================================================================= #
757
- if optional_css_class.is_a? Hash
758
- # ===================================================================== #
759
- # === :id
760
- # ===================================================================== #
761
- if optional_css_class.has_key? :id
762
- the_id = optional_css_class.delete(:id)
763
- end
764
- # ===================================================================== #
765
- # === :css_style
766
- #
767
- # Must come before :css_class.
768
- # ===================================================================== #
769
- if optional_css_class.has_key? :css_style
770
- optional_css_style = optional_css_class.delete(:css_style)
771
- end
772
- # ===================================================================== #
773
- # === :css_class
774
- #
775
- # Must come after :id.
776
- # ===================================================================== #
777
- if optional_css_class.has_key? :css_class
778
- optional_css_class = optional_css_class.delete(:css_class)
779
- # ===================================================================== #
780
- # === :class
781
- # ===================================================================== #
782
- elsif optional_css_class.has_key? :class
783
- optional_css_class = optional_css_class.delete(:class)
784
- end
785
- if optional_css_class.is_a?(Hash) and
786
- optional_css_class.empty?
787
- optional_css_class = ''
788
- end
789
- end
790
- addn(
791
- '<p'+
792
- css_class_or_no_class(optional_css_class)+
793
- id_or_no_id(the_id.to_s)+
794
- css_style_or_no_style(optional_css_style)+
795
- '>'
796
- )
797
- if block_given?
798
- yield
799
- addn('</p>')
800
- end
801
- end
802
-
803
849
  # ========================================================================= #
804
850
  # === add_this_div
805
851
  # ========================================================================= #
@@ -1299,44 +1345,6 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
1299
1345
  end
1300
1346
  end
1301
1347
 
1302
- # ========================================================================= #
1303
- # === textarea
1304
- #
1305
- # This create a <textarea> tag.
1306
- #
1307
- # Example:
1308
- #
1309
- # textarea('foobar','bblack1 pad1em','textarea_id')
1310
- #
1311
- # ========================================================================= #
1312
- def textarea(
1313
- default_content = '', # 1) content
1314
- css_class = '', # 2) css-class
1315
- the_id = '', # 3) the id
1316
- css_style = '', # 4) css_style
1317
- n_cols = 25, # 5) n columns
1318
- n_rows = 8, # 6) n rows
1319
- javascript = '', # 7) javascript
1320
- name = '', # 8) name
1321
- &block
1322
- )
1323
- addnl(
1324
- ::Cyberweb.string_textarea(
1325
- default_content,
1326
- css_class,
1327
- the_id,
1328
- css_style,
1329
- n_cols,
1330
- n_rows,
1331
- javascript,
1332
- name,
1333
- &block
1334
- )
1335
- )
1336
- end; alias string_textarea textarea # === string_textarea
1337
- alias textview textarea # === textview
1338
- alias add_write_area textarea # === add_write_area
1339
-
1340
1348
  # ========================================================================= #
1341
1349
  # === ctextarea
1342
1350
  # ========================================================================= #
@@ -10,6 +10,40 @@ module Cyberweb
10
10
 
11
11
  class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
12
12
 
13
+ # ========================================================================= #
14
+ # === raw_image
15
+ #
16
+ # The first argument to this method should be the path to the file at
17
+ # hand. This can also be a remote image.
18
+ #
19
+ # Note that this method deliberately does NOT check whether the ID is
20
+ # unique or not. You have to solve this prior to calling this method
21
+ # if you wish to avoid duplicate IDs.
22
+ # ========================================================================= #
23
+ def raw_image(
24
+ i = '',
25
+ optional_css_class = '',
26
+ optional_the_id = '',
27
+ optional_css_style = '',
28
+ alt_text = '',
29
+ optional_width = nil,
30
+ optional_height = nil
31
+ )
32
+ result = '<img src="'+i+'"'+
33
+ css_class_or_no_class(optional_css_class)+
34
+ id_or_no_id(optional_the_id, i)+
35
+ css_style_or_no_style(optional_css_style)+
36
+ alt_text_or_no_alt_text(alt_text).dup
37
+ if optional_width
38
+ result << ' width="'+optional_width.to_s+'"'
39
+ end
40
+ if optional_height
41
+ result << ' height="'+optional_height.to_s+'"'
42
+ end
43
+ result << '>'
44
+ return result
45
+ end
46
+
13
47
  # ========================================================================= #
14
48
  # === simpler_string_image (sg tag)
15
49
  #
@@ -59,7 +93,22 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
59
93
  # "#{IMG_DIR}CHEERING_PERSON.png"
60
94
  # ======================================================================= #
61
95
  if i.is_a? Symbol
62
- i = ::Cyberweb.image_url(i) # This has the path.
96
+ i = ::Cyberweb.image_url(i).dup # This has the path.
97
+ if i.start_with? RUBY_SITE_DIR
98
+ # =================================================================== #
99
+ # Work on e. g.:
100
+ #
101
+ # /usr/lib/ruby/site_ruby/3.2.0/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN.png
102
+ #
103
+ # =================================================================== #
104
+ i.sub!(
105
+ /#{RUBY_SITE_DIR}/,
106
+ rds(
107
+ relative_path?+
108
+ '/programming/ruby/src/cyberweb/lib/'
109
+ )
110
+ )
111
+ end
63
112
  end
64
113
  optional_width = nil
65
114
  optional_height = nil
@@ -198,7 +247,9 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
198
247
  # Next we prepend the path to the local directory. This is, however
199
248
  # had, NOT the case if i begins with the substring 'http'.
200
249
  # ======================================================================= #
201
- if may_we_prepend_the_path and !i.start_with?('http')
250
+ if may_we_prepend_the_path and !i.start_with?('http') and
251
+ !i.start_with?('../') and # This line was added in January 2023.
252
+ !i.start_with?('/programming/ruby/src/')
202
253
  i = "#{return_path_to_the_images_directory}"\
203
254
  "#{i}"
204
255
  end
@@ -503,40 +554,6 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
503
554
  alias embed_remote_img remote_img # === embed_remote_img
504
555
  alias remote_image remote_img # === remote_image
505
556
 
506
- # ========================================================================= #
507
- # === raw_image
508
- #
509
- # The first argument to this method should be the path to the file at
510
- # hand. This can also be a remote image.
511
- #
512
- # Note that this method deliberately does NOT check whether the ID is
513
- # unique or not. You have to solve this prior to calling this method
514
- # if you wish to avoid duplicate IDs.
515
- # ========================================================================= #
516
- def raw_image(
517
- i = '',
518
- optional_css_class = '',
519
- optional_the_id = '',
520
- optional_css_style = '',
521
- alt_text = '',
522
- optional_width = nil,
523
- optional_height = nil
524
- )
525
- result = '<img src="'+i+'"'+
526
- css_class_or_no_class(optional_css_class)+
527
- id_or_no_id(optional_the_id, i)+
528
- css_style_or_no_style(optional_css_style)+
529
- alt_text_or_no_alt_text(alt_text).dup
530
- if optional_width
531
- result << ' width="'+optional_width.to_s+'"'
532
- end
533
- if optional_height
534
- result << ' height="'+optional_height.to_s+'"'
535
- end
536
- result << '>'
537
- return result
538
- end
539
-
540
557
  # ========================================================================= #
541
558
  # === img_base64
542
559
  # ========================================================================= #