Studentská dílna Macgyver zve na další Virtuální Bastlírnu - pravidelné online setkání všech, kdo mají blízko k bastlení, elektronice, IT, vědě a technice. Letní prázdniny jsou za námi a je čas probrat novinky, které se přes srpen nahromadily. Tentokrát jich je více než 50! Těšit se můžete mimo jiné na:
Hardware – Bus Pirate na ESP32, reverse engineering Raspberry Pi, pseudo-ZX-80 na RISC-V, PicoCalc, organizéry na nářadí z pěny nebo … více »Google Chrome 140 byl prohlášen za stabilní. Nejnovější stabilní verze 140.0.7339.80 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 6 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
LeoCAD (Wikipedie) je svobodná multiplatformní aplikace umožňující také na Linuxu vytvářet virtuální 3D modely z kostek lega. Vydána byla verze 25.09. Zdrojové kódy a AppImage jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.
RubyMine, tj. IDE pro Ruby a Rails od společnosti JetBrains, je nově zdarma pro nekomerční použití.
Český LibreOffice tým vydává překlad příručky LibreOffice Calc 25.2. Calc je tabulkový procesor kancelářského balíku LibreOffice. Příručka je ke stažení na stránce dokumentace.
Byla vydána (Mastodon, 𝕏) vývojová verze 3.1.4 příští stabilní verze 3.2 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání.
Zakladatel ChimeraOS představil další linuxovou distribuci zaměřenou na hráče počítačových her. Kazeta je linuxová distribuce inspirována herními konzolemi z 90. let. Pro hraní hry je potřeba vložit paměťové médium s danou hrou. Doporučeny jsou SD karty.
Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.4 a Linux From Scratch 12.4 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.42, Binutils 2.45 a Linuxem 6.15.1. Současně bylo oznámeno vydání verze 12.4 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.
Organizátoři konference LinuxDays ukončili veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata, která na letošní konferenci zaznějí. Hlasovat můžete do neděle 7. září. Poté podle výsledků hlasování organizátoři sestaví program pro letošní ročník. Konference proběhne 4. a 5. října v Praze.
Byla vydána verze 11.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.
Na čo je vlastne na webe takýto editor dobrý? Web je cely formátovaný, farbený a inak prečačkaný... používateľom sa to páči a priťahuje ich to. Prečo by teda kvalitný web-dizajnér nemohol ponúknuť svojím zákazníkom k ohromujúcemu webu aj ohromujúce možnosti používateľského vstupu?
Možno aj váš šéf bude potešený vaším najnovším vylepšením firemného informačného systému, alebo webovej služby vašej spoločnosti.
Pred tým, ako začneme preberať problematiku z technického hľadiska, rozšírme si o nej svoj všeobecný rozhľad. To, čo sa budeme snažiť implementovať, je takzvaný WYSIWYG editor (What You See Is What You Get - To čo vidíš, to aj dostaneš). Počas editovania a formátovania textu v takomto editore vidíme dokument vždy vo výslednej podobe (nie v nejakom druhu zdrojového textu).
MS Internet Explorer bol prvý webový prehliadač, ktorý obsahoval WYSIWYG editor. Prvým open source prehliadačom bol Mozilla Suite 1.3b, ktorý obsahoval editor nazvaný Midas. Kód, ktorý si dnes ukážeme, bude určený práve pre prehlidač Mozilla Firefox a jeho editor Midas. Portovať tento kód na MSIE nie je zložité a neskôr si vysvetlíme, ako pri portovaní postupovať.
Midas (a implementácia MS) pracuje nad HTML dokumentom - výstup teda bude
HTML dokument. Najjednoduchší spôsob, ako si tento editor odskúšať, je
vytvoriť html súbor s nasledovným kódom (i_am_editable.html
):
<html>
<head>
<title>Moj prvy WYSIWYG editor</title>
<script type="text/javascript">
function setup() {
document.designMode = 'on';
}
</script>
</head>
<body onload="setup();">
<b>Ahoj!</b> Ja som tvoj prvy webovy WYSIWYG editor.
</body>
</html>
Súbor otvorte vo Firefoxe. Po načítaní stránky prehliadač vykoná
javascriptovú funkciu setup()
. Tá jediným príkazom spustí nad
stránkou editor. Po zobrazení obsahu stránky kliknite do textu a
môżete začať editovať.
Čo vlastne funkcia setup()
vykoná? Nastaví hodnotu premennej
designMode
objektu document
na
'on'
. Objekt document
reprezentuje HTML dokument,
v ktorom je JavaScript implementovaný (umiestnený).
V praxi však nechceme editovať kompletne celú stránku, len text v textovom
poli. Midas pracuje nad celým HTML dokumentom a nie je možné mu podať
textové pole (tag <textarea>
).
Preto editovateľnú stránku vložíme do vnoreného rámca na stránke pomocou
tagu <iframe>
. Do rámca potom môžeme načítať (pomocou
atribútu src
) ľubovoľnú stránku ako predlohu. Nad stránkou v
rámci po jej načítaní spustíme editor Midas a užívateľ bude môcť editovať
len obsah v rámci.
Stránka v rámci by z rôznych dôvodov sama nad sebou editor spúšťať nemala. Editor spustíme nad dokumentom v rámci z "hlavnej stránky", na ktorej sa rámec s editorom má nachádzať:
editor.html:
<html>
<head>
<title>Moj druhy WYSIWYG editor</title>
<script type="text/javascript">
var editor;
function setup() {
editor = document.getElementById('editor');
editor.contentWindow.document.designMode='on';
}
</script>
</head>
<body onload="setup();">
<p>Tento text nie je editovatelny... editujte obsah v ramci, prosim.</p>
<iframe id="editor" src="template.html"></iframe>
<p>Dakujem za pochopenie.</p>
</body>
</html>
template.html:
<html>
<head>
<title>Moj prvy WYSIWYG editor</title>
</head>
<body>
<b>Ahoj!</b> Ja som tvoj druhy webovy WYSIWYG editor.
</body>
</html>
Midas počas editácie textu generuje HTML kód editovaného dokumentu, ktorý
je v každej chvíli prístupný z JavaScriptu. K tomuto HTML kódu budeme chcieť
pristupovať z JavaScriptu na vonkajšej stránke (editor.html
).
Na vonkajšiu stránku totiž budeme chcieť umiestniť niečo ako nástrojový
panel.
Ukážem vám, ako to myslím. Vytvoríme si tlačidlo, na ktoré keď klikneme
myškou, zobrazí sa dialógové okno so zdrojovým textom editovaného
dokumentu. Pridame na stránku JavaScript, ktorý zdrojový kód dokumentu
vytiahne z rámca a predá ho ako argument funkcii alert()
,
ktorá zobrazí dialóg (editor.html
):
<html>
<head>
<title>Moj druhy WYSIWYG editor</title>
<script type="text/javascript">
var editor;
function setup() {
editor = document.getElementById('editor');
editor.contentWindow.document.designMode='on';
}
function editor_alert() {
alert(editor.contentWindow.document.body.innerHTML);
}
</script>
</head>
<body onload="setup();">
<p>Tento text nie je editovatelny... editujte obsah v ramci, prosim.</p>
<iframe id="editor" src="template.html"></iframe>
<p>Nastrojovy panel:</p>
<ul>
<li><a href="javascript: editor_alert();">Ukaz mi to HTML!</a></li>
</ul>
</body>
</html>
Dnes sme si vysvetlili, ako postaviť na nohy jednoduchý editor vo
vnútri prehliadača. Tento editor zatiaľ neponúka široké možnosti
formátovania textu a dokument nevieme nikam uložiť ani odoslať. Nabudúce
sa naučíme využívať funkciu document.execCommand()
na
formátovanie textu a dokument odoslať na server.
Skúsenejší čitatelia, ktorí bažia po ďalších informáciách, isto ocenia, ak ich upozorním na kvalitný open source WYSIWYG editor - OpenWYSIWYG. OpenWYSIWYG je jednoducho nasaditeľný a obratný editor. Podporuje prehliadače Mozilla Firefox aj MSIE. Jeho zdrojové kódy isto poslúžia skúseným čitateľom k úžitku a rozšíria obzor ich znalostí.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
<tucny>texttext</tucny>atd.? Nejde sice o WYSIWYG editor, ale nedá mi to, se nezeptat.
background-color
vůbec neodešle). Jinak ale super a tyhle věci třeba také půjdou nějak vychytat.