cyberweb 0.8.17 → 0.9.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cyberweb might be problematic. Click here for more details.

Files changed (420) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +306 -86
  3. data/cyberweb.gemspec +0 -3
  4. data/doc/README.gen +305 -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 +66 -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/toplevel_methods/video.rb +35 -35
  397. data/lib/cyberweb/utility_scripts/images_to_html/constants.rb +63 -0
  398. data/lib/cyberweb/utility_scripts/images_to_html/images_to_html.rb +149 -164
  399. data/lib/cyberweb/utility_scripts/images_to_html/misc.rb +119 -0
  400. data/lib/cyberweb/version/version.rb +2 -2
  401. data/lib/cyberweb/web_images/array_listing_all_project_images.rb +1 -1
  402. data/lib/cyberweb/web_images/map_symbol_to_image_location.rb +16 -5
  403. data/lib/cyberweb/web_object/cmd.rb +257 -0
  404. data/lib/cyberweb/web_object/display_output_and_report.rb +99 -0
  405. data/lib/cyberweb/web_object/html_tags.rb +106 -98
  406. data/lib/cyberweb/web_object/images.rb +53 -36
  407. data/lib/cyberweb/web_object/javascript_and_jquery.rb +165 -51
  408. data/lib/cyberweb/web_object/link.rb +207 -34
  409. data/lib/cyberweb/web_object/misc.rb +1401 -1074
  410. data/lib/cyberweb/web_object/reset.rb +12 -10
  411. data/lib/cyberweb/web_object/roebe.rb +113 -0
  412. data/lib/cyberweb/web_object/web_object.rb +9 -4
  413. data/lib/cyberweb/yaml/js_files_to_load.yml +11 -3
  414. data/lib/cyberweb/yaml/project_configuration.yml +1 -1
  415. data/test/complex_tests/all_tests_in_one_page.cgi +12 -6
  416. data/test/javascript/testing_different_javascript_functions_available_in_the_cyberweb_project.cgi +27 -0
  417. data/test/javascript/testing_snowflakes.cgi +2 -2
  418. data/test/simple_tests/testing_p_default_versus_p_default_le.cgi +31 -0
  419. metadata +379 -15
  420. data/lib/cyberweb/javascript_code/jquery/jquery-3.6.0.js +0 -10881
data/doc/README.gen CHANGED
@@ -42,7 +42,7 @@ project was renamed several times as well - first to **web_foundation**,
42
42
  then to **cybersprawl**, then to **Cyberweb**, then to **web_object** and
43
43
  then back to **Cyberweb** again.
44
44
 
45
- I think the name **Cyberweb** is the best choice best among these alternatives.
45
+ I think the name **Cyberweb** is the best choice among these alternatives.
46
46
  While **web_object** is the more technically correct and accurate term, as
47
47
  everything related to the www is handled via that object (or such objects),
48
48
  I prefer the name **Cyberweb** in general for the whole project - it sounds
@@ -286,21 +286,44 @@ your use cases initially. In the long run I intend to remedy this
286
286
  situation, but for the time being, you have to accept that some
287
287
  parts of the cyberweb gem are not useful for you.
288
288
 
289
- Nonetheless, I decided to add this subsection to document some
290
- things, and provide some help to new users, until eventually
291
- the situation improves so that people can just install the gam
292
- and "it will work", as-is.
289
+ Note that the above is no longer true since as of <b>January 2023</b>.
290
+ I have decided, for several reasons, to simply distribute these
291
+ images as well. They are available under:
292
+
293
+ cyberweb/images/standard_images/
294
+
295
+ You can also view these images via a dedicated .html file, at:
296
+
297
+ cyberweb/images/standard_images/standard_images.html
298
+
299
+ Some of these images are fairly old and require adaptations/changes,
300
+ and adding these images has made the cyberweb gem significantly larger
301
+ as well, which is not great - but I think the drawbacks are outweighed
302
+ by the advantage that now every user of the cyberweb gem can use
303
+ these images as well, without me having to offer separate download
304
+ links. I collected these images over the last 20 years, and some are
305
+ probably outdated at this point in time, but again - some images may
306
+ still need to be tweaked, file sized decreased, simplified, and what
307
+ not. I will do so over the course of the coming months.
308
+
309
+ I decided to add this subsection to document some things, and provide
310
+ some help to new users, until eventually the situation improves so
311
+ that people can just install the gam and "it will work", as-is.
293
312
 
