cyberweb 0.8.17 → 0.9.31
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.
- checksums.yaml +4 -4
- data/README.md +274 -86
- data/cyberweb.gemspec +0 -3
- data/doc/README.gen +273 -85
- data/doc/todo/todo_for_the_cyberweb_project.md +100 -99
- data/examples/advanced/draw_circle/draw_circle.cgi +2 -2
- data/examples/advanced/simple_calculator.cgi +4 -4
- data/examples/css/animated_dodecahedron_example/animated_dodecahedron_example.html +107 -0
- data/examples/css/animated_police_box/animated_police_box.html +639 -0
- data/examples/css/animated_solar_system/animated_solar_system.html +168 -0
- data/examples/css/animated_solar_system/css/styles.css +1592 -0
- data/examples/css/animated_solar_system/img/bg-glow.png +0 -0
- data/examples/css/animated_solar_system/img/bg-stars.png +0 -0
- data/examples/css/animated_solar_system/img/p-earth.png +0 -0
- data/examples/css/animated_solar_system/img/p-jupiter.png +0 -0
- data/examples/css/animated_solar_system/img/p-mars.png +0 -0
- data/examples/css/animated_solar_system/img/p-mercury.png +0 -0
- data/examples/css/animated_solar_system/img/p-neptune.png +0 -0
- data/examples/css/animated_solar_system/img/p-saturn.png +0 -0
- data/examples/css/animated_solar_system/img/p-uranus.png +0 -0
- data/examples/css/animated_solar_system/img/p-venus.png +0 -0
- data/examples/css/animated_solar_system/img/sun.png +0 -0
- data/examples/css/animated_solar_system/js/jquery.min.js +4 -0
- data/examples/css/animated_solar_system/js/scripts.js +42 -0
- data/examples/css/animated_solar_system/js/scripts.min.js +1 -0
- data/examples/css/dozing_bird_example/dozing_bird_example.html +358 -0
- data/examples/css/planet_earth_is_rotating/planet_earth_is_rotating.html +130 -0
- data/examples/css/simpler_css_clock/simpler_css_clock.html +125 -0
- data/examples/html/{href_examples.html → href_examples/href_examples.html} +5 -2
- data/examples/html/href_in_pre_tag/href_in_pre_tag.html +39 -0
- data/examples/javascript_and_jquery/toggle_visibility_of_elements/toggle_visibility_of_elements.html +35 -0
- data/examples/simple/toggle_visibility_example/toggle_visibility_example.cgi +36 -0
- data/images/cyberweb_theme.png +0 -0
- data/lib/cyberweb/base/misc.rb +20 -13
- data/lib/cyberweb/cascading_style_sheets/border.css +61 -49
- data/lib/cyberweb/cascading_style_sheets/default.css +17 -8
- data/lib/cyberweb/cascading_style_sheets/fonts.css +6 -2
- data/lib/cyberweb/cascading_style_sheets/glow_effects.css +5 -5
- data/lib/cyberweb/cascading_style_sheets/hover.css +13 -5
- data/lib/cyberweb/cascading_style_sheets/margin.css +3 -0
- data/lib/cyberweb/cmd/README.md +2 -0
- data/lib/cyberweb/cmd/cmd.rb +601 -0
- data/lib/cyberweb/constants/constants.rb +16 -0
- data/lib/cyberweb/generator/cgi.rb +2 -2
- data/lib/cyberweb/html_tags/textarea.rb +54 -23
- data/lib/cyberweb/images/standard_images/ADMIN.png +0 -0
- data/lib/cyberweb/images/standard_images/AMBULANZ.png +0 -0
- data/lib/cyberweb/images/standard_images/ANGRY_SMILEY.png +0 -0
- data/lib/cyberweb/images/standard_images/APPROVE.png +0 -0
- data/lib/cyberweb/images/standard_images/ARROW_LEFT.png +0 -0
- data/lib/cyberweb/images/standard_images/ARROW_RIGHT.png +0 -0
- data/lib/cyberweb/images/standard_images/ARROW_TOOLTIP.gif +0 -0
- data/lib/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN.png +0 -0
- data/lib/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN2.png +0 -0
- data/lib/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN3.png +0 -0
- data/lib/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN4.png +0 -0
- data/lib/cyberweb/images/standard_images/AUSTRIA_FAHNE.jpg +0 -0
- data/lib/cyberweb/images/standard_images/AWARD.png +0 -0
- data/lib/cyberweb/images/standard_images/AXE.png +0 -0
- data/lib/cyberweb/images/standard_images/BACKUP_IMAGE.png +0 -0
- data/lib/cyberweb/images/standard_images/BAGGER.png +0 -0
- data/lib/cyberweb/images/standard_images/BARS.gif +0 -0
- data/lib/cyberweb/images/standard_images/BEGINNER.jpg +0 -0
- data/lib/cyberweb/images/standard_images/BEWERTUNG_1.png +0 -0
- data/lib/cyberweb/images/standard_images/BEWERTUNG_2.png +0 -0
- data/lib/cyberweb/images/standard_images/BEWERTUNG_3.png +0 -0
- data/lib/cyberweb/images/standard_images/BEWERTUNG_4.png +0 -0
- data/lib/cyberweb/images/standard_images/BEWERTUNG_5.png +0 -0
- data/lib/cyberweb/images/standard_images/BEWERTUNG_6.png +0 -0
- data/lib/cyberweb/images/standard_images/BIG_STAR.png +0 -0
- data/lib/cyberweb/images/standard_images/BIKE.png +0 -0
- data/lib/cyberweb/images/standard_images/BIO.png +0 -0
- data/lib/cyberweb/images/standard_images/BIOS.gif +0 -0
- data/lib/cyberweb/images/standard_images/BLOB.png +0 -0
- data/lib/cyberweb/images/standard_images/BLOG.png +0 -0
- data/lib/cyberweb/images/standard_images/BLUEARROW.png +0 -0
- data/lib/cyberweb/images/standard_images/BLUE_HEAD.gif +0 -0
- data/lib/cyberweb/images/standard_images/BLUE_PILL.png +0 -0
- data/lib/cyberweb/images/standard_images/BLUME.png +0 -0
- data/lib/cyberweb/images/standard_images/BOHRER.png +0 -0
- data/lib/cyberweb/images/standard_images/BOOK_CLOSED.png +0 -0
- data/lib/cyberweb/images/standard_images/BOOK_OPENED.png +0 -0
- data/lib/cyberweb/images/standard_images/BUBBLE.png +0 -0
- data/lib/cyberweb/images/standard_images/BUECHER.jpg +0 -0
- data/lib/cyberweb/images/standard_images/BUERO_KLAMMER.png +0 -0
- data/lib/cyberweb/images/standard_images/BUSINESS.png +0 -0
- data/lib/cyberweb/images/standard_images/BUTTON1.gif +0 -0
- data/lib/cyberweb/images/standard_images/CAMERA.png +0 -0
- data/lib/cyberweb/images/standard_images/CAT.png +0 -0
- data/lib/cyberweb/images/standard_images/CAUTION.png +0 -0
- data/lib/cyberweb/images/standard_images/CHAOTIC_IMAGE.png +0 -0
- data/lib/cyberweb/images/standard_images/CHECKBOX_OFF.png +0 -0
- data/lib/cyberweb/images/standard_images/CHECKBOX_ON.png +0 -0
- data/lib/cyberweb/images/standard_images/CHEERING_PERSON.png +0 -0
- data/lib/cyberweb/images/standard_images/CLOSED.png +0 -0
- data/lib/cyberweb/images/standard_images/COMMAND_ICO.png +0 -0
- data/lib/cyberweb/images/standard_images/COMPLEX.png +0 -0
- data/lib/cyberweb/images/standard_images/COMPONENTS.png +0 -0
- data/lib/cyberweb/images/standard_images/COMPUTER.png +0 -0
- data/lib/cyberweb/images/standard_images/CONNECTED.png +0 -0
- data/lib/cyberweb/images/standard_images/CONTACT.png +0 -0
- data/lib/cyberweb/images/standard_images/COPY.png +0 -0
- data/lib/cyberweb/images/standard_images/CSS.png +0 -0
- data/lib/cyberweb/images/standard_images/CURSOR.png +0 -0
- data/lib/cyberweb/images/standard_images/CUTE_BUBBA.png +0 -0
- data/lib/cyberweb/images/standard_images/CUTE_MOUSE.png +0 -0
- data/lib/cyberweb/images/standard_images/DEVELOP.png +0 -0
- data/lib/cyberweb/images/standard_images/DIAMOND_SHELL.png +0 -0
- data/lib/cyberweb/images/standard_images/DIE_PERFEKTE_AUSBILDUNG.png +0 -0
- data/lib/cyberweb/images/standard_images/DOCUMENTATION.png +0 -0
- data/lib/cyberweb/images/standard_images/DOKUMENT.png +0 -0
- data/lib/cyberweb/images/standard_images/DOT_01.png +0 -0
- data/lib/cyberweb/images/standard_images/DOT_02.png +0 -0
- data/lib/cyberweb/images/standard_images/DOT_03.png +0 -0
- data/lib/cyberweb/images/standard_images/DOT_04.png +0 -0
- data/lib/cyberweb/images/standard_images/DOT_05.png +0 -0
- data/lib/cyberweb/images/standard_images/DOT_06.png +0 -0
- data/lib/cyberweb/images/standard_images/DOT_07.png +0 -0
- data/lib/cyberweb/images/standard_images/DOT_08.png +0 -0
- data/lib/cyberweb/images/standard_images/DOT_09.png +0 -0
- data/lib/cyberweb/images/standard_images/DOT_10.png +0 -0
- data/lib/cyberweb/images/standard_images/DOT_11.png +0 -0
- data/lib/cyberweb/images/standard_images/DOT_12.png +0 -0
- data/lib/cyberweb/images/standard_images/DOWNLOAD.png +0 -0
- data/lib/cyberweb/images/standard_images/DOWNLOAD2.png +0 -0
- data/lib/cyberweb/images/standard_images/DOWNLOAD_PACKAGE.png +0 -0
- data/lib/cyberweb/images/standard_images/DUCK.png +0 -0
- data/lib/cyberweb/images/standard_images/DUCKY.png +0 -0
- data/lib/cyberweb/images/standard_images/EINKAUFSKORB.png +0 -0
- data/lib/cyberweb/images/standard_images/EINKAUFSWAGEN.png +0 -0
- data/lib/cyberweb/images/standard_images/ELLIPSE.png +0 -0
- data/lib/cyberweb/images/standard_images/EMAIL_FANCY.png +0 -0
- data/lib/cyberweb/images/standard_images/EMAIL_FAVICON.png +0 -0
- data/lib/cyberweb/images/standard_images/EMAIL_FAVICON.xpm +176 -0
- data/lib/cyberweb/images/standard_images/ENGLISH.jpg +0 -0
- data/lib/cyberweb/images/standard_images/ERRORS.png +0 -0
- data/lib/cyberweb/images/standard_images/EURO.png +0 -0
- data/lib/cyberweb/images/standard_images/EVAL/01_STAR.png +0 -0
- data/lib/cyberweb/images/standard_images/EVAL/02_STAR.png +0 -0
- data/lib/cyberweb/images/standard_images/EVAL/03_STAR.png +0 -0
- data/lib/cyberweb/images/standard_images/EVAL/04_STAR.png +0 -0
- data/lib/cyberweb/images/standard_images/EVAL/05_STAR.png +0 -0
- data/lib/cyberweb/images/standard_images/EVAL/0x_STAR.png +0 -0
- data/lib/cyberweb/images/standard_images/EVAL/1x_STAR.png +0 -0
- data/lib/cyberweb/images/standard_images/EVAL/2x_STAR.png +0 -0
- data/lib/cyberweb/images/standard_images/EVAL/3x_STAR.png +0 -0
- data/lib/cyberweb/images/standard_images/EVAL/4x_STAR.png +0 -0
- data/lib/cyberweb/images/standard_images/EXTERNAL_LINK.png +0 -0
- data/lib/cyberweb/images/standard_images/EYE.png +0 -0
- data/lib/cyberweb/images/standard_images/FAQ.png +0 -0
- data/lib/cyberweb/images/standard_images/FERNGLAS.png +0 -0
- data/lib/cyberweb/images/standard_images/FLOWER_1.png +0 -0
- data/lib/cyberweb/images/standard_images/FLOWER_2.png +0 -0
- data/lib/cyberweb/images/standard_images/FLUGZEUG1.jpg +0 -0
- data/lib/cyberweb/images/standard_images/FOLDER.png +0 -0
- data/lib/cyberweb/images/standard_images/FORK.png +0 -0
- data/lib/cyberweb/images/standard_images/FORUM.png +0 -0
- data/lib/cyberweb/images/standard_images/FOTOAPPARAT.png +0 -0
- data/lib/cyberweb/images/standard_images/FOTO_FAVICON.png +0 -0
- data/lib/cyberweb/images/standard_images/FRAGEZEICHEN.jpg +0 -0
- data/lib/cyberweb/images/standard_images/FTP.png +0 -0
- data/lib/cyberweb/images/standard_images/FUNNY_ELEPHANT.png +0 -0
- data/lib/cyberweb/images/standard_images/FUSSBALL.png +0 -0
- data/lib/cyberweb/images/standard_images/F/303/204CHER.png +0 -0
- data/lib/cyberweb/images/standard_images/GATEWAY.png +0 -0
- data/lib/cyberweb/images/standard_images/GB.jpg +0 -0
- data/lib/cyberweb/images/standard_images/GENDER_ICON_FEMALE.png +0 -0
- data/lib/cyberweb/images/standard_images/GENDER_ICON_MALE.png +0 -0
- data/lib/cyberweb/images/standard_images/GERMANY_FLAG.png +0 -0
- data/lib/cyberweb/images/standard_images/GERSTE.png +0 -0
- data/lib/cyberweb/images/standard_images/GESCHENKBOX.png +0 -0
- data/lib/cyberweb/images/standard_images/GET_HELP.png +0 -0
- data/lib/cyberweb/images/standard_images/GITARRE.png +0 -0
- data/lib/cyberweb/images/standard_images/GOOGLE.png +0 -0
- data/lib/cyberweb/images/standard_images/GORILLA.gif +0 -0
- data/lib/cyberweb/images/standard_images/GOTHIC_SPACER.png +0 -0
- data/lib/cyberweb/images/standard_images/GRADIENT_FILL.gif +0 -0
- data/lib/cyberweb/images/standard_images/GRAFIK_SMALL.png +0 -0
- data/lib/cyberweb/images/standard_images/GRID_LAYOUT.gif +0 -0
- data/lib/cyberweb/images/standard_images/GRINSEN.jpg +0 -0
- data/lib/cyberweb/images/standard_images/GUN.png +0 -0
- data/lib/cyberweb/images/standard_images/HAKEN.png +0 -0
- data/lib/cyberweb/images/standard_images/HALLOWEEN.png +0 -0
- data/lib/cyberweb/images/standard_images/HAMMER.png +0 -0
- data/lib/cyberweb/images/standard_images/HANGING_MONKEY.png +0 -0
- data/lib/cyberweb/images/standard_images/HANG_MAN.png +0 -0
- data/lib/cyberweb/images/standard_images/HAPPY_BIRD.png +0 -0
- data/lib/cyberweb/images/standard_images/HAPPY_SMILEY.png +0 -0
- data/lib/cyberweb/images/standard_images/HDD_EMPTY.png +0 -0
- data/lib/cyberweb/images/standard_images/HDD_FULL.png +0 -0
- data/lib/cyberweb/images/standard_images/HDD_HALF.png +0 -0
- data/lib/cyberweb/images/standard_images/HDD_ONEFOURTH.png +0 -0
- data/lib/cyberweb/images/standard_images/HDD_THREEEIGHT.png +0 -0
- data/lib/cyberweb/images/standard_images/HDD_THREEFOURTH.png +0 -0
- data/lib/cyberweb/images/standard_images/HEART.png +0 -0
- data/lib/cyberweb/images/standard_images/HELP.png +0 -0
- data/lib/cyberweb/images/standard_images/HOME.gif +0 -0
- data/lib/cyberweb/images/standard_images/HONIG.jpg +0 -0
- data/lib/cyberweb/images/standard_images/HTML40.png +0 -0
- data/lib/cyberweb/images/standard_images/HUHN.gif +0 -0
- data/lib/cyberweb/images/standard_images/HUMAN.gif +0 -0
- data/lib/cyberweb/images/standard_images/ICONS_COLLECTION1.gif +0 -0
- data/lib/cyberweb/images/standard_images/ICONS_COLLECTION2.png +0 -0
- data/lib/cyberweb/images/standard_images/ICOSAHEDRON.jpg +0 -0
- data/lib/cyberweb/images/standard_images/IE.jpg +0 -0
- data/lib/cyberweb/images/standard_images/IMPORTANT_ARROW_LEFT.jpg +0 -0
- data/lib/cyberweb/images/standard_images/INTERNAL_LINKS.png +0 -0
- data/lib/cyberweb/images/standard_images/IPAD.png +0 -0
- data/lib/cyberweb/images/standard_images/ITEM.png +0 -0
- data/lib/cyberweb/images/standard_images/KAFFEE.png +0 -0
- data/lib/cyberweb/images/standard_images/KARMA.png +0 -0
- data/lib/cyberweb/images/standard_images/KEYS.png +0 -0
- data/lib/cyberweb/images/standard_images/KLEBSTOFF.png +0 -0
- data/lib/cyberweb/images/standard_images/KLEE_BLATT.png +0 -0
- data/lib/cyberweb/images/standard_images/KNIFE01.png +0 -0
- data/lib/cyberweb/images/standard_images/LARGER_COMPUTER.png +0 -0
- data/lib/cyberweb/images/standard_images/LCD.png +0 -0
- data/lib/cyberweb/images/standard_images/LEAF.png +0 -0
- data/lib/cyberweb/images/standard_images/LEAF2.png +0 -0
- data/lib/cyberweb/images/standard_images/LEFT_RIGHT_PFEIL.png +0 -0
- data/lib/cyberweb/images/standard_images/LENS.png +0 -0
- data/lib/cyberweb/images/standard_images/LEXIKON1.jpg +0 -0
- data/lib/cyberweb/images/standard_images/LOCK.png +0 -0
- data/lib/cyberweb/images/standard_images/LOSER.gif +0 -0
- data/lib/cyberweb/images/standard_images/LUPE.gif +0 -0
- data/lib/cyberweb/images/standard_images/MANTIS.png +0 -0
- data/lib/cyberweb/images/standard_images/MAXERL.png +0 -0
- data/lib/cyberweb/images/standard_images/MESSAGE_BOX_ERROR.png +0 -0
- data/lib/cyberweb/images/standard_images/MESSAGE_BOX_INFO.png +0 -0
- data/lib/cyberweb/images/standard_images/MESSAGE_BOX_SUCCESS.png +0 -0
- data/lib/cyberweb/images/standard_images/MESSAGE_BOX_WARNING.png +0 -0
- data/lib/cyberweb/images/standard_images/MICROSOFT.png +0 -0
- data/lib/cyberweb/images/standard_images/MINE.png +0 -0
- data/lib/cyberweb/images/standard_images/MINI_BAUM1.png +0 -0
- data/lib/cyberweb/images/standard_images/MINI_BAUM2.png +0 -0
- data/lib/cyberweb/images/standard_images/MINI_BAUM3.png +0 -0
- data/lib/cyberweb/images/standard_images/MINI_BAUM4.png +0 -0
- data/lib/cyberweb/images/standard_images/MINI_BAUM5.png +0 -0
- data/lib/cyberweb/images/standard_images/MINI_BAUM6.png +0 -0
- data/lib/cyberweb/images/standard_images/MINI_CUBE.png +0 -0
- data/lib/cyberweb/images/standard_images/MINI_DOT.png +0 -0
- data/lib/cyberweb/images/standard_images/MINUS.png +0 -0
- data/lib/cyberweb/images/standard_images/MONEY.png +0 -0
- data/lib/cyberweb/images/standard_images/MOUSE.png +0 -0
- data/lib/cyberweb/images/standard_images/MUSIK_NOTE.png +0 -0
- data/lib/cyberweb/images/standard_images/NAGEL.jpg +0 -0
- data/lib/cyberweb/images/standard_images/NASHORN.png +0 -0
- data/lib/cyberweb/images/standard_images/NEW.png +0 -0
- data/lib/cyberweb/images/standard_images/NEWS.png +0 -0
- data/lib/cyberweb/images/standard_images/NOBODY.png +0 -0
- data/lib/cyberweb/images/standard_images/NOTE.png +0 -0
- data/lib/cyberweb/images/standard_images/NOTEPAD.png +0 -0
- data/lib/cyberweb/images/standard_images/NOTIZ.png +0 -0
- data/lib/cyberweb/images/standard_images/NO_PATENTS.png +0 -0
- data/lib/cyberweb/images/standard_images/OBSOLETE.png +0 -0
- data/lib/cyberweb/images/standard_images/OFFICIAL_HOME.png +0 -0
- data/lib/cyberweb/images/standard_images/PDF.png +0 -0
- data/lib/cyberweb/images/standard_images/PERGAMENT_TILER1.jpg +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL1.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL10.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL11.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL12.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL2.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL3.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL4.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL5.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL6.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL6_red.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL7.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL8_OUT.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL9.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL_LINKS_OBEN.png +0 -0
- data/lib/cyberweb/images/standard_images/PFEIL_VERTICAL.png +0 -0
- data/lib/cyberweb/images/standard_images/PHONE.png +0 -0
- data/lib/cyberweb/images/standard_images/PHP_FORUM.jpg +0 -0
- data/lib/cyberweb/images/standard_images/PIN.png +0 -0
- data/lib/cyberweb/images/standard_images/PIN_POINTER_RED.png +0 -0
- data/lib/cyberweb/images/standard_images/PIPETTE.png +0 -0
- data/lib/cyberweb/images/standard_images/PLUS.png +0 -0
- data/lib/cyberweb/images/standard_images/POSAUNE.png +0 -0
- data/lib/cyberweb/images/standard_images/PRESENT.png +0 -0
- data/lib/cyberweb/images/standard_images/PRINT.png +0 -0
- data/lib/cyberweb/images/standard_images/PRINTER.png +0 -0
- data/lib/cyberweb/images/standard_images/PROTOKOLL.png +0 -0
- data/lib/cyberweb/images/standard_images/QUADRAT01.png +0 -0
- data/lib/cyberweb/images/standard_images/QUOTE.png +0 -0
- data/lib/cyberweb/images/standard_images/RADIO_ACTIVE.png +0 -0
- data/lib/cyberweb/images/standard_images/RAINBOW_CIRCLE.png +0 -0
- data/lib/cyberweb/images/standard_images/RED_PILL.png +0 -0
- data/lib/cyberweb/images/standard_images/RIP.png +0 -0
- data/lib/cyberweb/images/standard_images/ROBERT.png +0 -0
- data/lib/cyberweb/images/standard_images/ROCKET.png +0 -0
- data/lib/cyberweb/images/standard_images/ROSE.png +0 -0
- data/lib/cyberweb/images/standard_images/ROSE2.png +0 -0
- data/lib/cyberweb/images/standard_images/RUNNING.png +0 -0
- data/lib/cyberweb/images/standard_images/SAVE.png +0 -0
- data/lib/cyberweb/images/standard_images/SCANNER.png +0 -0
- data/lib/cyberweb/images/standard_images/SCHERE.png +0 -0
- data/lib/cyberweb/images/standard_images/SCHNEEMANN.png +0 -0
- data/lib/cyberweb/images/standard_images/SCISSORS.png +0 -0
- data/lib/cyberweb/images/standard_images/SHOPPING.png +0 -0
- data/lib/cyberweb/images/standard_images/SKULL.png +0 -0
- data/lib/cyberweb/images/standard_images/SMALL_CAT.png +0 -0
- data/lib/cyberweb/images/standard_images/SMALL_DOCUMENT.png +0 -0
- data/lib/cyberweb/images/standard_images/SMALL_HOUSE.png +0 -0
- data/lib/cyberweb/images/standard_images/SMALL_PLANE.png +0 -0
- data/lib/cyberweb/images/standard_images/SMILEY1.png +0 -0
- data/lib/cyberweb/images/standard_images/SMILEY2.png +0 -0
- data/lib/cyberweb/images/standard_images/SMILEY3.png +0 -0
- data/lib/cyberweb/images/standard_images/SMILEY4.png +0 -0
- data/lib/cyberweb/images/standard_images/SMILEY5.png +0 -0
- data/lib/cyberweb/images/standard_images/SNAIL.png +0 -0
- data/lib/cyberweb/images/standard_images/SNOWFLAKE.png +0 -0
- data/lib/cyberweb/images/standard_images/SPACER.png +0 -0
- data/lib/cyberweb/images/standard_images/SPECIAL_PFEIL.png +0 -0
- data/lib/cyberweb/images/standard_images/SPIDERMAN_HEAD.png +0 -0
- data/lib/cyberweb/images/standard_images/SPIRAL_CROSS.png +0 -0
- data/lib/cyberweb/images/standard_images/SPOON.png +0 -0
- data/lib/cyberweb/images/standard_images/SQUARE_BLACK.png +0 -0
- data/lib/cyberweb/images/standard_images/SQUARE_BLUE.png +0 -0
- data/lib/cyberweb/images/standard_images/SQUARE_CADETBLUE.png +0 -0
- data/lib/cyberweb/images/standard_images/SQUARE_CHAOS.png +0 -0
- data/lib/cyberweb/images/standard_images/SQUARE_DARKGOLDENROD.png +0 -0
- data/lib/cyberweb/images/standard_images/SQUARE_GREEN.png +0 -0
- data/lib/cyberweb/images/standard_images/SQUARE_GREY.png +0 -0
- data/lib/cyberweb/images/standard_images/SQUARE_RED.png +0 -0
- data/lib/cyberweb/images/standard_images/SQUARE_VIOLET.png +0 -0
- data/lib/cyberweb/images/standard_images/SQUARE_WHITE.png +0 -0
- data/lib/cyberweb/images/standard_images/SQUARE_YEL.png +0 -0
- data/lib/cyberweb/images/standard_images/STANDARDS_FAVICON.png +0 -0
- data/lib/cyberweb/images/standard_images/STAR.png +0 -0
- data/lib/cyberweb/images/standard_images/STAR_FANCY.png +0 -0
- data/lib/cyberweb/images/standard_images/STATUS_IN_PROGRESS.png +0 -0
- data/lib/cyberweb/images/standard_images/STD_COLOURS.png +0 -0
- data/lib/cyberweb/images/standard_images/SUN.png +0 -0
- data/lib/cyberweb/images/standard_images/SYMBOL_FRAU.png +0 -0
- data/lib/cyberweb/images/standard_images/SYMBOL_MANN.png +0 -0
- data/lib/cyberweb/images/standard_images/SYNC.png +0 -0
- data/lib/cyberweb/images/standard_images/TASCHENLAMPE.jpg +0 -0
- data/lib/cyberweb/images/standard_images/TASTATUR.png +0 -0
- data/lib/cyberweb/images/standard_images/TECHNICOLOR_TWIRL.png +0 -0
- data/lib/cyberweb/images/standard_images/TELEFON.png +0 -0
- data/lib/cyberweb/images/standard_images/TEST.bmp +0 -0
- data/lib/cyberweb/images/standard_images/TEUFELCHEN.png +0 -0
- data/lib/cyberweb/images/standard_images/THERMOMETER.png +0 -0
- data/lib/cyberweb/images/standard_images/THINKING_HUMAN.png +0 -0
- data/lib/cyberweb/images/standard_images/TODO.jpg +0 -0
- data/lib/cyberweb/images/standard_images/TODO.png +0 -0
- data/lib/cyberweb/images/standard_images/TOOLS.png +0 -0
- data/lib/cyberweb/images/standard_images/TRANSPORT.png +0 -0
- data/lib/cyberweb/images/standard_images/TRIANGLE.png +0 -0
- data/lib/cyberweb/images/standard_images/TURM.png +0 -0
- data/lib/cyberweb/images/standard_images/UHR.png +0 -0
- data/lib/cyberweb/images/standard_images/UPLOAD2.png +0 -0
- data/lib/cyberweb/images/standard_images/USB_CONNECTION_DEVICE.png +0 -0
- data/lib/cyberweb/images/standard_images/VALID_CSS.jpg +0 -0
- data/lib/cyberweb/images/standard_images/VALID_HTML.jpg +0 -0
- data/lib/cyberweb/images/standard_images/VIDEOCAMERA.png +0 -0
- data/lib/cyberweb/images/standard_images/VOGEL.png +0 -0
- data/lib/cyberweb/images/standard_images/VS_TCPA.gif +0 -0
- data/lib/cyberweb/images/standard_images/WARNSCHILD.png +0 -0
- data/lib/cyberweb/images/standard_images/WEBSERVER.png +0 -0
- data/lib/cyberweb/images/standard_images/WECKER.jpg +0 -0
- data/lib/cyberweb/images/standard_images/WINGS.png +0 -0
- data/lib/cyberweb/images/standard_images/WORD.png +0 -0
- data/lib/cyberweb/images/standard_images/WURZEL_ZEICHEN.png +0 -0
- data/lib/cyberweb/images/standard_images/YIN_YANG.png +0 -0
- data/lib/cyberweb/images/standard_images/Yin__Yang.gif +0 -0
- data/lib/cyberweb/images/standard_images/ZAHNRAD.png +0 -0
- data/lib/cyberweb/images/standard_images/ZAUBERHUT.png +0 -0
- data/lib/cyberweb/images/standard_images/ZITRONE.png +0 -0
- data/lib/cyberweb/images/standard_images/ZURUECK.jpg +0 -0
- data/lib/cyberweb/images/standard_images/blue_gallery.png +0 -0
- data/lib/cyberweb/images/standard_images/chk_off.png +0 -0
- data/lib/cyberweb/images/standard_images/chk_on.png +0 -0
- data/lib/cyberweb/images/standard_images/outdated.png +0 -0
- data/lib/cyberweb/images/standard_images/rdo_off.png +0 -0
- data/lib/cyberweb/images/standard_images/rdo_on.png +0 -0
- data/lib/cyberweb/images/standard_images/sneaky_ninja_face.png +0 -0
- data/lib/cyberweb/images/standard_images/standard_images.html +31644 -0
- data/lib/cyberweb/images/standard_images/text_editor.png +0 -0
- data/lib/cyberweb/images/standard_images/windows_key.png +0 -0
- data/lib/cyberweb/javascript/javascript_clock.rb +55 -12
- data/lib/cyberweb/javascript_code/custom_functions.js +73 -23
- data/lib/cyberweb/javascript_code/html_colours.js +9 -9
- data/lib/cyberweb/javascript_code/jquery/{jquery-3.6.1.js → jquery-3.6.3.js} +96 -12
- data/lib/cyberweb/predefined_and_freeform_methods/predefined_methods.rb +0 -112
- data/lib/cyberweb/project/project.rb +7 -0
- data/lib/cyberweb/requires/require_the_cyberweb_project.rb +3 -1
- data/lib/cyberweb/toplevel_methods/css.rb +3 -0
- data/lib/cyberweb/toplevel_methods/html_tables.rb +58 -29
- data/lib/cyberweb/toplevel_methods/internal_hash.rb +11 -138
- data/lib/cyberweb/toplevel_methods/misc.rb +37 -4
- data/lib/cyberweb/toplevel_methods/path.rb +8 -8
- data/lib/cyberweb/toplevel_methods/registered_ids.rb +4 -1
- data/lib/cyberweb/utility_scripts/images_to_html/constants.rb +63 -0
- data/lib/cyberweb/utility_scripts/images_to_html/images_to_html.rb +149 -164
- data/lib/cyberweb/utility_scripts/images_to_html/misc.rb +119 -0
- data/lib/cyberweb/version/version.rb +2 -2
- data/lib/cyberweb/web_images/array_listing_all_project_images.rb +1 -1
- data/lib/cyberweb/web_images/map_symbol_to_image_location.rb +16 -5
- data/lib/cyberweb/web_object/cmd.rb +257 -0
- data/lib/cyberweb/web_object/display_output_and_report.rb +99 -0
- data/lib/cyberweb/web_object/html_tags.rb +106 -98
- data/lib/cyberweb/web_object/images.rb +53 -36
- data/lib/cyberweb/web_object/javascript_and_jquery.rb +165 -51
- data/lib/cyberweb/web_object/link.rb +207 -34
- data/lib/cyberweb/web_object/misc.rb +1363 -1060
- data/lib/cyberweb/web_object/reset.rb +12 -10
- data/lib/cyberweb/web_object/roebe.rb +113 -0
- data/lib/cyberweb/web_object/web_object.rb +9 -4
- data/lib/cyberweb/yaml/js_files_to_load.yml +11 -3
- data/lib/cyberweb/yaml/project_configuration.yml +1 -1
- data/test/complex_tests/all_tests_in_one_page.cgi +12 -6
- data/test/javascript/testing_different_javascript_functions_available_in_the_cyberweb_project.cgi +27 -0
- data/test/javascript/testing_snowflakes.cgi +2 -2
- data/test/simple_tests/testing_p_default_versus_p_default_le.cgi +31 -0
- metadata +379 -15
- data/lib/cyberweb/javascript_code/jquery/jquery-3.6.0.js +0 -10881
@@ -10,6 +10,171 @@ module Cyberweb
|
|
10
10
|
|
11
11
|
class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
|
12
12
|
|
13
|
+
# ========================================================================= #
|
14
|
+
# === Javascript_write
|
15
|
+
# ========================================================================= #
|
16
|
+
def javascript_write(
|
17
|
+
i = 'Hello world!'
|
18
|
+
)
|
19
|
+
addnl(
|
20
|
+
return_javascript(
|
21
|
+
'document.write('+i.to_s+')'
|
22
|
+
)
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
# ========================================================================= #
|
27
|
+
# === return_javascript
|
28
|
+
#
|
29
|
+
# This method would yield a String such as:
|
30
|
+
#
|
31
|
+
# "\n<script>\n\nabc\n</script>\n"
|
32
|
+
#
|
33
|
+
# ========================================================================= #
|
34
|
+
def return_javascript(i)
|
35
|
+
::Cyberweb.return_javascript(i)
|
36
|
+
end
|
37
|
+
|
38
|
+
# ========================================================================= #
|
39
|
+
# === dump_all_javascript
|
40
|
+
#
|
41
|
+
# This method was added in February 2023. It can be used to read the
|
42
|
+
# content of all .js files that are distributed by the cyberweb
|
43
|
+
# project, and present it as one large string. This is an alternative
|
44
|
+
# to the requirement of the browser normally needing to read from
|
45
|
+
# a local .js file. I actually ran into permission issues in February
|
46
|
+
# 2023, so I decided to add a "hackish" work-around over that
|
47
|
+
# problem - thus the method was added.
|
48
|
+
# ========================================================================= #
|
49
|
+
def dump_all_javascript
|
50
|
+
_ = ''.dup
|
51
|
+
# ======================================================================= #
|
52
|
+
# Build up the String next:
|
53
|
+
# ======================================================================= #
|
54
|
+
path_to_use = sitelibdir?+
|
55
|
+
'cyberweb/javascript_code/'
|
56
|
+
js_files_to_load?.each {|this_js_file|
|
57
|
+
full_path = path_to_use+
|
58
|
+
this_js_file
|
59
|
+
if File.exist? full_path
|
60
|
+
_ << File.read(full_path)+"\n"
|
61
|
+
else
|
62
|
+
# _ << "THE PATH IS\n"
|
63
|
+
# _ << full_path+"\n"
|
64
|
+
end
|
65
|
+
}
|
66
|
+
append_onto_the_main_javascript_variable(return_javascript(_))
|
67
|
+
end
|
68
|
+
|
69
|
+
# ========================================================================= #
|
70
|
+
# === append_onto_the_main_javascript_variable
|
71
|
+
# ========================================================================= #
|
72
|
+
def append_onto_the_main_javascript_variable(i)
|
73
|
+
@internal_hash[:javascript] << i
|
74
|
+
end
|
75
|
+
|
76
|
+
# ========================================================================= #
|
77
|
+
# === javascript_file=
|
78
|
+
#
|
79
|
+
# A wrapper towards cyberweb.rb and javascript_file() method.
|
80
|
+
#
|
81
|
+
# Usage example:
|
82
|
+
#
|
83
|
+
# w.javascript_file = :fader
|
84
|
+
#
|
85
|
+
# ========================================================================= #
|
86
|
+
def javascript_file=(i)
|
87
|
+
_ = "#{javascript_file(i.dup)}#{N}"
|
88
|
+
@internal_hash[:javascript] << _
|
89
|
+
end; alias link_in_javascript javascript_file= # === link_in_javascript
|
90
|
+
alias load_javascript javascript_file= # === load_javascript
|
91
|
+
|
92
|
+
# ========================================================================= #
|
93
|
+
# === return_default_javascript
|
94
|
+
# ========================================================================= #
|
95
|
+
def return_default_javascript#(
|
96
|
+
# i = ::Cyberweb.converted_path_to_data # Disabled this line as of October 2022.
|
97
|
+
#)
|
98
|
+
#::Cyberweb.return_default_javascript(i)
|
99
|
+
_ = ''.dup
|
100
|
+
# path_to_use = ::Cyberweb.converted_path_to_project_base_dir
|
101
|
+
# path_to_use = ::Cyberweb.log_dir?+'javascript_code/'
|
102
|
+
path_to_use = ::Cyberweb.converted_path_to_the_directory_containing_the_copied_javascript_files
|
103
|
+
array = ARRAY_DEFAULT_JAVASCRIPT_LIBRARIES
|
104
|
+
_ = ''.dup # This String will be returned.
|
105
|
+
array.each {|entry|
|
106
|
+
full_path = "#{path_to_use}#{entry}".dup
|
107
|
+
_ << '<script src="'+full_path+'"'
|
108
|
+
_ = _.ljust(48)
|
109
|
+
_ << ' type="text/javascript"></script>'
|
110
|
+
_ << NL
|
111
|
+
}
|
112
|
+
return _
|
113
|
+
end
|
114
|
+
|
115
|
+
# ========================================================================= #
|
116
|
+
# === body_javascript=
|
117
|
+
#
|
118
|
+
# This method sets the @body_javascript ivar. This variable will be used
|
119
|
+
# for making the <body> of a HTML page, at the least to JavaScript
|
120
|
+
# that is associated with the <body> tag. Normally this is not in use
|
121
|
+
# for most webpages though.
|
122
|
+
#
|
123
|
+
# As of September 2011 it is required that the last character is a ';'.
|
124
|
+
# If this is not the case it will be appended.
|
125
|
+
#
|
126
|
+
# Usage example:
|
127
|
+
#
|
128
|
+
# w.body_onload = 'draginit()' # This is an alias.
|
129
|
+
#
|
130
|
+
# ========================================================================= #
|
131
|
+
def body_javascript=(
|
132
|
+
this_javascript = ''
|
133
|
+
)
|
134
|
+
@internal_hash[:body_javascript] << this_javascript
|
135
|
+
if @internal_hash[:body_javascript] and @internal_hash[:body_javascript].end_with?(';')
|
136
|
+
else
|
137
|
+
if @internal_hash[:body_javascript].frozen?
|
138
|
+
@internal_hash[:body_javascript] = @internal_hash[:body_javascript].dup
|
139
|
+
end
|
140
|
+
@internal_hash[:body_javascript] << ';'
|
141
|
+
end
|
142
|
+
end
|
143
|
+
# ======================================================================= #
|
144
|
+
# === onload=
|
145
|
+
#
|
146
|
+
# Right now this is an alias towards the above method. But one day
|
147
|
+
# this may change (May 2011)
|
148
|
+
# ======================================================================= #
|
149
|
+
alias onload= body_javascript= # === onload=
|
150
|
+
alias onload body_javascript= # === onload
|
151
|
+
alias body_onload= body_javascript= # === body_onload=
|
152
|
+
|
153
|
+
# ========================================================================= #
|
154
|
+
# === body_javascript?
|
155
|
+
# ========================================================================= #
|
156
|
+
def body_javascript?
|
157
|
+
@internal_hash[:body_javascript]
|
158
|
+
end
|
159
|
+
|
160
|
+
# ========================================================================= #
|
161
|
+
# === javascript?
|
162
|
+
# ========================================================================= #
|
163
|
+
def javascript?
|
164
|
+
@internal_hash[:javascript]
|
165
|
+
end
|
166
|
+
|
167
|
+
# ========================================================================= #
|
168
|
+
# === js_files_to_load?
|
169
|
+
#
|
170
|
+
# This method will return which .js files are to be loaded by the
|
171
|
+
# cyberweb project. This is normally defined in the file at
|
172
|
+
# 'cyberweb/yaml/js_files_to_load.yml'.
|
173
|
+
# ========================================================================= #
|
174
|
+
def js_files_to_load?
|
175
|
+
ARRAY_DEFAULT_JAVASCRIPT_LIBRARIES
|
176
|
+
end
|
177
|
+
|
13
178
|
# ========================================================================= #
|
14
179
|
# === ejavascript
|
15
180
|
#
|
@@ -84,13 +249,6 @@ EOF
|
|
84
249
|
ejavascript(content)
|
85
250
|
end
|
86
251
|
|
87
|
-
# ========================================================================= #
|
88
|
-
# === return_javascript
|
89
|
-
# ========================================================================= #
|
90
|
-
def return_javascript(i)
|
91
|
-
::Cyberweb.return_javascript(i)
|
92
|
-
end
|
93
|
-
|
94
252
|
# ========================================================================= #
|
95
253
|
# === this_jquery_version
|
96
254
|
#
|
@@ -199,35 +357,6 @@ EOF
|
|
199
357
|
add_to_main_string_lateron(_)
|
200
358
|
end; alias no_right_click disable_right_click # === no_right_click
|
201
359
|
|
202
|
-
# ========================================================================= #
|
203
|
-
# === body_javascript=
|
204
|
-
#
|
205
|
-
# This method sets the @body_javascript ivar. This variable will be used
|
206
|
-
# for making the <body> of a HTML page. As of Sep 2011 we require
|
207
|
-
# that the last character is a ;
|
208
|
-
#
|
209
|
-
# Usage example:
|
210
|
-
#
|
211
|
-
# w.body_onload = 'draginit()' # This is an alias.
|
212
|
-
#
|
213
|
-
# ========================================================================= #
|
214
|
-
def body_javascript=(this_javascript = '')
|
215
|
-
@internal_hash[:body_javascript] << this_javascript
|
216
|
-
if @internal_hash[:body_javascript] and @internal_hash[:body_javascript].end_with?(';')
|
217
|
-
else
|
218
|
-
@internal_hash[:body_javascript] << ';'
|
219
|
-
end
|
220
|
-
end
|
221
|
-
# ======================================================================= #
|
222
|
-
# === onload=
|
223
|
-
#
|
224
|
-
# Right now this is an alias towards the above method. But one day
|
225
|
-
# this may change (May 2011)
|
226
|
-
# ======================================================================= #
|
227
|
-
alias onload= body_javascript= # === onload=
|
228
|
-
alias onload body_javascript= # === onload
|
229
|
-
alias body_onload= body_javascript= # === body_onload=
|
230
|
-
|
231
360
|
# ========================================================================= #
|
232
361
|
# === javascript_pop_up
|
233
362
|
# ========================================================================= #
|
@@ -272,21 +401,6 @@ EOF
|
|
272
401
|
@config['use_jquery']
|
273
402
|
end
|
274
403
|
|
275
|
-
# ========================================================================= #
|
276
|
-
# === javascript_file=
|
277
|
-
#
|
278
|
-
# A wrapper towards cyberweb.rb and javascript_file() method.
|
279
|
-
#
|
280
|
-
# Usage example:
|
281
|
-
#
|
282
|
-
# w.javascript_file = :fader
|
283
|
-
#
|
284
|
-
# ========================================================================= #
|
285
|
-
def javascript_file=(i)
|
286
|
-
@internal_hash[:javascript] << javascript_file(i)+N
|
287
|
-
end; alias link_in_javascript javascript_file= # === link_in_javascript
|
288
|
-
alias load_javascript javascript_file= # === load_javascript
|
289
|
-
|
290
404
|
require 'cyberweb/javascript/javascript_last_modified.rb'
|
291
405
|
# ========================================================================= #
|
292
406
|
# === javascript_last_modified
|
@@ -10,6 +10,95 @@ module Cyberweb
|
|
10
10
|
|
11
11
|
class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
|
12
12
|
|
13
|
+
# ========================================================================= #
|
14
|
+
# === science_links_to
|
15
|
+
# ========================================================================= #
|
16
|
+
def science_links_to(
|
17
|
+
i = [
|
18
|
+
:chemistry,
|
19
|
+
:organic_chemistry
|
20
|
+
]
|
21
|
+
)
|
22
|
+
science_hyperlinks(
|
23
|
+
i,
|
24
|
+
true
|
25
|
+
) { :use_unicode_right_arrows }
|
26
|
+
end
|
27
|
+
|
28
|
+
# ========================================================================= #
|
29
|
+
# === string_link
|
30
|
+
#
|
31
|
+
# This method essentially creates a String representation of the HTML
|
32
|
+
# <a> tag.
|
33
|
+
#
|
34
|
+
# Since as of April 2022 the method "slink" is now an alias to string_link;
|
35
|
+
# it used to be an alias towards "def a()", but this was changed - the
|
36
|
+
# word string_link more logically may refer to slink as its intrinsic
|
37
|
+
# abbreviation.
|
38
|
+
# ========================================================================= #
|
39
|
+
def string_link(
|
40
|
+
i = '',
|
41
|
+
option_hash = {},
|
42
|
+
&block
|
43
|
+
)
|
44
|
+
# ======================================================================= #
|
45
|
+
# === Handle blocks given to this method next
|
46
|
+
# ======================================================================= #
|
47
|
+
if block_given?
|
48
|
+
yielded = yield
|
49
|
+
case yielded
|
50
|
+
# ===================================================================== #
|
51
|
+
# === :pretty
|
52
|
+
# ===================================================================== #
|
53
|
+
when :pretty
|
54
|
+
option_hash[:remote_URL] = beautiful_url(i)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
if i.is_a?(Symbol)
|
58
|
+
if i.start_with?('local_')
|
59
|
+
i = BeautifulUrl.local_menu(i)
|
60
|
+
else
|
61
|
+
i = beautiful_url(i)
|
62
|
+
# =================================================================== #
|
63
|
+
# Also check if the second argument is a String. In this case we
|
64
|
+
# must modify it. Example for input that fulfils this criterium:
|
65
|
+
#
|
66
|
+
# remote_link(:hydrogenase, 'Hydrogenase')+
|
67
|
+
#
|
68
|
+
# =================================================================== #
|
69
|
+
if option_hash.is_a? String
|
70
|
+
option_hash = { content: option_hash }
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
# ======================================================================= #
|
75
|
+
# === Handle local entries for the "/home/x" directory layout.
|
76
|
+
# ======================================================================= #
|
77
|
+
if i.start_with? '/home/x'
|
78
|
+
i = i.dup
|
79
|
+
i.sub!(/\/home\/x\//, relative_path?)
|
80
|
+
end
|
81
|
+
# ======================================================================= #
|
82
|
+
# Next, double forward slashes, aka //, will be removed. However had
|
83
|
+
# this also cripples links such as "chrome://extensions/", which is
|
84
|
+
# bad. Thus, in February 2023, the following line was commented
|
85
|
+
# out; in the event we want to re-enable it, we may have to think
|
86
|
+
# more about the use cases.
|
87
|
+
# ======================================================================= #
|
88
|
+
# i = rds(i.to_s.dup)
|
89
|
+
# ======================================================================= #
|
90
|
+
# Delegate onto HtmlTags.a().
|
91
|
+
# ======================================================================= #
|
92
|
+
return HtmlTags.a(
|
93
|
+
i,
|
94
|
+
option_hash
|
95
|
+
)
|
96
|
+
end; alias string_a string_link # === string_a
|
97
|
+
alias string_href string_link # === string_href
|
98
|
+
alias string_remote_link string_link # === string_remote_link
|
99
|
+
alias slink string_link # === slink
|
100
|
+
alias remote_hyperlink string_link # === remote_hyperlink
|
101
|
+
|
13
102
|
# ========================================================================= #
|
14
103
|
# === a (a tag, link tag)
|
15
104
|
#
|
@@ -45,6 +134,9 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
|
|
45
134
|
|
46
135
|
# ========================================================================= #
|
47
136
|
# === linkbr (abr tag)
|
137
|
+
#
|
138
|
+
# This method will mostly delegate onto HtmlTags.a(), by calling
|
139
|
+
# a() internally first.
|
48
140
|
# ========================================================================= #
|
49
141
|
def linkbr(
|
50
142
|
i = '',
|
@@ -69,7 +161,7 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
|
|
69
161
|
end
|
70
162
|
end
|
71
163
|
case i
|
72
|
-
when
|
164
|
+
when /^SELF$/
|
73
165
|
i = request_uri?
|
74
166
|
else
|
75
167
|
# ===================================================================== #
|
@@ -95,38 +187,6 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
|
|
95
187
|
br
|
96
188
|
end; alias abr linkbr # === abr
|
97
189
|
|
98
|
-
# ========================================================================= #
|
99
|
-
# === roebe_internal_link
|
100
|
-
#
|
101
|
-
# This is the method that, since as of June 2021, should be used for
|
102
|
-
# any "roebe-internal" link. This refers primarily to my home
|
103
|
-
# system, which is now spread out into different projects.
|
104
|
-
#
|
105
|
-
# Note that since as of June 2021, all roebe-internal links MUST start
|
106
|
-
# with a :local_ prefix. This may change at a later time, but for now
|
107
|
-
# we will keep this very strict.
|
108
|
-
# ========================================================================= #
|
109
|
-
def roebe_internal_link(
|
110
|
-
i, hash
|
111
|
-
)
|
112
|
-
if i.is_a? Symbol
|
113
|
-
if i.start_with? 'local'
|
114
|
-
i = BeautifulUrl.local_link(i)
|
115
|
-
# =================================================================== #
|
116
|
-
# For sinatra, we will simplify this a bit. This is fairly hackish
|
117
|
-
# but it should suffice for now.
|
118
|
-
# =================================================================== #
|
119
|
-
if uses_sinatra?
|
120
|
-
i = i.to_s
|
121
|
-
i = File.basename(
|
122
|
-
i.delete_suffix(File.extname(i))
|
123
|
-
)
|
124
|
-
end
|
125
|
-
end
|
126
|
-
end
|
127
|
-
abr(i, hash)
|
128
|
-
end; alias roebe_local_link roebe_internal_link # === roebe_local_link
|
129
|
-
|
130
190
|
# ========================================================================= #
|
131
191
|
# === self_abr
|
132
192
|
#
|
@@ -165,7 +225,9 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
|
|
165
225
|
# pretty_link('Jules Bordet')
|
166
226
|
#
|
167
227
|
# ========================================================================= #
|
168
|
-
def pretty_link(
|
228
|
+
def pretty_link(
|
229
|
+
i, optional_css_class = ''
|
230
|
+
)
|
169
231
|
remote_URL = beautiful_URL(i)
|
170
232
|
return string_a(remote_URL, content: i, css_class: optional_css_class)
|
171
233
|
end
|
@@ -365,4 +427,115 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
|
|
365
427
|
end
|
366
428
|
end
|
367
429
|
|
430
|
+
# ========================================================================= #
|
431
|
+
# === science_hyperlinks
|
432
|
+
#
|
433
|
+
# This method will add some of my default hyperlinks for local files,
|
434
|
+
# in regards to science-related links/content.
|
435
|
+
#
|
436
|
+
# The first argument to this method can be additional entries that
|
437
|
+
# the user may want to display.
|
438
|
+
#
|
439
|
+
# Different usage examples follow next:
|
440
|
+
#
|
441
|
+
# science_hyperlinks
|
442
|
+
# science_hyperlinks { :use_unicode_right_arrows }
|
443
|
+
# science_links {{ use_this_image: LINK_IMAGE }}
|
444
|
+
#
|
445
|
+
# ========================================================================= #
|
446
|
+
def science_hyperlinks(
|
447
|
+
additional_entries = nil,
|
448
|
+
use_only_the_additional_entries = false,
|
449
|
+
&block
|
450
|
+
)
|
451
|
+
array_science_entries = %w(
|
452
|
+
local_cellbiology
|
453
|
+
local_biochemistry
|
454
|
+
local_chemistry
|
455
|
+
local_genetics
|
456
|
+
local_gene_expression
|
457
|
+
local_microbiology
|
458
|
+
local_biotechnology
|
459
|
+
local_evolution
|
460
|
+
)
|
461
|
+
if use_only_the_additional_entries
|
462
|
+
array_science_entries.clear
|
463
|
+
end
|
464
|
+
if additional_entries
|
465
|
+
array_science_entries << [additional_entries]
|
466
|
+
array_science_entries.flatten!
|
467
|
+
array_science_entries.compact!
|
468
|
+
end
|
469
|
+
yielded = nil
|
470
|
+
yielded = yield if block_given?
|
471
|
+
array_science_entries.each {|this_local_link|
|
472
|
+
this_local_link = BeautifulUrl.local_menu(this_local_link)
|
473
|
+
short_name = File.basename(this_local_link.to_s).delete_suffix('.cgi').dup.
|
474
|
+
tr('_',' ').
|
475
|
+
sub(/local/,'')
|
476
|
+
if yielded.is_a? Hash
|
477
|
+
# =================================================================== #
|
478
|
+
# === :use_this_image
|
479
|
+
# =================================================================== #
|
480
|
+
if yielded.has_key?(:use_this_image)
|
481
|
+
use_this_image = yielded[:use_this_image]
|
482
|
+
short_name = "#{use_this_image}#{short_name.strip}"
|
483
|
+
end
|
484
|
+
else
|
485
|
+
case yielded
|
486
|
+
# =================================================================== #
|
487
|
+
# === pretty_image
|
488
|
+
# =================================================================== #
|
489
|
+
when :pretty_image
|
490
|
+
short_name.prepend(dot109?)
|
491
|
+
# =================================================================== #
|
492
|
+
# === :use_unicode_right_arrows
|
493
|
+
# =================================================================== #
|
494
|
+
when :use_unicode_right_arrows
|
495
|
+
short_name.prepend('→')
|
496
|
+
end
|
497
|
+
end
|
498
|
+
abr_self(
|
499
|
+
this_local_link,
|
500
|
+
content: short_name
|
501
|
+
)
|
502
|
+
}
|
503
|
+
end; alias add_science_links science_hyperlinks # === add_science_links
|
504
|
+
alias science_links science_hyperlinks # === science_links
|
505
|
+
|
506
|
+
# ========================================================================= #
|
507
|
+
# === check_for_links_markdown_file
|
508
|
+
#
|
509
|
+
# This method will check for a file called "links.md".
|
510
|
+
# ========================================================================= #
|
511
|
+
def check_for_links_markdown_file
|
512
|
+
_ = 'links.md'
|
513
|
+
# Also check for LINKS.md
|
514
|
+
unless File.exist? _
|
515
|
+
_ = 'LINKS.md'
|
516
|
+
end
|
517
|
+
if File.exist? _
|
518
|
+
use_this_css_class = ''.dup # A default value.
|
519
|
+
lines = File.readlines(_)
|
520
|
+
lines.each {|this_entry|
|
521
|
+
if this_entry.include? '# ' # Assume a "hidden" CSS class in this case.
|
522
|
+
splitted = this_entry.split('# ')
|
523
|
+
use_this_css_class = splitted.last.strip
|
524
|
+
this_entry = splitted.first
|
525
|
+
end
|
526
|
+
if this_entry.is_a?(String) and this_entry.start_with?(':')
|
527
|
+
this_entry = Cyberweb.sanitize_url(
|
528
|
+
this_entry.delete(':').to_sym
|
529
|
+
)
|
530
|
+
end
|
531
|
+
abr_self(
|
532
|
+
this_entry,
|
533
|
+
css_class: use_this_css_class
|
534
|
+
)
|
535
|
+
}
|
536
|
+
br # And one last trailing newline.
|
537
|
+
end
|
538
|
+
end; alias try_links_file check_for_links_markdown_file # === try_links_file
|
539
|
+
alias check_for_links_file check_for_links_markdown_file # === check_for_links_file
|
540
|
+
|
368
541
|
end; end
|