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
@@ -17,8 +17,11 @@ module Cyberweb
17
17
  css_class = '',
18
18
  the_id = 'Clock',
19
19
  css_style = '',
20
- javascript = ''
20
+ javascript = '',
21
+ &block
21
22
  )
23
+ images_right = nil # This allows the user to specify images to the right side of the clock.
24
+ use_this_css_class_for_the_actual_clock = ''
22
25
  if css_class.is_a?(Hash)
23
26
  # ===================================================================== #
24
27
  # === :css_style
@@ -38,17 +41,47 @@ module Cyberweb
38
41
  # ======================================================================= #
39
42
  if block_given?
40
43
  yielded = yield
41
- case yielded
42
44
  # ===================================================================== #
43
- # === :larger_font_size
44
- #
45
- # For some reason this does not seem to work.
45
+ # === First handle Hashes
46
46
  # ===================================================================== #
47
- when :larger_font_size
48
- if css_style.frozen?
49
- css_style = css_style.to_s.dup
47
+ if yielded.is_a?(Hash)
48
+ # =================================================================== #
49
+ # === :inner_css_class
50
+ # =================================================================== #
51
+ if yielded.has_key? :inner_css_class
52
+ use_this_css_class_for_the_actual_clock = yielded.delete(:inner_css_class)
53
+ end
54
+ # =================================================================== #
55
+ # === :images_right
56
+ #
57
+ # The following species images to be displayed right to the small
58
+ # clock. Allowed images are currently only those that are part
59
+ # of the cyberweb project itself.
60
+ # =================================================================== #
61
+ if yielded.has_key? :images_right
62
+ images_right = yielded.delete(:images_right)
63
+ end
64
+ # ===================================================================== #
65
+ # === Next handle Symbols
66
+ # ===================================================================== #
67
+ elsif yielded.is_a?(Symbol)
68
+ case yielded
69
+ # =================================================================== #
70
+ # === :inner_css_class
71
+ # =================================================================== #
72
+ when :inner_css_class
73
+ use_this_css_class_for_the_actual_clock = yielded.delete(:inner_css_class)
74
+ # =================================================================== #
75
+ # === :larger_font_size
76
+ #
77
+ # For some reason this does not seem to work.
78
+ # =================================================================== #
79
+ when :larger_font_size
80
+ if css_style.frozen?
81
+ css_style = css_style.to_s.dup
82
+ end
83
+ css_style << '; font-size: larger;'
50
84
  end
51
- css_style << '; font-size: larger;'
52
85
  end
53
86
  end
54
87
  self.javascript '
@@ -89,15 +122,25 @@ function kill_the_clock() { if(clock_id) { clearTimeout(clock_id); clock_id = 0
89
122
  )
90
123
  end
91
124
  self.javascript 'start_the_clock()' # Start our clock here.
92
- # ===================================================================== #
125
+ # ===================================================================== #
126
+ # === The actual clock
127
+ #
93
128
  # Give the form the name "form_displaying_a_simple_clock" next.
94
129
  # ===================================================================== #
95
- e '<form name="form_displaying_a_simple_clock">'
130
+ ee '<form name="form_displaying_a_simple_clock"">'+N
96
131
  input(
97
- :text,'','pad5px s8px','Time',
132
+ :text,
133
+ '',
134
+ ('pad5px s8px '+use_this_css_class_for_the_actual_clock).strip,
135
+ 'Time',
98
136
  css_style,
99
137
  'c'
100
138
  )
139
+ if images_right and !images_right.empty?
140
+ images_right.each {|entry|
141
+ dimg(entry,'marl8px')
142
+ }
143
+ end
101
144
  cform
102
145
  }
103
146
  end; alias javascript_clock display_clock # === javascript_clock
@@ -13,6 +13,24 @@ function change_the_colour_to(
13
13
  document.getElementById(work_on_this_id).style.color = this_colour;
14
14
  }
15
15
 