294
313
  Without further ado, let's clarify some things here next.
295
314
 
296
- The cyberweb gem needs access to a temporary directory.
315
+ The <b>cyberweb</b> gem needs access to a temporary directory.
297
316
 
298
317
  On Linux this is typically <b>/tmp/</b>. The cyberweb gem may
299
318
  create a subdirectory there, called cyberweb/, and then copy
300
319
  some files into that subdirectory - in particular JavaScript
301
- .js files.
320
+ .js files. (If you have difficulties here, consider adding
321
+ such a subdirectory there, with explicit permissions to
322
+ allow people to dump data into that directory - after all
323
+ that is the point of /tmp/ on linux.)
302
324
 
303
- To query the base directory in use you can call this method:
325
+ To <b>query the base directory in use</b> you can call the
326
+ following method:
304
327
 
305
328
  Cyberweb.temp_directory?
306
329
 
@@ -2785,9 +2808,12 @@ This can be done like this:
2785
2808
  transform: scale(1.3);
2786
2809
  }
2787
2810
 
2788
- The important part is the **transform: scale** specification.
2811
+ The important part is the **transform: scale** specification. You
2812
+ can specify here how large or small the image should be. For
2813
+ instance, to shrink an image, you could use
2814
+ the CSS rule <b>transform: scale(0.5);</b>.
2789
2815
 
2790
- I typically put this into a special CSS class such as:
2816
+ I typically put these rules into a special CSS class, such as:
2791
2817
 
