Markdown se trata de dos cosas a la vez.
- Lenguaje de marcado ligero para la Web sin la complejidad de HTML.
- Software que convierte el texto escrito en Markdown en HTML.
- Busca ser fácil de escribir
- Pero sobre todo fácil de leer
- La sintaxis elegida indica lo que significa
- Por ejemplo, los asteriscos para enfatizar una palabra o frase
- Por ejemplo, los puntos para mostrar listados.
Gruber confiesa que no creó Markdown para escribir de forma más fácil HTML porque ya le parecía muy fácil, sino que lo que quería era leerlo mejor.
- Si el HTML es el lenguaje para publicar documentos Web
- Markdown es un lenguaje para escribir y leer documentos.
Se inspira en muchos conversores de texto a HTML como:
- Setext
- atx
- Textile
- Rest
- Grutatext
- EtText
- Pero sobre todo en las convenciones existentes para marcar mensajes de correo electrónico usando texto plano.
El nombre juega con el Markup de HTML, el lenguaje de marcado de hipertexto
- Markup, marcas de HTML
- Markdown, documentos simples
- Allí donde la sintaxis de Markdown no llega se puede emplear HTML tal cual.
- No hay que señalarlo de ninguna manera pero sí que se debe dejar una línea en blanco antes o después de
<div>
,<table>
,<pre>
,<p>
, etc. - No se puede usar Markdown dentro de los citados elementos de bloque HTML, o al menos no con el resultado esperado.
- Pero sí que se puede usar elementos en línea de HTML en un párrafo escrito en Markdown.
Hay dos tipos fundamentales de elementos HTML, elementos de bloque y elementos en línea.
- Los elementos en bloque son aquellos que forman un bloque de texto, como un párrafo, y son
div
,table
,p
,pre
,ul
,li
, etc. - Mientras que los elementos en línea se sitúan dentro de los elementos de bloque, como son los enlaces
a
, las palabras señaladasstrong
o enfatizadasem
,span
,cite
,del
, etc.
En HTML hay dos caracteres que requieren tratarse especialmente:
<
: se utilizan para iniciar etiquetas&
: denotan entidades HTML.
Si quieres usarlos, debes ponerlos como entidades, <
y &
Debes incluso escapar et que aparezcan en el interior de direcciones URL. Por ejemplo, esta dirección:
http://images.google.com/images?num=30&q=grace+hooper
Hay que codificarla como:
http://images.google.com/images?num=30&q=grace+hooper
Esto es algo que se olvida con facilidad y es el error más frecuente en los servicios de validación del marcado de sitios web.
Cualquier et que corresponda con una entidad HTML, permanecerá tal cual pero si se escribe sin ser parte de una entidad o sin la entidad et en sí, se traducirá como &
, y lo mismo con <
, que no lo traducirá si se pertenece a un elemento de HTML pero sí si está en una expresión tipo 4 < 5
, por lo que aparecería como 4 < 5
- Markdown fue implementado originariamente en Perl por Tom Gruber
- Se ha sido traducido a multitud de lenguajes de programación, incluyendo PHP, Python, Ruby, Java y Common Lisp.
- Son elementos de bloque en Markdown
- Un párrafo es una o más líneas de texto separadas por una o más líneas de blanco.
- No por muchas líneas de separación que pongamos vamos a conseguir más separación entre párrafos, es decir, no traduce cada línea de separación por una etiqueta
<br />
- Encabezados
- Énfasis
- Enlaces
- H1
- H2
- Hn
Para el encabezamiento principal podemos utilizar dos sintaxis:
Esto es un H1 ============= # Esto es un H1
Para el H2 podemos utilizar dos formas también:
Esto es un H2 ------------- ## Esto es un H2
Podemos continuar escribiendo almohadillas, según el número de ellas que escribamos, el número de H
que sea:
### Esto es un H3 #### Esto es un H4 ##### Esto es un H5
- Tanto para === como para
-
no es importante que sean el mismo número de caracteres que de la línea que precede. - Cuando eliges almohadillas, puedes poner a continuación del texto almohadillas, aunque no sirven de nada, puede ser útil.
- Es decir, no tiene importancia el número de almohadillas que pongas al final.
## Esto es un H2 ###
Se puede hacer de dos formas, con itálicas o negritas.
- Para las itálicas, lo circunscribimos entre asteriscos o guiones bajos simples.
- Para las negritas, lo rodearemos de guiones dobles o guiones bajos dobles:
- Para negritas e itálicas, todo junto, lo pondremos entre tres asteriscos:
*italic* **bold** _italic_ __bold__ ***cursiva y negrita***
Puedes escribirlo de tres maneras distintas:
- Enlace Markdown
- Enlace con marcas
- Enlaces con referencia o citas
Un [ejemplo](http://blog.infotics.es/ "Title")
Donde Title
es el atributo title
de HTML
<http://blog.infotics.es> Escribe a: <hola@infotics.es>
[URL de enlace uno][1] debajo de este párrafo, aparecerá debajo el enlace uno, y a continuación [el enlace dos][2]. [1]: http://url [2]: http://otra.url "Con atributo title aquí dentro"
Que también se pueden hacer con un atajo:
Quiero que esta referencia sea un [atajo][] que aparece a continuación del párrafo. [atajo]: http://la.url.que.quiero
Usamos el carácter >
para cada línea de texto que queremos
Por ejemplo:
> Esto es una cita > Dime de qué careces > Y te diré de qué presumes
- Fue creado originalmente por John Gruber y Aaron Swartz para la Web
- Se distribuye bajo licencia BSD
Está disponible como plugin en diferentes sistemas de gestión de contenidos (CMS)