16
+ /*
17
+ * === copy_to_clipboard()
18
+ *
19
+ * This function allows the user to copy onto the clipboard.
20
+ */
21
+ function copy_to_clipboard(i) {
22
+ navigator.clipboard && navigator.clipboard.writeText(i);
23
+ }
24
+
25
+ /*
26
+ * === return_random_colour()
27
+ *
28
+ * This function will return a random colour.
29
+ */
30
+ function return_random_colour() {
31
+ return Math.floor(Math.random() * 0xffffff).toString(16);
32
+ }
33
+
16
34
  /*
17
35
  * === show_source()
18
36
  *
@@ -80,28 +98,6 @@ function set_background_color(new_colour, which_element)
80
98
  which_element.style.backgroundColor = new_colour;
81
99
  }
82
100
 
83
- function toggle(target_id)
84
- {
85
- status = document.getElementById(target_id).style.visibility
86
-
87
- if (status == 'hidden') {
88
- reveal(target_id);
89
- }
90
- else
91
- {
92
- hide(target_id);
93
- }
94
- }
95
-
96
- /*
97
- * === toggle_visibility()
98
- *
99
- */
100
- function toggle_visibility(id)
101
- {
102
- toggle(id)
103
- }
104
-
105
101
  /*
106
102
  * === set_visibility()
107
103
  *
@@ -280,7 +276,7 @@ function upcase(x)
280
276
  /*
281
277
  * === popup()
282
278
  *
283
- * An alias to alert.
279
+ * popup() is a simple alias over alert().
284
280
  *
285
281
  * Usage examples:
286
282
  *
@@ -314,6 +310,12 @@ function array_includes(this_array, key_string) {
314
310
  *
315
311
  * This uses the so called "spread operator" in JavaScript.
316
312
  *
313
+ * The spread (...) syntax works on iterables, such as
314
+ * an Array or a String - also known as splat in ruby
315
+ * or varargs in Java. It allows us to pass in zero
316
+ * or more arguments to a function call.
317
+ *
318
+ *
317
319
  * Usage example:
318
320
  *
319
321
  * pp(['abc','def','ghi'])
@@ -321,4 +323,52 @@ function array_includes(this_array, key_string) {
321
323
  */
322
324
  function pp(i) {
323
325
  console.log(...i);
326
+ }
327
+ /*
328
+ * clog()
329
+ */
330
+ function clog(i) {
331
+ console.log(...i)
332
+ }
333
+
334
+ /*
335
+ * append_this_to_that_array()
336
+ */
337
+ function append_this_to_that_array(this_element, that_array) {
338
+ that_array.push(this_element)
339
+ }
340
+
341
+ /*
342
+ * return_cookie()
343
+ */
344
+ function return_cookie() {
345
+ return document.cookie
346
+ }
347
+
348
+ /*
349
+ * toggle()
350
+ *
351
+ * This function can be used to toggle visibility of elements based
352
+ * on their ID.
353
+ */
354
+ function toggle(target_id)
355
+ {
356
+ var target_element = document.getElementById(target_id)
357
+ var display_status = target_element.style.display
358
+
359
+ if (display_status === "none") {
360
+ target_element.style.display = "block"
361
+ } else {
362
+ target_element.style.display = "none"
363
+ }
364
+
365
+ }
366
+
367
+ /*
368
+ * === toggle_visibility()
369
+ *
370
+ */
371
+ function toggle_visibility(id)
372
+ {
373
+ toggle(id)
324
374
  }
@@ -1,17 +1,17 @@
1
1
  /*
2
2
  * This Array could be obtained via:
3
3
  *
4
-
5
- <script src="/home/x/programming/ruby/src/cyberweb/lib/cyberweb/javascript_code/html_colours.js">
6
- </script>
7
-
8
- Or in a relative way:
9
-
10
- <script src="../../../lib/cyberweb/javascript_code/html_colours.js"></script>
11
-
4
+ * script src="/home/x/programming/ruby/src/cyberweb/lib/cyberweb/javascript_code/html_colours.js"
5
+ * /script
6
+ *
7
+ * Or in a relative way:
8
+ *
9
+ * script src="../../../lib/cyberweb/javascript_code/html_colours.js"></script
10
+ *
12
11
  */
