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 02:22 | Nová verze

Byla vydána verze 1.5.0 emulátoru terminálu Terminology (GitHub) postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
včera 21:55 | Nová verze

Byla vydána verze 0.72 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu změn. Řešeno je také několik bezpečnostních chyb. Jejich nalezení bylo sponzorováno Evropskou komisí.

Ladislav Hagara | Komentářů: 0
19.7. 21:44 | Zajímavý článek

DataSpii Report podrobně rozebírá únik citlivých dat skrze osm rozšíření webových prohlížečů (Hover Zoom, SpeakIt!, SuperZoom, SaveFrom.net Helper, FairShare Unlock, PanelMeasurement, Branded Surveys, Panel Community Surveys) a jejich téměř okamžitý prodej.

Ladislav Hagara | Komentářů: 0
19.7. 11:44 | Zajímavý článek

Článek na Fedora Magazine rozebírá možnosti modifikace lokálních účtů Windows, například resetování hesla, pomocí Fedory nebo libovolné jiné linuxové distribuce a nástroje chntpw.

Ladislav Hagara | Komentářů: 5
19.7. 00:11 | Nová verze

Po více než dvou měsících od vydání Red Hat Enterprise Linuxu 8 byl ve verzi 8 vydán také jeho klon Oracle Linux (Wikipedie). Podrobnosti v příspěvku na blogu.

Ladislav Hagara | Komentářů: 5
18.7. 12:11 | Komunita

Na YouTube byly zveřejněny videozáznamy přednášek z konference a setkání vývojářů a uživatelů svobodných grafických softwarů Libre Graphics Meeting 2019.

Ladislav Hagara | Komentářů: 1
17.7. 20:00 | Komunita

Tým Fedory pro diverzitu a inkluzi organizuje Fedora Women’s Day (FWD) 2019. Oslavy žen přispívajících do open source projektů včetně Fedory budou probíhat po celém světě v měsících září a říjen. Návrhy akcí lze předkládat do pátku 23. srpna 2019.

Ladislav Hagara | Komentářů: 144
17.7. 19:22 | Zajímavý článek

Společnost Intezer zabývající se počítačovou bezpečností publikovala na svém blogu analýzu malwaru pojmenovaného EvilGnome, poněvadž se malware tváří jako rozšíření GNOME Shellu. Výzkumníci spojují EvilGnome s hackerskou skupinou Gamaredon.

Ladislav Hagara | Komentářů: 9
17.7. 15:00 | Nová verze

Byla vydána nová verze 19.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na HardenedBSD. Kódový název OPNsense 19.7 je Jazzy Jaguar. Přehled novinek v příspěvku na blogu.

Ladislav Hagara | Komentářů: 0
17.7. 11:11 | Zajímavý článek

Společnost Latacora věnující se počítačové bezpečnosti publikovala na svém blogu článek The PGP Problem poukazující na nedostatky PGP, OpenPGP a GnuPG. Článek obsahuje jak odkazy na další zajímavé články, tak i odkazy na alternativní softwarové produkty: Magic Wormhole pro přenos souborů, Tarsnap pro zálohování, Signify nebo Minisign pro podepisování balíčků, kryptografickou knihovnu libsodium nebo nástroj age pro šifrování souborů [Hacker News].

Ladislav Hagara | Komentářů: 14
Používáte ještě 32bitový software na PC?
 (19%)
 (14%)
 (19%)
 (48%)
 (7%)
 (28%)
Celkem 156 hlasů
 Komentářů: 11, poslední 19.7. 21:05
Rozcestník

Jak udělat z WYSIWYG editoru WYSIWYM editor?

28.12.2017 21:17 | Přečteno: 1352× | 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?
 (19 %)
 (78 %)
 (0 %)
 (4 %)
Celkem 27 hlasů

Anketa

Jste schopní to naprogramovat?
 (50 %)
 (13 %)
 (38 %)
Celkem 16 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ář

Mark Stopka avatar 28.12.2017 21:31 Mark Stopka | skóre: 58 | blog: Paranoidní blog | European Economic Area
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: 47 | 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: 68
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: 47 | 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: 47 | 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: 68
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: 47 | 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: 68
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: 31 | 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: 38 | 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.