Markdown pentru muritorii de rând

Nu demult am intrat într-o dezbatere pe tema Markdown. Mă rog, dezbatere e mult spus, că s-a pornit de la stocarea mark-up-ului în baza de date și mi s-a atras atenția că TinyMCE/WordPress este idiot și salvează HTML în DB. Ceea ce este rău. Oare?

Azi mi-a adus aminte un amic de articolul ăsta. Pe scurt, WordPress.com oferă suport pentru Markdown.

Înainte să se înțeleagă că sunt de acord cu stocarea codului în DB, să-ți spun o scurtă povestioară: până mai acum vreo doi ani, un client se încăpățâna să folosească Typo3/Contao pentru site-urile clienților. Nu știu dacă așa este modul în care funcționează, dar programatorul – un indian – stoca template-urile în baza de date. O tâmpenie cruntă, deoarece orice editare a codului însemna, de fapt, o muncă stupid de complicată.

Markup în DB?

Depinde. Mark-up folosit la formatarea unui text este, mai degrabă conținut, nu mark-up per se. Că-i **așa** sau <strong>așa</strong> tot o formă de mark-up este, doar că arată ușor diferit. Că-i mai rapid să extragi informația din DB o fi adevărat, doar că ce câștigi la interogare pierzi la parsare. Alte avantaje ale Markdown? Ah, da, este cool pentru geeks!

Abstractizare

Nu știu cum e la alții, dar produsele mele (dacă le pot spune așa proiectelor la care am lucrat) sunt folosite/administrate de oameni mai puțin tehnici de cât mi-ar plăcea. Și nu sunt foarte dispuși să învețe lucruri noi: prea în vârstă, domeniul de activitate este mult diferit de IT etc. Cert este că știu – cât de cât – să formateze un text în Word, să trimită un mail când nu le merge ceva și… cam atât.

Acestea fiind spuse, cum crezi că poate introduce un astfel de utilizator date într-un site? Cum i-ar fi mai ușor? Să apese pe butonul ăla cu B îngroșat și să vadă textul îngroșându-se ca prin magie sau să pună un text între două steluțe (asterisk) și să-și imagineze că acel text va fi boldat?

Da, știu, există editoare Markdown WYSIWYG doar că nu prea există vreunul bun. Iar compromisul cu editor într-o parte și preview în cealaltă parte este fix asta, un compromis.

Concluzie

Pentru utilizatorii normali, atehnici, codul inserat de editorul WYSIWYG contează mai puțin. Pentru ei contează să vadă în timp real ce se întâmplă. În locul în care este cursorul! Acestea fiind spuse, poate că markup în baza de date nu sună chiar atât de rău. Cel puțin până când apare un editor WYSIWYG Markdown bun. Până atunci, Markdown rămâne un „limbaj” util pentru geeks și, probabil, pentru hipsteri.

