# Markdown

Markdown esaten zaio markatze-hizkuntza arin bati, zeinak testu hutsa erabiltzen baitu sintaxi moduan. Hizkuntza horrek aukera ematen du jatorrizko testua zenbait formatutara bihurtzeko (XHTML, HTML, PDF, EPUB, DOC, .txt testu hutsa…), eta testuok erraz partekatzeko ordenagailu, telefono, irakurgailu eta bestelako tresnen artean. Markdown hizkuntza sarri erabiltzen da readme fitxategietan, online foroetan eta testu aberatsa sortzeko, horretarako testu hutseko editore bat erabilita.
John Gruberrek sortu zuen Markdown hizkuntza 2004an, eta lan hartan Aaron Swartzek lagundu zion sintaxia sortzen. Hastapenetan, Markdown hizkuntzaren deskripzioak zituenez zenbait anbiguotasun eta erantzun gabeko galderak, urteetan agertu diren inplementazioek desberdintasun sotilak dituzte, eta horietako zenbait sintaxi-gehigarriekin datoz. Markdown BSD lizentziapean banatzen da, eta plug-in moduan ere zabaltzen da zenbait CMS edo edukiak kudeatzeko sistematan. Hasieran Perl programazio-hizkuntzan gauzatu zen, baina harrezkero hainbat programazio-hizkuntzatara itzuli da, hala nola PHP, Python, Ruby, Java eta Common Lisp.

## Historia

John Gruberrek sortu zuen Markdown hizkuntza 2004an, Aaron Swartzen laguntzarekin sintaxian. Bien helburua zen erreminta bat sortzea, irakurtzeko eta idazteko erraza, jendeari lagunduko ziona idazten testu hutsa erabilita, eta XHTML edo HTML bihurtuko zena publikatzerakoan.
Diseinuaren giltzarria da irakurgarritasuna, hizkuntza erraz irakur dadin dagoenetan, berau agertu barik etiketaz edo formatu-aginduz beteta, Rich Text Formatua (RTF) edo HTML agertzen diren moduan, etiketa eta agindu horiek zaildu egiten dute-eta testua ondo irakurri eta ulertzea. Markdown egileek, batez ere, inspiratu ziren emailetako testu hutsak markatzeko erabiltzen ziren konbentzioetan, eta baita lehendik zeuden markatze-hizkuntzetan, bereziki setext, Textile, reStructuredText, Grutatext, eta EtText.
Gruberrek idatzi zuen Perl-script bat, Markdown.pl, zeinak testu markatuak bihurtzen dituen XHTML edo HTML dokumentu ondo formateatu, eta ordezkatzen dituen kako zuzenak '<' '>' eta '&' sinboloa dagozkien entitateekin.
Harrezkero beste batzuek ere inplementatu dute Markdown hizkuntza, CPANeko Perl modulu gisa (Text::Markdown), eta beste hainbat programazio-hizkuntzetan. BSD lizentziapean banatzen da, eta plug-in moduan ere zabaltzen da zenbait CMS edo edukiak kudeatzeko sistematan.
Zenbait webgunek, hala nola GitHub, Bitbucket, Reddit, Diaspora, Stack Exchange, OpenStreetMap, Lemmy eta SourceForge, erabiltzen dituzte Markdown aldaerak, errazteko erabiltzaileen arteko eztabaida. Slack-ek, bat-bateko mezulari-zerbitzuak ere, Markdown "dialekto" bat erabiltzen du.

### Estandarizazioa

Ez dago Markdown estandar definitu bat, John Gruberrek sortutako jatorrizko inplementaziotik kanpo, zeina zenbaitek zaharkitutzat jotzen baitu. Horrek zatikatzea dakar, zeren bakoitzak bere Markdown aldaera sortzen baitu, xehetasunak zuzendu edo ezaugarriak gehitzeko.

## Adibidea

| Testua, Markdown sintaxia erabilita | Dagokion HTMLa, Markdown prozesadoreak sortua | Testua, nabigatzaileak ikusi bezala |
| Izenburua ======= ## Bigarren mailako izenburua Lerro zuri batek banatzen ditu paragrafoak. Bi zuriunek lerroaren bukaeran lerro hautsia sortzen dute. Testu atributuak _etzana_, **lodia**, `tarte-bakarrekoa`. Lerro horizontala: --- Buletdun zerrenda: * sagarrak * laranjak * madariak Zenbakidun zerrenda: 1. garbitu 2. kendu xaboia 3. errepikatu Horra [esteka][adibidea]. [adibidea]: http://example.com ![Image](Image_icon.png "icon") > Markdown-ek erabiltzen ditu email-estiloko > karaktereak aipatzeko. Inline <abbr title="Hypertext Markup Language">HTML</abbr> bateragarria da. | <h1>Izenburua</h1> <h2>Bigarren mailako izenburua</h2> <p>Lerro zuri batek banatzen ditu paragrafoak.</p> <p>Bi zuriunek lerroaren bukaeran lerro hautsia sortzen dute.</p> <p>Testu atributuak <em>etzana</em>, <strong>lodia</strong>, <code>tartebakarrekoa</code>.</p> <p>Marra horizontala:</p> <hr /> <p>Buletdun zerrenda:</p> <ul> <li>sagarrak</li> <li>laranjak</li> <li>madariak</li> </ul> <p>Zenbakidun zerrenda:</p> <ol> <li>garbitu</li> <li>kendu xaboia</li> <li>errepikatu</li> </ol> <p>Horra <a href="http://example.com">esteka</a>.</p> <p><img alt="Imaage" title="icon" src="Image_icon.png" /></p> <blockquote> <p>Markdown-ek erabiltzen ditu email-estiloko &gt; karakterrak aipatzeko.</p> </blockquote> <p>Inline <abbr title="Hypertext Markup Language">HTML</abbr> bateragarria da.</p> | Izenburua Bigarren mailako izenburua Lerro zuri batek banatzen ditu paragrafoak. Bi zuriunek lerroaren bukaeran lerro hautsia sortzen dute. Testu atributuak etzana, lodia, tartebakarrekoa. Marra horizontala: Buletdun zerrenda: sagarrak laranjak madariak Zenbakidun zerrenda: garbitu kendu xaboia errepikatu Horra esteka. Markdown-ek erabiltzen ditu email-estiloko > karaktereak aipatzeko. Inline HTML bateragarria da. |