13
12
 
14
- let HTML_COLOURS = ['aliceblue',
13
+ let HTML_COLOURS = [
14
+ 'aliceblue',
15
15
  'antiquewhite',
16
16
  'aqua',
17
17
  'aquamarine',
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * jQuery JavaScript Library v3.6.1
2
+ * jQuery JavaScript Library v3.6.3
3
3
  * https://jquery.com/
4
4
  *
5
5
  * Includes Sizzle.js
@@ -9,7 +9,7 @@
9
9
  * Released under the MIT license
10
10
  * https://jquery.org/license
11
11
  *
12
- * Date: 2022-08-26T17:52Z
12
+ * Date: 2022-12-20T21:28Z
13
13
  */
14
14
  ( function( global, factory ) {
15
15
 
@@ -151,7 +151,7 @@ function toType( obj ) {
151
151
 
152
152
 
153
153
  var
154
- version = "3.6.1",
154
+ version = "3.6.3",
155
155
 
156
156
  // Define a local copy of jQuery
157
157
  jQuery = function( selector, context ) {
@@ -522,14 +522,14 @@ function isArrayLike( obj ) {
522
522
  }
523
523
  var Sizzle =
524
524
  /*!
525
- * Sizzle CSS Selector Engine v2.3.6
525
+ * Sizzle CSS Selector Engine v2.3.9
526
526
  * https://sizzlejs.com/
527
527
  *
528
528
  * Copyright JS Foundation and other contributors
529
529
  * Released under the MIT license
530
530
  * https://js.foundation/
531
531
  *
532
- * Date: 2021-02-16
532
+ * Date: 2022-12-19
533
533
  */
534
534
  ( function( window ) {
535
535
  var i,
@@ -879,6 +879,27 @@ function Sizzle( selector, context, results, seed ) {
879
879
  }
880
880
 
881
881
  try {
882
+
883
+ // `qSA` may not throw for unrecognized parts using forgiving parsing:
884
+ // https://drafts.csswg.org/selectors/#forgiving-selector
885
+ // like the `:has()` pseudo-class:
886
+ // https://drafts.csswg.org/selectors/#relational
887
+ // `CSS.supports` is still expected to return `false` then:
888
+ // https://drafts.csswg.org/css-conditional-4/#typedef-supports-selector-fn
889
+ // https://drafts.csswg.org/css-conditional-4/#dfn-support-selector
890
+ if ( support.cssSupportsSelector &&
891
+
892
+ // eslint-disable-next-line no-undef
893
+ !CSS.supports( "selector(:is(" + newSelector + "))" ) ) {
894
+
895
+ // Support: IE 11+
896
+ // Throw to get to the same code path as an error directly in qSA.
897
+ // Note: once we only support browser supporting
898
+ // `CSS.supports('selector(...)')`, we can most likely drop
899
+ // the `try-catch`. IE doesn't implement the API.
900
+ throw new Error();
901
+ }
902
+
882
903
  push.apply( results,
883
904
  newContext.querySelectorAll( newSelector )
884
905
  );
@@ -1174,6 +1195,31 @@ setDocument = Sizzle.setDocument = function( node ) {
1174
1195
  !el.querySelectorAll( ":scope fieldset div" ).length;
1175
1196
  } );
1176
1197
 
1198
+ // Support: Chrome 105+, Firefox 104+, Safari 15.4+
1199
+ // Make sure forgiving mode is not used in `CSS.supports( "selector(...)" )`.
1200
+ //
1201
+ // `:is()` uses a forgiving selector list as an argument and is widely
1202
+ // implemented, so it's a good one to test against.
1203
+ support.cssSupportsSelector = assert( function() {
1204
+ /* eslint-disable no-undef */
1205
+
1206
+ return CSS.supports( "selector(*)" ) &&
1207
+
1208
+ // Support: Firefox 78-81 only
1209
+ // In old Firefox, `:is()` didn't use forgiving parsing. In that case,
1210
+ // fail this test as there's no selector to test against that.
1211
+ // `CSS.supports` uses unforgiving parsing
1212
+ document.querySelectorAll( ":is(:jqfake)" ) &&
1213
+
1214
+ // `*` is needed as Safari & newer Chrome implemented something in between
1215
+ // for `:has()` - it throws in `qSA` if it only contains an unsupported
1216
+ // argument but multiple ones, one of which is supported, are fine.
1217
+ // We want to play safe in case `:is()` gets the same treatment.
1218
+ !CSS.supports( "selector(:is(*,:jqfake))" );
1219
+
1220
+ /* eslint-enable */
1221
+ } );
1222
+
1177
1223
  /* Attributes
1178
1224
  ---------------------------------------------------------------------- */
1179
1225
 
@@ -1440,6 +1486,17 @@ setDocument = Sizzle.setDocument = function( node ) {
1440
1486
  } );
1441
1487
  }
1442
1488
 
1489
+ if ( !support.cssSupportsSelector ) {
1490
+
1491
+ // Support: Chrome 105+, Safari 15.4+
1492
+ // `:has()` uses a forgiving selector list as an argument so our regular
1493
+ // `try-catch` mechanism fails to catch `:has()` with arguments not supported
1494
+ // natively like `:has(:contains("Foo"))`. Where supported & spec-compliant,
1495
+ // we now use `CSS.supports("selector(:is(SELECTOR_TO_BE_TESTED))")`, but
1496
+ // outside that we mark `:has` as buggy.
1497
+ rbuggyQSA.push( ":has" );
1498
+ }
1499
+
1443
1500
  rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
1444
1501
  rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) );
1445
1502
 
@@ -1452,7 +1509,14 @@ setDocument = Sizzle.setDocument = function( node ) {
1452
1509
  // As in, an element does not contain itself
1453
1510
  contains = hasCompare || rnative.test( docElem.contains ) ?
1454
1511
  function( a, b ) {
1455
- var adown = a.nodeType === 9 ? a.documentElement : a,
1512
+
1513
+ // Support: IE <9 only
1514
+ // IE doesn't have `contains` on `document` so we need to check for
1515
+ // `documentElement` presence.
1516
+ // We need to fall back to `a` when `documentElement` is missing
1517
+ // as `ownerDocument` of elements within `<template/>` may have
1518
+ // a null one - a default behavior of all modern browsers.
1519
+ var adown = a.nodeType === 9 && a.documentElement || a,
1456
1520
  bup = b && b.parentNode;
1457
1521
  return a === bup || !!( bup && bup.nodeType === 1 && (
1458
1522
  adown.contains ?
@@ -2242,7 +2306,7 @@ Expr = Sizzle.selectors = {
2242
2306
  return elem.nodeName.toLowerCase() === "input" &&
2243
2307
  elem.type === "text" &&
2244
2308
 
2245
- // Support: IE<8
2309
+ // Support: IE <10 only
2246
2310
  // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
2247
2311
  ( ( attr = elem.getAttribute( "type" ) ) == null ||
2248
2312
  attr.toLowerCase() === "text" );
@@ -6608,17 +6672,37 @@ function curCSS( elem, name, computed ) {
6608
6672
  // .css('filter') (IE 9 only, trac-12537)
6609
6673
  // .css('--customProperty) (gh-3144)
6610
6674
  if ( computed ) {
6611
- ret = computed.getPropertyValue( name ) || computed[ name ];
6612
6675
 
6613
- // trim whitespace for custom property (issue gh-4926)
6614
- if ( isCustomProp ) {
6676
+ // Support: IE <=9 - 11+
6677
+ // IE only supports `"float"` in `getPropertyValue`; in computed styles
6678
+ // it's only available as `"cssFloat"`. We no longer modify properties
6679
+ // sent to `.css()` apart from camelCasing, so we need to check both.
6680
+ // Normally, this would create difference in behavior: if
6681
+ // `getPropertyValue` returns an empty string, the value returned
6682
+ // by `.css()` would be `undefined`. This is usually the case for
6683
+ // disconnected elements. However, in IE even disconnected elements
6684
+ // with no styles return `"none"` for `getPropertyValue( "float" )`
6685
+ ret = computed.getPropertyValue( name ) || computed[ name ];
6615
6686
 
6616
- // rtrim treats U+000D CARRIAGE RETURN and U+000C FORM FEED
6687
+ if ( isCustomProp && ret ) {
6688
+
6689
+ // Support: Firefox 105+, Chrome <=105+
6690
+ // Spec requires trimming whitespace for custom properties (gh-4926).
6691
+ // Firefox only trims leading whitespace. Chrome just collapses
6692
+ // both leading & trailing whitespace to a single space.
6693
+ //
6694
+ // Fall back to `undefined` if empty string returned.
6695
+ // This collapses a missing definition with property defined
6696
+ // and set to an empty string but there's no standard API
6697
+ // allowing us to differentiate them without a performance penalty
6698
+ // and returning `undefined` aligns with older jQuery.
6699
+ //
6700
+ // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED
6617
6701
  // as whitespace while CSS does not, but this is not a problem
6618
6702
  // because CSS preprocessing replaces them with U+000A LINE FEED
6619
6703
  // (which *is* CSS whitespace)
6620
6704
  // https://www.w3.org/TR/css-syntax-3/#input-preprocessing
6621
- ret = ret.replace( rtrimCSS, "$1" );
6705
+ ret = ret.replace( rtrimCSS, "$1" ) || undefined;
6622
6706
  }
6623
6707
 
6624
6708
  if ( ret === "" && !isAttached( elem ) ) {
@@ -76,111 +76,6 @@ module PredefinedMethods # === Cyberweb::PredefinedMethods
76
76
  h2(result, optional_css) # Or H[:question].
77
77
  end; alias question frage # === question
78
78
 
79
- # ========================================================================= #
80
- # === Cmd2
81
- # ========================================================================= #
82
- class Cmd2
83
-
84
- # ======================================================================= #
85
- # === Cmd2.append
86
- #
87
- # This method can be used to append to the H[:command2] hash.
88
- #
89
- # The ' ' will be mandatory for now.
90
- # ======================================================================= #
91
- def self.append(i)
92
- ::Cyberweb.internal_hash?[:cmd2] << " #{i}"
93
- end; self.instance_eval { alias append_this_css append } # === Cmd2.append_this_css
94
-
95
- end
96
-
97
- # ========================================================================= #
98
- # === CMD2
99
- # ========================================================================= #
100
- # CMD2 = command2? # A reference to the above.
101
-
102
- # ========================================================================= #
103
- # === command3?
104
- # ========================================================================= #
105
- def command3?
106
- ::Cyberweb.internal_hash?[:cmd3] # We delegate towards HASH_CSS_CLASS_TO_USE here.
107
- end
108
-
109
- # ========================================================================= #
110
- # === cmd2
111
- #
112
- # This method will require that the method command2? will work.
113
- # ========================================================================= #
114
- def cmd2(
115
- i = '',
116
- optional_id = ''
117
- )
118
- padl2em(i, command2?, optional_id) # The second argument here is the id.
119
- end; alias rc2 cmd2 # === rc2
120
- alias command2 cmd2 # === command2
121
-
122
- # ========================================================================= #
123
- # === cmdbold
124
- # ========================================================================= #
125
- def cmdbold(i = '')
126
- cmd(i, 'BOLD mars1em')
127
- end
128
-
129
- # ========================================================================= #
130
- # === cmd (cmd tag)
131
- #
132
- # This is a predefined method, called cmd().
133
- #
134
- # It will call the method css.optional, which is defined in the file
135
- # cyberweb/toplevel_methods/css.rb.
136
- #
137
- # By default, the return value obtained from css.optional corresponds to
138
- # 'marl1em BO' - in other words, be bold and use a "margin-left: 1em"
139
- # style in CSS.
140
- #
141
- # Further usage example:
142
- #
143
- # css.optional = 'oki dokie'
144
- # cmd 'Test'
145
- # css.optional = 'bla'
146
- # cmd 'Test'
147
- #
148
- # ========================================================================= #
149
- def cmd(
150
- i = '',
151
- css_class = cmd?, # <- This used to be css.optional but I am not sure if we will keep on using css.optional there.
152
- optional_id = '',
153
- optional_css_style = ''
154
- )
155
- s2(i, css_class, optional_id, optional_css_style)
156
- br
157
- end; alias command cmd # === command
158
- alias cmd1 cmd # === cmd1
159
-
160
- # ========================================================================= #
161
- # === cmd3
162
- # ========================================================================= #
163
- def cmd3(
164
- i = '', optional_css = command3?, optional_id = ''
165
- )
166
- padl3em(i, optional_css, optional_id) # The second argument here is the id.
167
- end; alias rc3 cmd3 # === rc3
168
- alias command3 cmd3 # === command3
169
-
170
- # ========================================================================= #
171
- # === cmd4
172
- # ========================================================================= #
173
- def cmd4(i = '', optional_id = '')
174
- marl4em(i, '', optional_id) # The second argument here is the id.
175
- end; alias rc4 cmd4 # === rc4
176
-
177
- # ========================================================================= #
178
- # === cmd5
179
- # ========================================================================= #
180
- def cmd5(i = '', optional_id = '')
181
- marl5em(i, '', optional_id) # The second argument here is the id.
182
- end; alias rc5 cmd5 # === rc5
183
-
184
79
  end # (end tag)
185
80
 
186
81
  # ========================================================================= #
@@ -219,13 +114,6 @@ end # (end tag)
219
114
  ::Cyberweb::PredefinedMethods.hash_registered_extra_tags?
220
115
  end
221
116
 
222
- # ========================================================================= #
223
- # === Cyberweb.css_for_cmd?
224
- # ========================================================================= #
225
- def self.css_for_cmd?
226
- ::Cyberweb.internal_hash?[:cmd1]
227
- end
228
-
229
117
  # ========================================================================= #
230
118
  # === Cyberweb.enable_predefined_methods
231
119
  #
@@ -14,6 +14,13 @@
14
14
  # =========================================================================== #
15
15
  module Cyberweb
16
16
 
17
+ # ========================================================================= #
18
+ # === Cyberweb::RUBY_SITE_DIR
19
+ #
20
+ # This will expand towards "/usr/lib/ruby/site_ruby/3.2.0/".
21
+ # ========================================================================= #
22
+ RUBY_SITE_DIR = RbConfig::CONFIG['sitelibdir'].to_s+'/'
23
+
17
24
  # ========================================================================= #
18
25
  # === PROJECT_BASE_DIR (project tag)
19
26
  #
@@ -154,4 +154,6 @@ require 'cyberweb/utility_scripts/images_to_html/images_to_html.rb'
154
154
 
155
155
  # Include the SimpleForum as well:
156
156
  require 'cyberweb/cybersprawl/simple_forum/simple_forum.rb'
157
-
157
+
158
+ # Next the new Cmd class:
159
+ require 'cyberweb/cmd/cmd.rb'
@@ -15,6 +15,9 @@ module Cyberweb
15
15
 
16
16
  # ========================================================================= #
17
17
  # === Cyberweb.return_css_for_the_simple_calculator
18
+ #
19
+ # This is the CSS that handles the simple calculator. This calculator
20
+ # can be easily embedded "into" a given webpage.
18
21
  # ========================================================================= #
19
22
  def self.return_css_for_the_simple_calculator(
20
23
  font_size_to_use = '16px',