16 Comentarii to “Markdown pentru muritorii de rând”

  1. Editoare WYSIWYG pentru OS X si pentru iOS exista si sunt excelente.

    nvALT, Byword, Writer Pro sunt doar citeva dintre ele. Iar daca iti place sa scrii in altceva, exista intotdeauna Marked, care iti ofera preview instant pentru orice document scris in Markdown.

    Eu scriu (aproape tot in Markdown cu Byword. Nu folosesc Marked, desi il am (e cadou chiar de la developer, inca de la lansarea lui).

    In plus, Byword stie de la versiunea 2.0 sa publice direct catre WordPress sau alte servicii, asa ca nu ai nevoie de alte aplicatii si nici macar sa deschizi wp-admin-ul.

  2. @Adrian: Există și pe Windows apps asemănătoare. Doar că aici e vorba de un editor web, în genul TinyMCE :)

  3. @Ionut: te referi la ceva de genul editorially.com?

  4. Aproximativ. Dar reutilizabil unde ai nevoie, cum este TinyMCE :)

  5. Recent am dat de https://stackedit.io/ care arata destul de bine si e opensource (https://github.com/benweet/stackedit). E bazat pe PageDown, editorul opensource folosit de Stack Overflow.

    Sau mai este hallo (http://hallojs.org/demo/markdown/), care e cam ce vrei plus are inline editing. Click pe titlu pentru a edita.

  6. @Silviu: mulțumesc pentru comentariu. Orice editor cu preview separat (așa cum este Stack) nu e ok.
    Hallo l-am încercat de curând și era buggy. Este prea… fragil pentru a fi folosit în producție.

    Dar până la urmă nu e vorba de editoare markdown ci de utilitatea markdown.

  7. asta-i amuzant. hai sa invatam un libaj (programare, mark up, nare-conteste) care scuipa cod in alt libaj. pentru ca… limbaj. inteleg necesitatea bbcodului atunci cand a aparut. dar nu vad necesitatea a ceva asemanator acum, cand ai wysiwyg-uri bune si cand ai n metode de a-ti sanitiza codul.
    singurele exceptii (pe care le-am intalnit pana acum) sunt sass-ul si less-ul.

  8. limbaj*

  9. Nu inteleg, de ce nu markup in baza de date? De ce as converti markup in markdown cand crearea unei actiuni in controller pentru editare cu ckeditor de exemplu imi ia sub 20 de minute.

  10. @Ionut Bajescu, teoretic… pitong.
    practic ai nspe metode care sa te ajute sa eviti pitong.
    teoretic, ca programator, ar trebui sa stii cum sa eviti pitong.
    practic… indieni.

    ps, ma refer strict la cazuri gen wp. cum spune si ionut, e o tampenie sa bagi template-uri in baza de date.
    ps2. ipb-ul isi tinea template-urile in baza de date. nu mai stiu ce face in versiunile mai noi.
    ps3: de ce 20 minute? oO.

  11. @semeketh: Pentru ca atat mi-a luat ultima data cand am lucrat cu un framework cu care n-am mai lucrat niciodata(din lipsa de detalii am luat un proiect in care era nevoie de zend framework, ia-l de unde nu-i, ca in memoria mea sigur nu era). Ce pot sa spun, am luat maximul de minute ca sa nu existe exceptii.

    Nu prea stiu ce sa spun de template-urile tinute in baza de date, nu inteleg ce cauta un fisier template in baza de date dar fie, e ilogic sa fie acolo. E ultimul loc in care as cauta un template.

    Revenind la intrebarea din articol, markdown-ul imi pare ceva ca sa fie si nu ceva rentabil, limbajele de markup(HTML) sunt mult mai avansate si permit lucruri mult mai complexe si logice fata de markdown. Si mie inca imi place sintaxa XML, fie ea in pagina sau in baza de date.

  12. @ionut bajescu, n-am spus ca-i logic sa bagi un template in db. e o cretinatate care a aparut din aceiasi cauza din care au aparut si alte cretinatati. pentru ca s-a putut si pentru ca unu (care abia invatate ce-i aia o baza de date si cam la ce foloseste) a crezut ca-i cool.

    la partea cu 20 minute, corect.

    la intrebarea din articol, pentru ca pitong. din acelasi motiv din care exista si limbaje gen coffeescript (si da, m-am intalnit cu oameni care-mi cereau sa lucrez in asa ceva)

  13. @Adrian: un editor împărțit în două, jumătate pentru preview, cealaltă jumătate pentru editare nu este wysiwyg.
    Și nici unul care arată tag-urile (la urma urmei, #, *, _ sunt tag-uri în markdown). Și nu, faptul că le arată mai șterse, nu ajută.

  14. E o tampenie crunta care nu va tine prea mult parerea mea. Intr-un software conteaza sa fie usor de folosit si intuitiv. Practic markdown cere sa inveti o limba noua, si sa nu ai vizualizare in timp real in secolul 21 e epic.
    Imagineaza-ti sa incurci stelutele, sa mai uiti una, revii in editor, iar dai preview, iar vii in editor, si tot asa. Hipsterii si geeki fara servici vor dispera dupa el, iar oamenii de zi cu zi ii vor injura copios.

    Gandeste-te doar la successul Live Writer, al carui singur avantaj major era ca puteai folosi tema blogului direct in editor, si textul arata exact ca pe site, fata de tinymce-ul nativ. Asta vor oamenii: rezultate instant, nu sa ne imaginam chestii cand avem gigaherzi, terrabytes si fibra optica la indemana sub capota.

    Ai perfecta dreptate, ca e strong, ca e * tot markup este, formatare, iar formatarea face parte din continut, la fel cum atunci cand tiparesti o carte, nu tiparesti separat o lista cu cuvintele care trebuie sa fie bold (chiar, cum ar fi) de dragul de a avea libertatea de a boldui cuvinte ulterior actualizand doar lista, ci printezi totul direct formatat.

Show trackbacks
  1. […] de posiblități și i-aș fi urat succes. Dar oare aceste shortcodes sunt cu mult diferite de Markdown? Eu zic că […]

Ți-a plăcut articolul? Lasă un comentariu!

You can insert code snippets using BBcode:
[js].[/js] [html].[/html] [php].[/php] [css].[/css]
You can also use some HTML tags:
<blockquote>.</blockquote> <code>.</code> <a href="">.</a> <strong>.</strong> <em>.</em>

windows apple dropbox facebook twitter