Markdown es un lenguaje de marcado ligero creado en 2004 por John Gruber, trata de conseguir la máxima legibilidad y facilidad de publicación tanto en su forma de entrada como de salida, inspirándose en muchas convenciones existentes para marcar mensajes de correo electrónico usando texto plano.
Facilita la aplicación de formato y estilo a texto plano empleando una serie de caracteres de forma especial.
El objetivo de su creador fue hacer que la gente pudiera escribir usando un formato de texto plano fácil de leer, fácil de escribir y con la posibilidad de convertir su documento en HTML válido.
La gran simpleza de su sintaxis hizo que tuviera una rápida adopción y popularidad en la comunidad de desarrolladores.
Actualmente aparte de permitir generar contenido HTML de forma dinámica, también se emplea (casí de forma estándar) para la creación de documentación técnica y con la proliferación de la arquitectura JAM Stack para la creación de sitios estáticos a través de herramientas de tipo SSG (Static Site Generator) y SSR (Server Side Rendering) como Hugo, Gatsby, Eleventy, Next.js, Sergey, Astro, entre otros, Markdown se ocupa para la generación de contenido editorial (artículos de blog) de forma dinámica.
Sintaxis Markdown
La sintaxis es muy sencilla y cuenta con varias opciones para algunos de sus elementos. Básicamente se trata de añadir ciertos caracteres al inicio o final de la línea o el elemento al que vamos a aplicar el formato.
Párrafos
Código Markdown
Párrafo 1...
Lorem ipsum dolor sit amet consectetur adipisicing elit. Recusandae, voluptatibus, molestiae omnis, voluptas ullam dolorem accusantium cumque minima quod saepe quis corporis eos nemo sequi dolore reiciendis dignissimos? Quis, provident.
Párrafo 3...
Contenido Markdown
Párrafo 1...
Lorem ipsum dolor sit amet consectetur adipisicing elit. Recusandae, voluptatibus, molestiae omnis, voluptas ullam dolorem accusantium cumque minima quod saepe quis corporis eos nemo sequi dolore reiciendis dignissimos? Quis, provident.
Párrafo 3...
Textos
Podemos aplicar algunos estilos al texto como: cursiva, negritas y ~tachado~.
Código Markdown:
_cursiva_
**negrita**
~tachado~
**_cursiva y negrita_**
_~cursiva y tachado~_
**~negrita y tachado~**
**_~cursiva, negrita y tachado~_**
Contenido Markdown:
cursiva
negrita
~tachado~
cursiva y negrita
~cursiva y tachado~
~negrita y tachado~
~cursiva, negrita y tachado~
Encabezados
En HTML existen 6 niveles de encabezados, que nos permite dar jerarquía a los títulos de nuestro contenido. En Markdown tenemos los mismos encabezados.
Código Markdown:
# Encabezado de nivel 1
## Encabezado de nivel 2
### Encabezado de nivel 3
#### Encabezado de nivel 4
##### Encabezado de nivel 5
###### Encabezado de nivel 6
Contenido Markdown:
Encabezado de nivel 1
Encabezado de nivel 2
Encabezado de nivel 3
Encabezado de nivel 4
Encabezado de nivel 5
Encabezado de nivel 6
Enlaces
Código Markdown
[YouTube](https://youtube.com/jonmircha)
Contenido Markdown
Imágenes
Código Markdown
![This is JavaScript](https://jonmircha.com/img/blog/this-is-javascript.jpg)
Contenido Markdown
Divisiones
En HTML se tiene la etiqueta <hr>
para definir una división o ruptura semántica entre bloques de contenido. Se visualiza como una línea horizontal.
Código Markdown
Un bloque de contenido.
---
Otro bloque de contenido.
Contenido Markdown
Un bloque de contenido.
Otro bloque de contenido.
Listas
Podemos utilizar listas ordenadas y desordenadas en Markdown.
Listas ordenadas
Código Markdown
1. Primavera
1. Verano
1. Otoño
1. Invierno
Contenido Markdown
- Primavera
- Verano
- Otoño
- Invierno
Listas desordenadas
Código Markdown
- Primavera
- Verano
- Otoño
- Invierno
Contenido Markdown
- Primavera
- Verano
- Otoño
- Invierno
Listas anidadas
Si quieres generar listas anidadas (sublistas), usa la indentación para controlar los niveles de los elementos de la lista.
Código Markdown
- Primavera
- Abril
- Mayo
- Junio
- Verano
- Julio
- Agosto
- Septiembre
- Otoño
1. Octubre
1. Noviembre
- Día de Muertos
- _Black Friday_
1. Diciembre
- Invierno
1. Enero
1. Febrero
1. Marzo
Contenido Markdown
- Primavera
- Abril
- Mayo
- Junio
- Verano
- Julio
- Agosto
- Septiembre
- Otoño
- Octubre
- Noviembre
- Dia de Muertos
- Black Friday
- Diciembre
- Invierno
- Enero
- Febrero
- Marzo
Citas
Podemos dar formato de cita a un texto, anteponiendo a la línea de texto un carcater de mayor qué (>
).
Podemos declarar citas en una sóla línea o en bloque.
Citas en línea
Código Markdown
> Todo lo que escuchamos es una opinión, no un hecho. Todo lo que vemos es una perspectiva, no la verdad. - Marco Aurelio.
Contenido Markdown
Todo lo que escuchamos es una opinión, no un hecho. Todo lo que vemos es una perspectiva, no la verdad. - Marco Aurelio.
Citas en bloque
Código Markdown
> Todo lo que escuchamos es una opinión, no un hecho. Todo lo que vemos es una perspectiva, no la verdad.
>
> Marco Aurelio.
Contenido Markdown
Todo lo que escuchamos es una opinión, no un hecho. Todo lo que vemos es una perspectiva, no la verdad.
Marco Aurelio.
Tablas
Código Markdown
| Columna 1 | Columna 2 | Columna 3 |
| --------- | --------- | --------- |
| A | B | C |
| D | E | F |
| G | H | I |
Contenido Markdown
Columna 1 | Columna 2 | Columna 3 |
---|---|---|
A | B | C |
D | E | F |
G | H | I |
Códigos
Podemos dar formato de código a un texto, para ello se usa el acento grave (`).
Podemos declarar código en una sóla línea o en bloque.
Código en línea
Código Markdown
Esto es `código` en línea.
En _JavaScript_ una variable se define así: `let saludo = "Hola Mundo";`.
Contenido Markdown
Esto es código
en línea.
En JavaScript una variable se define así: let saludo = "Hola Mundo";
.
Código en bloque
Código Markdown
```js
function sumar(a, b) {
if (typeof a !== "number" || typeof b !== "number") {
console.error(`Los valores ingresados NO son números.`);
return false;
}
let c = a + b;
return c;
}
```
Contenido Markdown
function sumar(a, b) {
if (typeof a !== "number" || typeof b !== "number") {
console.error(`Los valores ingresados NO son números.`);
return false;
}
let c = a + b;
return c;
}
Código HTML
Markdown también interpreta código HTML dentro de su sintaxis.
Código Markdown
<form>
<label for="q">Buscar:</label>
<input type="search" name="q" id="q" required />
<input type="submit" value="🔍" />
</form>
Contenido Markdown
Comentarios
Los comentarios son textos ignorados por el programa que interpreta o compila el código, no se visualizarán. Sirven a los programadores para dejar notas en el código. Markdown utiliza el mismo formato que HTML para comentar.
Código Markdown
<!-- Esto es un comentario -->
Contenido Markdown
Escape de caracteres
Se le llama escape de caracteres al proceso que hace un lenguaje de marcado o programación para omitir los caracteres especiales que usa para la definición de su sintaxis. Al escapar caracteres, el lenguaje los interpretará como simple texto plano.
Por ejemplo Markdown usa los siguientes caracteres especiales: guión bajo, medio, asterísco, corchetes cuadrados, paréntesis, almohadilla, acento grave, barra invertida, etc.
Para escapar un caracter en Markdown sólo tenemos que anteponerle un barra invertida \
.
Código Markdown
Texto en \_cursiva\_ y \*\*negrita\*\*.
Contenido Markdown
Texto en _cursiva_ y **negrita**.
Aprende más
Si quieres profundizar en este lenguaje de marcado, el sitio de Markdown Guide es una excelente opción que te servirá como guía de consulta rápida donde podrás encontrar: cheat sheets, actualizaciones de la sintaxis, herramientas, aplicaciones y servicios que usan Markdown.
Otra guía que te puede servir para hacer consultas rápidas mientras te aprendes la sintaxis es la del sitio de Joe Di Castro.
Si quieres practicar de forma inmediata la sintaxis del lenguaje puedes entrar al sitio de Dillinger que es un editor de código Markdown en línea.
En este curso te enseño a trabajar con Markdown.
🌱 estás en mi jardín digital 🌱
🦊🐺🐸🐧🪲🐉🦍🐅🐥🌟🪶