Zajímalo by mě, jak vytváříte obsah pro web. Používáte editory typu CKEditor, TinyMCE nebo to píšete normálně v html podobě a pak copy/paste, případně jiný způsob? Já jsem nedávno koketoval s myšlenkou přepisování php interpretu, ale nakonec jsem uznal, že to byl fakt blbý nápad, zvlášť když jsem si přečetl, jak je na tom HHVM of facebooku. Daleko lepší nápad je podle mě vytvořit nějaký alternativní způsob správy obsahu na webu, než jsou tyhle editory typu CKEditor. Člověk v tom něco špatně udělá a celý dokument se mu rozpadne, což je podle mě dané i tím, že ta interní podoba toho dokumentu má stromovou strukturu, takže nějaké přemisťování atd. pak občas způsobuje docela neočekávané výsledky. Každopádně si myslím, že to klikání do obsahu na web nepatří. Chtěl bych udělat něco jako latex pro web, akorát by se tam nemusely psát příkazy, ale všechno by se vytvářelo intuitivně přes uživatelské prostředí.
V té nejjednodušší podobě bych si to představoval asi tak, že když uživatel bude chtít mít 3 odstavce, tak klikne 3x na nějaké tlačítko přidat odstavec. Někam do editační oblasti se mu přidají 3 textboxy, kam by psal obsah těch odstavců. Víceménně všechno by bylo komponenta, takže pokud by někdo chtěl mít obrázek obtékaný textem, tak by prostě zase klik na nějaké tlačítko a do editační oblasti se mu přidá opět textbox pro text a nějaký widget pro vybrání obrázku. Na webu to pak bude vypadat přesně tak, jak se očekává.
Tohle všechno by se ukládalo do nějakého stromu, který by bylo možné zase zpětně interpretovat do té editační oblasti, aby se to celé dalo ukládat a zase modifikovat. Jinak byla by k tomu potřeba i nějaká serverová podpora v podobě nějakých skriptů.
+ Možnost vytvořit opravdu komplexní obsah se vším všudy, protože komponenta může reprezentovat klidně nějaký složitý widget, takže by to ve výsledku mohlo klidně fungovat i pro vytváření celých stránek.
+ Komponenty by pak mohla psát komunita.
+ Validace na straně serveru. Obecně veškerý obsah by byl protažen nějakým filtrem na odstranění html tagů, takže jediný způsob
vložení nějakého tagu je skrz rozhraní komponent => možnost zakázat komponentu na serveru, takže např. nebude možné vložit iframe.
+ atd. atd.
- Asi bude dost složité to dát nějak dohromady
- Nutnost serverové části (jediná výjimka by byla zřejmě node.js, protože tam by se dala použít tak klientská část), která by musela být v určitých aspektech 100% ekvivalentní s tou klientskou (na server se odesílá pouze strom reprezentující editační oblast, vygenerování vlastního obsahu pak nějakým algoritmem na serveru)
- každá komponenta by v podstatě musela mít i svoji serverovou část
Využívali by jste něco takového raději než nějaké ty wysiwyg editory?