Knižní edice správce české národní domény přináší novou knihu zkušeného programátora Pavla Tišnovského s názvem Programovací jazyk Go. Publikace nabízí srozumitelný a prakticky zaměřený pohled na programování v tomto moderním jazyce. Nejedná se však o klasickou učebnici, ale spíše o průvodce pro vývojáře, kteří s Go začínají, nebo pro ty, kdo hledají odpovědi na konkrétní otázky či inspiraci k dalšímu objevování. Tištěná i digitální verze knihy je již nyní k dispozici u většiny knihkupců.
OpenAI zpřístupnila (en) nové nenáročné otevřené jazykové modely gpt-oss (gpt-oss-120b a gpt-oss-20b). Přístupné jsou pod licencí Apache 2.0.
Byla vydána RC verze openSUSE Leap 16. S novým instalátorem Agama, Xfce nad Waylandem a SELinuxem.
Google Chrome 139 byl prohlášen za stabilní. Nejnovější stabilní verze 139.0.7258.66 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 12 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře. S verzí 139 přestal být podporován Android 8.0 (Oreo) a Android 9.0 (Pie).
Společnost JetBrains se stala platinovým sponzorem multiplatformního open source herního enginu Godot. K vývoji her lze používat Rider for Godot. Zdarma pro nekomerční účely.
Byla vydána verze 9.0 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Verze 9.0 je založena na Debianu 13 Trixie. Přehled novinek v poznámkách k vydání a informačním videu.
Operátor O2 dává všem svým zákazníkům s mobilními službami poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství jako omluvu za pondělní zhoršenou dostupnost služeb.
Společnost NVIDIA vydala verzi 13.0 toolkitu CUDA (Wikipedie) umožňujícího vývoj aplikací běžících na jejich grafických kartách. Přehled novinek v poznámkách k vydání.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 28. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červenec (YouTube).
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.