Markdown extendido (GitHub Flavored Markdown - GFM)

El GitHub Flavored Markdown (GFM) es una extensión del Markdown clásico creada por GitHub para mejorar la documentación técnica dentro de los repositorios.

Incluye soporte adicional que no existía en la versión original de John Gruber (2004). Muchas de estas características hoy son estándar en plataformas como GitHub, GitLab, Bitbucket, Obsidian y VS Code.

Entre las extensiones más importantes están:

  • Listas de tareas con checkboxes.
  • Resaltado de sintaxis extendido.
  • Enlaces automáticos, tablas y referencias (vistos en otros temas).

14.1 Listas de tareas con checkboxes

Las listas de tareas son una mejora de las listas no ordenadas. Cada ítem puede mostrarse como una casilla de verificación (checkbox), marcada o no marcada.

Sintaxis

- [ ] Tarea pendiente
- [x] Tarea completada

Renderizado

  • [ ] Tarea pendiente
  • [x] Tarea completada

👉 Notas:

  • [ ] casilla vacía (pendiente).
  • [x] casilla marcada (completada).
  • Muy usadas en issues y proyectos de GitHub para llevar control visual.

Ejemplo práctico

# Lista de tareas

## Preparación
- [x] Instalar dependencias
- [ ] Configurar base de datos
- [ ] Probar la aplicación

Renderizado:

Lista de tareas

Preparación

  • [x] Instalar dependencias
  • [ ] Configurar base de datos
  • [ ] Probar la aplicación

👉 En GitHub, las casillas pueden ser interactivas desde la interfaz.

14.2 Resaltado de sintaxis extra

Otra mejora de GFM es el soporte para resaltado en bloques de código al especificar el lenguaje tras los backticks.

Ejemplo en Python

```python
def saludo():
    print("Hola desde Markdown GFM")
```

Renderizado con resaltado:

def saludo():
    print("Hola desde Markdown GFM")

Ejemplo en JavaScript

```javascript
function sumar(a, b) {
    return a + b;
}
console.log(sumar(3, 4));
```

Renderizado:

function sumar(a, b) {
    return a + b;
}
console.log(sumar(3, 4));

Ejemplo en JSON

```json
{
  "nombre": "Ana",
  "edad": 25,
  "activo": true
}
```

Renderizado:

{
  "nombre": "Ana",
  "edad": 25,
  "activo": true
}

Lenguajes soportados

GitHub soporta más de 200 lenguajes (Python, JavaScript, Java, C/C++, C#, PHP, Go, Ruby, HTML, CSS, JSON, YAML, SQL, Bash, Dockerfile, Markdown, entre otros).

14.3 Otros extras de GFM (bonus)

  • Enlaces automáticos: escribir una URL la vuelve clicable.
https://www.github.com

Renderizado: https://www.github.com

  • Tablas mejoradas: compatibles con alineación y formato dentro de celdas (ver Tema 12).
  • Emojis: códigos como :smile: que GitHub muestra como 😄.

14.4 Buenas prácticas en GFM

  • Usar listas de tareas para organizar pendientes en proyectos y documentación.
  • Especificar el lenguaje en los bloques de código para aprovechar el resaltado.
  • Mantener consistencia en el estilo de listas y tablas para mayor legibilidad.
  • Evitar funciones exclusivas de GFM si el documento circulará fuera de GitHub (emojis o checkboxes pueden no funcionar en otros visores).

14.5 Ejemplo completo

# Ejemplo de GFM

## Lista de tareas
- [x] Escribir introducción
- [ ] Completar ejemplos
- [ ] Revisar ortografía

## Bloque de código con resaltado
```bash
echo "Hola desde GitHub Flavored Markdown"
```

## JSON con resaltado
```json
{
  "usuario": "juanperez",
  "activo": true,
  "rol": "admin"
}
```

## Enlace automático
https://www.github.com

Renderizado:

Ejemplo de GFM

Lista de tareas

  • [x] Escribir introducción
  • [ ] Completar ejemplos
  • [ ] Revisar ortografía

Bloque de código con resaltado

echo "Hola desde GitHub Flavored Markdown"

JSON con resaltado

{
  "usuario": "juanperez",
  "activo": true,
  "rol": "admin"
}

Enlace automático

https://www.github.com

Conclusión

GitHub Flavored Markdown (GFM) amplía el Markdown clásico con listas de tareas, resaltado extendido y extras como enlaces automáticos, tablas mejoradas y emojis. Es el estándar de facto en proyectos de software por combinar simplicidad con potencia para documentación técnica.

¿Listo para practicar lo aprendido? Visita el visor de Markdown y pon en práctica los conceptos.