2792
2818
  .enlarge_this_image_on_hover:hover {
2793
2819
  transform: scale(1.1);
@@ -3567,39 +3593,6 @@ This may look as the following image shows:
3567
3593
 
3568
3594
  <img src="https://i.imgur.com/moDx2f1.png" style="margin-left: 2em">
3569
3595
 
3570
- ## cmd1, cmd2, cmd3
3571
-
3572
- The three methods called **cmd1**, **cmd2**, **cmd3**, can be used to
3573
- show commands that the user can input. The **1**, **2** or **3** part
3574
- refers to the indent-level, so the number **3** means **3x the
3575
- basic indent level**.
3576
-
3577
- Note that **cmd** is an alias to **cmd1**.
3578
-
3579
- In the last ten years or so, the code for this was stored under the
3580
- module PredefinedMethods, but in December 2021 this was changed and
3581
- became part of **internal_hash.rb**. The latter shall slowly replace
3582
- all other toplevel-instance variables for the Cyberweb project.
3583
- The net gain will be that the new code is easier to maintain.
3584
-
3585
- What is the use case for cmd1 or cmd2 or cmd3?
3586
-
3587
- See the following examples for this:
3588
-
3589
- e 'Input these instructions:'
3590
- br
3591
- cmd1 'ls -la'
3592
- cmd2 'cd /tmp'
3593
- # and so forth
3594
-
3595
- Note that you can also customize the toplevel CSS for cmd1, cmd2
3596
- and cmd3. The following example shows how to add the steelblue
3597
- colour to these:
3598
-
3599
- append_to_cmd1 'steelblue'
3600
- append_to_cmd2 'steelblue'
3601
- append_to_cmd3 'steelblue'
3602
-
3603
3596
  ## Cyberweb::RouteHandlerModule
3604
3597
 
3605
3598
  This module shall eventually replace sinatra for my own needs.
@@ -4064,6 +4057,21 @@ This would yield the following text (shown as image):
4064
4057
 
4065
4058
  <img src="https://i.imgur.com/Ufs2IHl.png" style="margin-left:2em">
4066
4059
 
4060
+ And let's show another example:
4061
+
4062
+ generate_drop_shadow :deepskyblue,
4063
+ '6px 4px 8px',
4064
+ 'drop_shadow_deepskyblue'
4065
+ div('drop_shadow_deepskyblue pad0px mar0px') {
4066
+ h2 dot(105, 'marr12px')+
4067
+ 'Cats are adorable creatures.',
4068
+ 'mart5px'
4069
+ }
4070
+
4071
+ This time no image, but you get the idea - if you want a
4072
+ fancy border, cyberweb may help automatically generate
4073
+ these.
4074
+
4067
4075
  You can also use the internal CSS class called **shadow_div_without_restrictions**.
4068
4076
 
4069
4077
  Give it a try on a div-element, such as via:
@@ -4335,6 +4343,38 @@ The following paragraph shows how you can use this:
4335
4343
  Interestingly enough, if you do not specify a color for
4336
4344
  the border via border-color then this will default to <b>black</b>.
4337
4345
 
4346
+ ## The toplevel methods english() and german()
4347
+
4348
+ A couple of years ago these two toplevel methods were added. You may
4349
+ find some of my gems make use of these, when there is content that
4350
+ ought to be displayed on a website.
4351
+
4352
+ What do these two methods do, essentially?
4353
+
4354
+ They are mostly just a mnemonic reminder that the website that
4355
+ is shown to the user (visitor) is written in that particular
4356
+ language primarily. So, for most webpages, I prefer to use:
4357
+
4358
+ english() {
4359
+ }
4360
+
4361
+ Whereas for my local knowledge base I often tend to use german.
4362
+
4363
+ Sometimes I mix both languages in the same webpage, but I wanted
4364
+ to be able to selectively switch between languages too, as well
4365
+ as be able to indicate when content is in german rather than
4366
+ english. Thus, to satisfy these use cases, german() and
4367
+ english() are available.
4368
+
4369
+ An additional use case for these methods is that I can designate
4370
+ a specific title quickly - either manually, or by using something
4371
+ like:
4372
+
4373
+ german(:autotitle)
4374
+
4375
+ The symbol :autotitle here would mean that the cyberweb gem should
4376
+ try to infer the name of the page at hand based on its filename.
4377
+
4338
4378
  ## Cyberweb::HtmlTemplate
4339
4379
 
4340
4380
  class **Cyberweb::HtmlTemplate** can be used to describe (and ultimately
@@ -4603,6 +4643,26 @@ so.
4603
4643
 
4604
4644
  ## JavaScript support in the cyberweb project
4605
4645
 
4646
+ The following subsection shows some of the javascript-related
4647
+ code and possibilities in regards to the cyberweb project.
4648
+
4649
+ ### The method .dump_all_javascript() in Cyberweb::WebObject
4650
+
4651
+ If you want to embed all javascript as a String and just
4652
+ put that string into the webpage, you can use this method
4653
+ call:
4654
+
4655
+ dump_all_javascript
4656
+
4657
+ This is a bit hackish for now. The use case here was that
4658
+ a local .js file has to exist, in order for the browser
4659
+ to make use of it. For some reason this was not always
4660
+ the case on webservers I used - so, rather than invest
4661
+ more time to find the real problem, I simply added
4662
+ that method to be done with it and move it. That way
4663
+ I can still call custom javascript functions such
4664
+ as .toggle() and similar functions.
4665
+
4606
4666
  ### JavaScript for-in and for-of loops:
4607
4667
 
4608
4668
  Just examples for each:
@@ -4775,6 +4835,11 @@ See the following file for a working example:
4775
4835
 
4776
4836
  cyberweb/examples/advanced/simple_calculator.cgi
4777
4837
 
4838
+ It looks about this, by default (but remember you
4839
+ can customize it via CSS):
4840
+
4841
+ <img src="https://i.imgur.com/2LPIU49.png" style="margin: 1em">
4842
+
4778
4843
  ## Showing a fancy CSS keyboard
4779
4844
 
4780
4845
  If you use Cyberweb::WebObject then a fancy CSS keyboard
@@ -4926,6 +4991,162 @@ the above could eventually be repurposed for other
4926
4991
  users too, if they have a bunch of external links
4927
4992
  they want to display on their homepage as well.
4928
4993
  I'll think about this for a while.)
4994
+
4995
+ ## cmd1, cmd2, cmd3, cmd4 and cmd5
4996
+
4997
+ The five methods called **cmd1**, **cmd2**, **cmd3**, **cmd4** and
4998
+ **cmd5** can be used to show commands that the user can input; or
4999
+ otherwise points at important content in a paragraph.
5000
+
5001
+ The **1**, **2** or **3** part refers to the indent-level, so
5002
+ the number **3** means **3x the basic indent level**.
5003
+
5004
+ The default indent is "mars2em", which is the class I use to
5005
+ denote:
5006
+
5007
+ margin-left: 2em;
5008
+ margin-right: 2em;
5009
+
5010
+ So that is the default padding I tend to use among my own
5011
+ web-related ruby code. But, fear not, this can be changed
5012
+ by the user at-will, for any given webpage - thus allowing
5013
+ users to customize this, if they want to.
5014
+
5015
+ Note that **cmd** is an alias to **cmd1**. **cmd** in turn
5016
+ originated from **command**, and historically I used this
5017
+ method to display linux-specific commands, to allow me to
5018
+ understand how to operate on a linux system effectively.
5019
+
5020
+ In the last ten years or so, the code for this was stored under the
5021
+ module <b>PredefinedMethods</b>, but in December 2021 this was changed
5022
+ and became part of **internal_hash.rb** instead. The latter shall
5023
+ slowly replace all other toplevel-instance variables for the
5024
+ Cyberweb project. The net gain will be that the new code is
5025
+ easier to maintain.
5026
+
5027
+ In <b>January 2023</b> the old :cmd entries were removed from
5028
+ internal_hash.rb and put into a new class, called
5029
+ Cyberweb::Cmd. This is the base class for Cyberweb::Cmd1,
5030
+ Cyberweb::Cmd2 and so forth. I believe this arrangement
5031
+ makes it easier to maintain the new code; the old code was
5032
+ also polished as it was ported into the new structure.
5033
+
5034
+ What is the use case for cmd1 or cmd2 or cmd3?
5035
+
5036
+ See the following example for this:
5037
+
5038
+ e 'Input these instructions:'
5039
+ br
5040
+ cmd1 'ls -la'
5041
+ cmd2 'cd /tmp'
5042
+ # and so forth
5043
+
5044
+ So here we output a small span-tag, "Input these instructions:",
5045
+ and then we simply show these commands to the user via indented
5046
+ level - cmd1 is first indentation level, cmd2 is the second
5047
+ one, meaning an indentation level of margin-left: 3em, and so
5048
+ forth.
5049
+
5050
+ Note that you can also customize the toplevel CSS for cmd1, cmd2,
5051
+ cmd3, cmd4 and cmd5. The following example shows how to add the
5052
+ <b>steelblue</b> colour to these entries:
5053
+
5054
+ append_to_cmd1 'steelblue'
5055
+ append_to_cmd2 'steelblue'
5056
+ append_to_cmd3 'steelblue'
5057
+ append_to_cmd4 'steelblue'
5058
+ append_to_cmd5 'steelblue'
5059
+
5060
+ However had, only do this when you really want to change the
5061
+ default CSS code there.
5062
+
5063
+ ## Output generated by the cyberweb project, in particular by the web-object
5064
+
5065
+ This subsection was added in January 2023, because I had to rewrite
5066
+ some old functionality, to suit a new use case. This will be explained
5067
+ next.
5068
+
5069
+ Before 2023, the two methods that were in use by Cyberweb::WebObject
5070
+ were:
5071
+
5072
+ ee()
5073
+
5074
+ # and
5075
+
5076
+ e()
5077
+
5078
+ ee() was just an alias over print, in the sense that it would call
5079
+ the method .add() directly, without modifications. .add() will
5080
+ simply add the given input to the html-string variable of the
5081
+ WebObject. This is the string that contains the content of the
5082
+ webpage, e. g. all content of a .html page (or rather, its
5083
+ equivalent).
5084
+
5085
+ e() on the other hand is more important and it is used primarily
5086
+ to generate output. This method will yield a span-tag, and
5087
+ add a br-tag afterwards. This worked very well for my own use
5088
+ cases in the last 15 years or so.
5089
+
5090
+ However had, starting in 2020, I was putting more and more
5091
+ content into projects that cyberweb has to render and handle.
5092
+ In particular, one use case I found to increase in the last
5093
+ 2 years (so from 2020 to 2022) was to use paragraphs such
5094
+ as this:
5095
+
5096
+ p_default {
5097
+ e 'Hello world!'
5098
+ }
5099
+
5100
+ This would generate the following HTML string:
5101
+
5102
+ <p class="default">
5103
+ <span>Hello world!</span>
5104
+ </p>
5105
+
5106
+ For short paragraphs this is ok, but for longer paragraphs
5107
+ things can become a bit messy. It is harder and harder to
5108
+ read the content, in particular when there is a lot of
5109
+ text. So, naturally, to help space things a bit, I would
5110
+ transition to use this instead:
5111
+
5112
+ le 'Hello world!'
5113
+
5114
+ This is exactly as:
5115
+
5116
+ e 'Hello world!'
5117
+
5118
+ but it is making use of a CSS class called "padl2em" (or
5119
+ "padlem"). This CSS class will have a padding on the left
5120
+ hand side, e. g. "padding-left: 2em".
5121
+
5122
+ However had, changing all e() calls to le() calls for
5123
+ every single paragraph is cumbersome, so I wanted to have
5124
+ an alternative to this.
5125
+
5126
+ Thus, in January 2023 I decided to re-arrange the code,
5127
+ and add a new padding-call.
5128
+
5129
+ So, the following variant will make use of e():
5130
+
5131
+ p_default {
5132
+ }
5133
+
5134
+ If you want to use le() instead (the variant for left-padding)
5135
+ then the following variant can be used:
5136
+
5137
+ p_default_le {
5138
+ }
5139
+
5140
+ At a later point in time this may be revisited. For now
5141
+ this has to suffice.
5142
+
5143
+ Note that I am currently (2023) contemplating change
5144
+ the behaviour of ebr(). ebr() was the old legacy
5145
+ function what e() does nowadays. My idea is that
5146
+ ebr() first calls e() and then br() (aka append
5147
+ a br-tag). I have not yet decided on this though -
5148
+ need to test it first.
5149
+
4929
5150
  ## Useful quotes when designing websites and web-apps
4930
5151
 
4931
5152
  The following subsection collects a few <b>interesting statements</b> -
@@ -4934,88 +5155,87 @@ and software engineering in general. Do not take any of these
4934
5155
  at face-value 1:1 but feel free to use any of them them as a
4935
5156
  starting point for **gaining new insights**.
4936
5157
 
4937
- "Any <b>good-enough</b> decision that can be made right now is
5158
+ Any <b>good-enough</b> decision that can be made right now is
4938
5159
  still better than any 'perfect' decision that may come in
4939
- way too late."
5160
+ way too late.“
4940
5161
 
4941
- "When you are creating a website, the primary goal as a designer
5162
+ When you are creating a website, the primary goal as a designer
4942
5163
  should be to get rid of the question marks users have when
4943
- visiting that site."
5164
+ visiting that site.“
4944
5165
 
4945
- "The most important thing a designer can do is to understand
5166
+ The most important thing a designer can do is to understand
4946
5167
  the basic principle of eliminating question marks that a user
4947
- has when visiting a website. Keep things simple."
5168
+ has when visiting a website. Keep things simple.“
4948
5169
 
4949
- "If you can not make something self-evident, you should at the
4950
- least make it self-explanatory."
5170
+ If you can not make something self-evident, you should at the
5171
+ least make it self-explanatory.“
4951
5172
 
4952
- "If a web page is going to be effective, it has to work most
4953
- of its beautiful magic at a single glance."
5173
+ If a web page is going to be effective, it has to work most of
5174
+ its beautiful magic at a single glance.“
4954
5175
 
4955
- "The average visitor rarely spends much time reading all
5176
+ The average visitor rarely spends much time reading all
4956
5177
  content on a given web page, so focus on designing fewer
4957
5178
  elements that can be easily navigated, without too much
4958
- distracting clutter."
5179
+ distracting clutter.“
4959
5180
 
4960
- "If your design forces a visitor to incur a small learning
4961
- curve, make sure that the added value from this design
4962
- change leads to it being worth that additional learning
4963
- curve."
5181
+ If your design forces a visitor to incur a small learning curve,
5182
+ make sure that the added value from this design change leads to
5183
+ it being worth that additional learning curve.“
4964
5184
 
4965
- "Clarity trumps consistency."
5185
+ Clarity trumps consistency.“
4966
5186
 
4967
- "Each webpage should have a clear visual hierarchy."
5187
+ Each webpage should have a clear visual hierarchy.“
4968
5188
 
4969
- "Components in a webpage that are related logically
4970
- should also be related visually."
5189
+ Components in a webpage that are related logically
5190
+ should also be related visually.“
4971
5191
 
4972
- "In order to make a website 'scan-friendly', make good use of
5192
+ In order to make a website 'scan-friendly', make good use of
4973
5193
  headings having a larger font size. The headings should
4974
- indicate what a subsection is about."
5194
+ indicate what a subsection is about.“
4975
5195
 
4976
- "When using a heading, make them visually somewhat closer
5196
+ When using a heading, make them visually somewhat closer
4977
5197
  to the section they belong to, rather than equally spaced
4978
- to the preceding paragraph."
5198
+ to the preceding paragraph.“
4979
5199
 
4980
- "If you need the visitor to make a difficult choice, provide as
5200
+ If you need the visitor to make a difficult choice, provide as
4981
5201
  much guidance as necessary - but not more. Be succinct here
4982
5202
  and provide only the smallest amount of information that
4983
- will help the user."
5203
+ will help the user.“
4984
5204
 
4985
- "Omit needless words. Vigorous writing is concise."
5205
+ Omit needless words. Vigorous writing is concise.“
4986
5206
 
4987
- "Try to make everything on a web-site self-explanatory or as
4988
- close to it as possible."
5207
+ Try to make everything on a web-site self-explanatory or as
5208
+ close to it as possible.“
4989
5209
 
4990
- "Navigation should ideally remain clear, simple, and consistent."
5210
+ Navigation should ideally remain clear, simple, and consistent.“
4991
5211
 
4992
- "It may be useful to consider using an identifier, such as a logo
5212
+ It may be useful to consider using an identifier, such as a logo
4993
5213
  or an image, for the website, and display this e. g. on the
4994
5214
  upper left corner. This may help visitors identify where they
4995
5215
  are, in particular if they tend to use several tabs in their
4996
- browser."
5216
+ browser.“
4997
5217
 
4998
- "If your website makes use of a menu-bar or navigation-bar,
5218
+ If your website makes use of a menu-bar or navigation-bar,
4999
5219
  consider highlighting the current location that the user
5000
- has or uses on that website."
5220
+ has or uses on that website.“
5001
5221
 
5002
- "Ideally a website should convey the big picture, and make it
5003
- clear what the site is about."
5222
+ Ideally a website should convey the big picture, and make it
5223
+ clear what the site is about.“
5004
5224
 
5005
- "If possible consider to use visual identifiers on the
5225
+ If possible consider to use visual identifiers on the
5006
5226
  whole web-application at hand, to give visitors the
5007
5227
  right idea about this being a cohesive and integrated
5008
- unit."
5228
+ unit.“
5009
5229
 
5010
- "Changing a website at a later time is not necessarily trivial.
5230
+ Changing a website at a later time is not necessarily trivial.
5011
5231
  Some percentage of users that have grown accustomed to a
5012
5232
  layout will resist almost any kind of change, and even
5013
5233
  apparently simple changes often turn out to have
5014
- far-reaching effects."
5234
+ far-reaching effects.“
5015
5235
 
5016
- "Focus ruthlessly on fixing the most serious problems first."
5236
+ Focus ruthlessly on fixing the most serious problems first.“
5017
5237
 
5018
- "Make the best decision you can with the information you have."
5238
+ Make the best decision you can with the information you have.“
5019
5239
 
5020
5240
  ## Useful Links
5021
5241