abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:22 | Nová verze

    Knihovna FFmpeg byla vydána ve verzi 8.0 „Huffman“. Přibyla mj. podpora hardwarově akcelerovaného kódování s využitím API Vulcan, viz seznam změn.

    Fluttershy, yay! | Komentářů: 0
    včera 17:44 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2024 (pdf). V loňském roce NÚKIB evidoval dosud nejvíce kybernetických bezpečnostních incidentů s celkovým počtem 268. Oproti roku 2023 se však jedná pouze o drobný nárůst a závažnost dopadů evidovaných incidentů klesá již třetím rokem v řadě. V minulém roce NÚKIB evidoval pouze jeden velmi významný incident a významných incidentů bylo zaznamenáno 18, což oproti roku 2023 představuje pokles o více než polovinu.

    Ladislav Hagara | Komentářů: 1
    včera 13:55 | Komunita

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované obrázky APNG a WebP.

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | IT novinky

    Na chytré telefony a počítačové tablety v Rusku bude od začátku příštího měsíce povinné předinstalovávat státem podporovanou komunikační aplikaci MAX, která konkuruje aplikaci WhatsApp americké společnosti Meta Platforms. Oznámila to dnes ruská vláda. Ta by podle kritiků mohla aplikaci MAX používat ke sledování uživatelů. Ruská státní média obvinění ze špehování pomocí aplikace MAX popírají. Tvrdí, že MAX má méně oprávnění k přístupu k údajům o uživatelích než konkurenční aplikace WhatsApp a Telegram.

    Ladislav Hagara | Komentářů: 24
    včera 04:22 | IT novinky

    Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu srpnový souhrn novinek. Kvůli nedostatečnému zájmu byla ukončena výroba telefonů PinePhone Pro.

    Ladislav Hagara | Komentářů: 1
    21.8. 22:22 | Nová verze

    Po pěti měsících vývoje byla vydána nová verze 0.15.1 programovacího jazyka Zig (GitHub, Wikipedie). Verze 0.15.0 byla přeskočena. Přispělo 162 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    21.8. 21:55 | Komunita

    Před sedmi lety společnost Valve představila fork projektu Wine s názvem Proton umožňující v Linuxu přímo ze Steamu hrát počítačové hry do té doby běžící pouze ve Windows. Aktuální přehled podporovaných her na stránkách ProtonDB

    Ladislav Hagara | Komentářů: 0
    21.8. 14:55 | IT novinky

    Společnost DuckDuckGo rozšířila svůj AI chat Duck.ai o GPT-5 mini (𝕏). Duck.ai umožňuje anonymní přístup bez vytváření účtů k několika modelům umělé inteligence. Aktuálně k GPT-4o mini, GPT-5 mini, Llama 4 Scout, Claude Haiku 3.5 a Mistral Small 3.

    Ladislav Hagara | Komentářů: 5
    21.8. 12:44 | Bezpečnostní upozornění

    Marek Tóth v příspěvku DOM-based Extension Clickjacking: Data ve správcích hesel v ohrožení na svém blogu popsal novou clickjacking techniku s několika variantami útoků a otestoval ji proti 11 správcům hesel. Výsledkem bylo nalezení několika 0-day zranitelností, které mohly ovlivnit uložená data desítek milionů uživatelů. Jedno kliknutí kdekoliv na webové stránce kontrolované útočníkem umožňovalo ukrást uživatelská data ze

    … více »
    Ladislav Hagara | Komentářů: 1
    20.8. 21:11 | IT novinky

    Na dnešní akci Made by Google 2025 (YouTube) byly představeny telefony Pixel 10 s novým čipem Google Tensor G5 a novými AI funkcemi, hodinky Pixel Watch 4 a sluchátka Pixel Buds 2a.

    Ladislav Hagara | Komentářů: 25
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (76%)
     (10%)
     (4%)
     (4%)
     (6%)
     (0%)
    Celkem 49 hlasů
     Komentářů: 6, poslední 21.8. 13:35
    Rozcestník

    Jak udělat z WYSIWYG editoru WYSIWYM editor?

    28.12.2017 21:17 | Přečteno: 1807× | Softwarové inženýrství | poslední úprava: 28.12.2017 21:17

    Mám pár nápadů na projekty, ke kterým bych potřeboval komponentu WYSIWYM editoru (what you see is what you mean). Nikoli WYSIWYG (what you see is what you get).

    Při tvorbě obsahu máme několik možností:

    Výsledkem WYSIWYG editace je většinou nějaký prasecký výstup, nic hezkého, co byste třeba někdy chtěli revidovat či editovat ručně nebo si to uložit do verzovacího systému.

    Psát zdrojový kód je pro většinu uživatelů problém, nechtějí učit další jazyk. A i pokročilým uživatelům bude chybět to, že při editaci nevidí na první pohled strukturu dokumentu. A taky jsou zde problémy s jednoznačností/spolehlivostí vs. stručností/jednoduchostí zápisu – různé „wiki“ syntaxe vypadají na první pohled lákavě, ale pak člověk narazí na různé nejednoznačnosti, problémy s escapováním a neintuitivní konstrukce. XML tyhle problémy sice nemá, ale většinu uživatelů tam zase bude otravovat, že musejí uzavírat elementy a že se tam pořád píší nějaké závorky a uvozovky. Bez podpory ze strany editoru to prostě není tak pohodlné (na nějaké delší psaní).

    Z toho mi vychází, že ve většině případů je správná volba WYSIWYM editor. Uživatel zde vyjadřuje svoje myšlenky, sémantiku, nesoustředí se na vizuální stránku výsledku, přesto se ale nemusí učit programovací jazyk a vidí už při editaci strukturu dokumentu.

    Tak se chci zeptat, jestli nevíte o hotové komponentě. Samozřejmě by to měl být svobodný software, jinak je to nepoužitelné. Znám WYMeditor, který je celkem dobrý, ale bohužel je to webová záležitost. A přijde mi nesmyslné pouštět v rámci desktopové aplikace jádro webového prohlížeče, což je nesmírně komplexní věc. Chtěl bych tedy něco pro Qt případně GTK, ale spíš asi Qt.

    Takový WYSIWYM editor jsem zatím nenašel a myslím, že je to docela škoda. Našel jsem ale komponentu MRichTextEditor, která používá Qt5, rozšiřuje QTextEdit a sama o sobě není moc složitá:

    $ cloc-sql.sh MRichTextEditor/
     ╭──────────────┬─────────┬───────────┬───────────┬──────┬────────┬──────────────────────────────────────────────────────────────────────────────────╮
     │ jazyk        │ souborů │ prázdných │ komentářů │ kódu │ celkem │ celkem_graf                                                                      │
     ├──────────────┼─────────┼───────────┼───────────┼──────┼────────┼──────────────────────────────────────────────────────────────────────────────────┤
     │ C++          │       3 │       111 │        49 │  540 │    700 │ ████████████████████████████████████████████████████████████████████████████████ │
     │ C/C++ Header │       2 │        17 │        25 │   76 │    118 │ █████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
     │ IDL          │       1 │         3 │         0 │   12 │     15 │ ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
     │ celkem       │       6 │       131 │        74 │  628 │    833 │                                                                                  │
     ╰──────────────┴─────────┴───────────┴───────────┴──────┴────────┴──────────────────────────────────────────────────────────────────────────────────╯
    Record count: 4
    

    Výsledkem bohužel je – jak už to u WYSIWYG editorů bývá – nějaké nechutné HTML:

    MRichTextEditor – WYSIWYG editor

    Přitom ta nejtěžší práce na tom je IMHO už hotová. Nešlo by to upravit na WYSIWYM editor? Dokážete odhadnout, kolik by to tak bylo práce? Při pohledu na zdroják mi přijde, že asi nebude stačit udělat potomka QTextEdit, ale bude to chtít vytvořit spíš jeho sémantického sourozence.

    Moje představa je taková, že by to byla obecná komponenta, která by dostala jako konfiguraci seznam stylů pro blokové a řádkové elementy a nějakou jejich vizuální (pro režim editace) reprezentaci – např. že <aaa/> bude modře a <bbb/> bude tučně, aby se v textu dalo během editace vyznat. K tomu by bylo nějaké API, na které by si člověk napojil tlačítka a případně editor atributů (pro daný uzel, ve kterém je kurzor) a pak asi nějaká možnost zobrazit si hranice mezi elementy a strukturu + možnost třeba spojit dva elementy stejného typu hned za sebou do jednoho… to by se dalo vyvíjet postupně. Cílem je, aby uživatel napsal text, vyznačil v něm sémantiku a pak z toho vypadlo nějaké XML1 validní podle určitého schématu (což by bylo dané tou konfigurací). Dokumentem může být cokoli, článek, poznámky, e-mail, kniha, záznam v databázi… cokoli.

    [1] BTW: když už je řeč o XML editorech – narazil jsem na QXmlEdit, což je tedy něco úplně jiného, ale svým způsobem taky zajímavé

           

    Hodnocení: 60 %

            špatnédobré        

    Anketa

    Hodila by se vám taková WYSIWYM komponenta?
     (18 %)
     (75 %)
     (0 %)
     (7 %)
    Celkem 28 hlasů

    Anketa

    Jste schopní to naprogramovat?
     (47 %)
     (18 %)
     (35 %)
    Celkem 17 hlasů

    Obrázky

    Jak udělat z WYSIWYG editoru WYSIWYM editor?, obrázek 1

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    28.12.2017 21:31 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Off-topic: Nechceš na 3 ze 4 webů které tady odkazuješ nasadit Let's encrypt certifikáty? 1 (blog) už ho má, ostatní mají revoked certifikáty :)
    xkucf03 avatar 28.12.2017 21:34 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?

    Vím o tom, udělám to teď přes Vánoce (stejně ty servery budu přeinstalovávat, tak to spojím).

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Josef Kufner avatar 29.12.2017 11:11 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Co odkazuješ, tak jsou všechno jen rich text editory (WYSIWYG), které produkují bordel.

    Koukni na LyX. Možná by z toho šel ten editační widget vytáhnout.

    Hello world ! Segmentation fault (core dumped)
    Bedňa avatar 30.12.2017 00:12 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    V NV.js by som to dokázal napísať za dva dni. Bolo by to multiplatfomné ale s tým, že by to bol proste JavaScript.

    Vidím to tak, klikneš na tag, do kóda sa vloží príslučný tag a zobrazí sa hotová forma a zdrojový kód zároveň. (Základ HTML5 nadpisy, odseky, PRE atď.)

    Obsiahnuť potom všetky HTML značky a prípadné vloženie všetkých CSS štýlov na niekoľko dní.

    Je otázka či sa nájde jedinec, alebo komunita, ktorá by to chcela zaplatiť. Samozrejme by to bolo pod slobodnou licenciou.
    KERNEL ULTRAS video channel >>>
    30.12.2017 17:48 instantní invektiva
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    lol!! KERNEL ULTRAS: "wayland - toe hnuj ty pico! <3 BASH a Xorg ale piseme v javaskripte"
    Vidím to tak, klikneš na tag, do kóda sa vloží príslučný tag a zobrazí sa hotová forma a zdrojový kód zároveň.
    :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
    Bedňa avatar 30.12.2017 22:44 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Neriešiš GUI, je to multiplatformné a funguje to.

    Práve na také veci ako je táto úloha, úplne ideálne. Proste spravíš len funkcionalitu.

    Máme nejakú alternatívu v tvojom COOL jazyku?
    KERNEL ULTRAS video channel >>>
    30.12.2017 22:53 ehm
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Cituji z blogpostu:
    Znám WYMeditor, který je celkem dobrý, ale bohužel je to webová záležitost. A přijde mi nesmyslné pouštět v rámci desktopové aplikace jádro webového prohlížeče, což je nesmírně komplexní věc. Chtěl bych tedy něco pro Qt případně GTK, ale spíš asi Qt.
    Čemu přesně jsi na tom nerozuměl?

    Nemluvě o tom, že to, co jsi navrhl, je v podstatě totéž jako formulář pro zadávání komentářů zde na Abclinuxu, jen by se náhled aktualizoval dynamicky namísto až po kliknutí na tlačítko. To není WYSIWYM, po kterém se xkucf03 ptal. Četl jsi ten blogpost vůbec?
    Bedňa avatar 30.12.2017 23:09 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Čítal, ale po návrate z oslavy a nejak mi to uniklo :)
    KERNEL ULTRAS video channel >>>
    31.12.2017 08:56 :-) občasná návšteva z SK
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Ty dosť často oslavuješ, Debna, však? ;-)
    Bedňa avatar 31.12.2017 16:31 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Je smutné keď ťa nemá kto pozvať cez sviatky na návštevu a ani ty nemáš koho.
    KERNEL ULTRAS video channel >>>
    xkucf03 avatar 31.12.2017 12:43 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?

    BTW: jak funguje ten web Kernel ultras? Koukal jsem, že tam jde i vytvářet adresáře a soubory a je to persistentní – vytvořený obsah vidí i uživatel z jiného prohlížeče. To je celé nějak emulované nebo je pod tím normální operační a souborový systém, na který je to napojené?

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Bedňa avatar 31.12.2017 16:18 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Na operačný systém to vôbec nešahá, všetko je napísané from scratch a beží to na webservery. Prípadne mrkni na video chanell.

    Videl som tam tvoj odkaz, aj som ti odpísal :)
    KERNEL ULTRAS video channel >>>
    30.12.2017 21:57 Petr Tomášek
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Takový WYSIWYM editor jsem zatím nenašel a myslím, že je to docela škoda.
    Taky si to myslím, a to docela dlouho.

    Jenomže použít pro toto nějaký WSIYWYG paskvil je blbost. To je jako dělat rovnák na vohejbák...

    xkucf03 avatar 30.12.2017 22:47 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?

    To záleží, jak je uvnitř udělaná ta komponenta a jaký má objektový model – z dobře napsaného WYSIWYGu by měl jít ten základ vykuchat a použít. Ale často to asi bude bohužel prolezlé tím formátováním a HTML.

    Koukal jsem trochu na ten LyX – v něm ten editor vypadá dobře, akorát je to obrovský projekt, takže vypreparovat z toho jen komponentu editoru asi taky nebude triviální.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    31.12.2017 10:58 Petr Tomášek
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    No, ono už asi bude problém v tom, že pokud budu chtít WYSIWYM, tak budu chtít nějakým "stylesheetem" nejprve nadefinovat, které elementy za jakých okolností se kde můžou vyskytovat - a kde se vyskytovat nemůžou, tam to prostě natvrdo nedovolit. (Což znamená i otázku: mohou elementy obsahovat rekurzivně další elementy či nikoliv?)

    Takhle ale WYSIWYG komponenty (co jsem viděl) postaveny nejsou, tam může uživatel kdekoliv nasrat cokoliv, navíc o nějaké "struktuře" se člověku může jen zdát (jakože třeba chceš mít element třeba >title< a v něm třeba něco jako >link< - normální WYSIWYG komponenta ti nejdřív ukončí >title<, prdne tam >link< a pak zase pokračuje dalším >title< - protože interní reprezentace je u WYSIWYG už z principu naprosto šumafuck, kdežto u WYSIWYM je naopak důležitá).
    31.12.2017 11:00 Petr Tomášek
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Oprava: mělo být: <link>, <title> ...
    Josef Kufner avatar 31.12.2017 12:08 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Pokud mluvíš o HTML elementech, tak nemluvíš o WYSIWYM editoru.
    Hello world ! Segmentation fault (core dumped)
    xkucf03 avatar 31.12.2017 12:40 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Model dokumentu pro WYSIWYM editor – DOM/XML

    Elementy nejsou jen HTML – elementy jsou v DOMu (Document Object Model). Je otázka, jestli je DOM nejlepší model pro WYSIWYM, ale docela bych i řekl, že ano – je to strom, v něm jsou uzly/elementy, které můžou mít i atributy. To na WYSIWYM perfektně pasuje. Mohl bys sice vymyslet nějaký ne-DOMový model sémantického dokumentu, ale pravděpodobně bys došel k něčemu velice podobnému, jako je DOM, akorát by se ty prvky a metody jmenovaly jinak.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Josef Kufner avatar 31.12.2017 13:36 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Model dokumentu pro WYSIWYM editor – DOM/XML
    Potíž je v tom, že element je příliž nízkoúrovňová záležitost. Například u obrázku je potřeba mít i popisek, id, zdrojový soubor, vyexportovaný soubor a podobně. Nadpis zas nedává smysl bez kapitoly okolo něj.

    WYSIWYM musí pracovat s fragmenty DOMu poskládaných z jednoho či více elementů, nikoliv jen s jednotlivými elementy. Pokud tomu tak nebude, skončíš u obyčejného rich textu, který bude čudlík na nadpis namísto čudlíku na změnu velikosti fontu.

    Ve výsledku to klidně může stát na (X)HTML a pokud je potřeba, tak to rozšiřovat o nějaké vlastní XML, ale primitiva editoru nemůžou být samotné elementy.
    Hello world ! Segmentation fault (core dumped)
    31.12.2017 17:01 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Model dokumentu pro WYSIWYM editor – DOM/XML
    DTD nebo schéma je na definici povolených konstruktů ideální, ne? Pokud by byl nějaký XMl editor dostatečně uživatelsky příjemný, mohl by jako WYSIWYM fungovat slušně. Nemám tušení, proč se nic takového ve větší míře nerozšířilo... Nebo někdo něco schůdného znáte?
    -- OldFrog
    Petr Tomášek avatar 1.1.2018 20:19 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Nechápu, jak jsi na takovou blbost přišel.

    Já mluvil o obecném strukturovaném dokumentu, např. reprezentovaného XML.

    Kdyby ses alespoň minimálně snažil pochopit to, co jsem napsal, pak by ti došlo, že jsem jenom upozorňoval na to, že použít běžné WYSIWYG komponenty/widgety pro WYSIWYM je naprosto nevhodné, protože (co vím) žádný z nich nepočítá pořádně s obecnou stromovou strukturou "strukturovaného dokumentu".

    Nechápu, kde jsi přišel na nějaké HTML, či, o čem, že to blábolíš...

    multicult.fm | monokultura je zlo | welcome refugees!
    30.12.2017 23:43 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Pokud by to bylo v Jave, muzes pouzit JEditorPane a nadefinovat pro nej vlastni EditorKit.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    4.1.2018 16:12 bigfood | blog: Finesa
    Rozbalit Rozbalit vše Re: Jak udělat z WYSIWYG editoru WYSIWYM editor?
    Projekt Gutenberg pro WordPress vypadá jako dobrá inspirace pro to, jak by se mohl chovat "strukturovaný editor". Gutenberg and the WordPress of Tomorrow

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.