## Inplementazioak

Dozenatik gora programazio-hizkuntzatan aurki daitezke Markdown-en inplementazioak; horrezaz gain, plataforma eta framework asko bateragarriak dira Markdownekin. Adibidez, Markdown plug-inak daude blog-plataforma handi guztietan.
Oso erraza da Markdown irakurtzea edo idaztea testu hutseko editore batekin, hala nola Bloc de Notas, TextEdit edo gedit. Hala ere, Markdownen espezializatutako editoreak daude (Harropad, adibidez), aurki daitezkeenak hainbat sistema eragiletan, hala nola Linux, Mac OS, Windows, Android eta iOS. Testu editorerik gehienek plug-in bat dakarte Markdown sintaxia nabarmentzeko, bai programaren barruan, edo bestelako deskarga baten bidez. Editore horiek badaukate leiho bat bistaratzeko dokumentua, WYSIWYG dokumentu bat bailitzan. Adibideak:
* PHP: PHP Markdown
* Python: markdown.py (webpy.org)
* Python: (python.org)
* Perl: Text::Markdown
* C#
* Ruby: BlueCloth
* Java: markdownj, MarkdownPapers
* JavaScript: Showdown
* Lua: markdown.lua
* MultiMarkdown, Markdown-en Perl bertsioa, zenbait ezaugarri eta erreminta estrarekin.
* Multiproposito: Visual Studio Code

## Markdown editoreak

* Edozertarako editoreak
** TextMate
** KWrite|Kwrite
** Emacs
** Vim
** kate
** MacDown
** Apostrophe (Linux)
** Ghostwriter (Linux)
** ReText (Linux)
** Formiko Vim (Linux)
** Formiko (Linux)
** MarkText (Linux)
* Blog editoreak
** Ecto
** MarsEdit
* Markdown editore espezializatuak
** Haroopad
** Springseed
** Remarkable
** CuteMarkEd
** Atom Editor
** Typora
* Online editoreak
** Markable
** Dillinger
** Badaude hainbat gehigarri Firefoxen Markdown formatuan editatzen laguntzeko.
* Bihurgailuak
** HTML-etik a Markdown-era
*** html2text (Python)
*** XHTML-tik-Markdown-era XSLT (estilo orria, bakarrik dabil XHTML-ekin)
** Beste formatu batzuetatik Markdown-era
*** odt2txt (Python bihurgailu bat, zeinak OpenDocument testuak Markdown bihurtzen baititu.)

## Euskal Herrian

2001ean, Luistxo Fernandez blogariak tutorial labur bat prestatu zuen idatziz Sustatu blogean idatzi nahi zutenentzat, eta bertan erakusten zen zelan markatu testua, ondoren Sustatun HTML gisa ager zedin. Testu mota hari deitu zion “Testu egituratua”, eta gero etorriko zen Markdown haren oso antzekoa zen. Luistxok berak horrela esplikatu zuen, orduan, zer zen “testu egituratua”:
   Testu hutsa idatziz web-erako dokumentuak sortzeko modu bat, HTML zer den jakiteko beharrik gabe. Testu arrunta idatzi, eta makinak HTML kodean bihurtzen du, hori da koxka.

## Erreferentziak

* ↑ (Ingelesez) <dev+ietf@seantek.com>, Sean Leonard. «The text/markdown Media Type» tools.ietf.org (Noiz kontsultatua: 2018-12-01).
* ↑ (Ingelesez) «Markdown (Aaron Swartz: The Weblog)» www.aaronsw.com (Noiz kontsultatua: 2018-12-01).
* ↑ Daring Fireball: Markdown. 2004-04-02 (Noiz kontsultatua: 2018-12-01).
* ↑ «Ikusi "Markdown" – Add-ons for Firefox (eu)» addons.mozilla.org (Noiz kontsultatua: 2023-07-05).
* ↑ «Markdown hizkuntza ikasten» Faroa 2015-09-10 (Noiz kontsultatua: 2018-12-01).

## Kanpo estekak

* (Ingelesez) Gida bat ingelesez: markdownguide.org/basic-syntax.
* (Ingelesez) Gida bat ingelesez: Getting started (hasierako jakingarriak)
* Laguntza eskatzeko foroa (euskaraz).
* Datuak: Q1193600
* Multimedia: Markdown / Q1193600