HDP115

Markdown para documentación

Aprende a utilizar Markdown para crear documentación efectiva en proyectos Git, incluyendo archivos README, wikis y otros documentos en plataformas como GitHub, GitLab y Bitbucket.

CE

Cristian Escalante

Última actualización: 28 de abril de 2025

git
control de versiones
desarrollo
documentación

Markdown para documentación

La documentación es una parte esencial de cualquier proyecto de software. En el ecosistema de Git y plataformas como GitHub, GitLab y Bitbucket, Markdown se ha convertido en el estándar de facto para crear documentación legible y bien formateada. En esta lección, aprenderás qué es Markdown, cómo usarlo efectivamente y cómo aplicarlo para documentar tus proyectos Git.

¿Qué es Markdown?

Markdown es un lenguaje de marcado ligero creado por John Gruber y Aaron Swartz en 2004. Su objetivo principal es permitir la creación de contenido con formato utilizando texto plano, con una sintaxis sencilla y fácil de leer.

Las principales ventajas de Markdown incluyen:

  • Simplicidad: Es fácil de aprender y usar
  • Portabilidad: Es texto plano, por lo que funciona en cualquier plataforma
  • Legibilidad: Incluso sin procesar, el texto en Markdown es fácil de leer
  • Versatilidad: Se puede convertir a HTML, PDF y otros formatos
  • Compatibilidad: Es ampliamente soportado en plataformas de desarrollo

Archivos Markdown en proyectos Git

En proyectos Git, los archivos Markdown (con extensión .md) se utilizan comúnmente para:

  • README.md: La documentación principal del proyecto que se muestra automáticamente en la página principal del repositorio
  • CONTRIBUTING.md: Guías para contribuir al proyecto
  • LICENSE.md: Información sobre la licencia del proyecto
  • CHANGELOG.md: Registro de cambios y versiones
  • Wikis: Documentación más extensa del proyecto
  • Issues y Pull Requests: Descripciones y comentarios

Sintaxis básica de Markdown

Encabezados

Los encabezados se crean con el símbolo #. El número de símbolos determina el nivel del encabezado:

# Encabezado 1
## Encabezado 2
### Encabezado 3
#### Encabezado 4
##### Encabezado 5
###### Encabezado 6

Énfasis

Para dar énfasis al texto:

*Texto en cursiva* o _Texto en cursiva_
**Texto en negrita** o __Texto en negrita__
***Texto en cursiva y negrita*** o ___Texto en cursiva y negrita___
~~Texto tachado~~

Listas

Listas no ordenadas:

- Elemento 1
- Elemento 2
  - Subelemento 2.1
  - Subelemento 2.2
- Elemento 3

* Alternativa 1
* Alternativa 2

Listas ordenadas:

1. Primer elemento
2. Segundo elemento
   1. Subelemento 2.1
   2. Subelemento 2.2
3. Tercer elemento

Enlaces

[Texto del enlace](https://www.ejemplo.com)
[Enlace con título](https://www.ejemplo.com "Título del enlace")

Enlaces a archivos en el mismo repositorio:

[Enlace a otro archivo](./docs/archivo.md)

Imágenes

![Texto alternativo](https://ejemplo.com/imagen.jpg)
![Logo del proyecto](./images/logo.png "Título de la imagen")

Citas

> Esta es una cita.
> 
> Puede abarcar múltiples párrafos.

Código

Código en línea:

Usa `git status` para ver los cambios.

Bloques de código:

```
git clone https://github.com/usuario/repositorio.git
cd repositorio
```

Bloques de código con resaltado de sintaxis:

```javascript
function saludar() {
  console.log("Hola, mundo!");
}
```

Líneas horizontales

---
***
___

Tablas

| Encabezado 1 | Encabezado 2 | Encabezado 3 |
|-------------|-------------|-------------|
| Celda 1,1   | Celda 1,2   | Celda 1,3   |
| Celda 2,1   | Celda 2,2   | Celda 2,3   |

Para alinear el contenido de las columnas:

| Alineado a la izquierda | Centrado | Alineado a la derecha |
|:----------------------|:--------:|---------------------:|
| Texto                  | Texto    | Texto                |

Listas de tareas

- [x] Tarea completada
- [ ] Tarea pendiente
- [ ] Otra tarea pendiente

Extensiones específicas de plataformas

GitHub Flavored Markdown (GFM)

GitHub añade algunas extensiones útiles a Markdown:

Menciones de usuarios

@nombreusuario

Referencias a issues y pull requests

#123

Emojis

:smile: :rocket: :bug:

Notas al pie

Aquí hay una nota al pie[^1].

[^1]: Esta es la nota al pie.

GitLab Markdown

GitLab incluye características similares a GitHub, además de:

Diagramas Mermaid

```mermaid
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
```

Bitbucket Markdown

Bitbucket también tiene su propia versión de Markdown con algunas diferencias sutiles.

Creando un buen archivo README.md

El archivo README.md es la carta de presentación de tu proyecto. Un buen README debe incluir:

1. Título y descripción

# Nombre del Proyecto

Una breve descripción de lo que hace tu proyecto.

2. Insignias (Badges)

![GitHub stars](https://img.shields.io/github/stars/usuario/repositorio?style=social)
![GitHub forks](https://img.shields.io/github/forks/usuario/repositorio?style=social)
![GitHub issues](https://img.shields.io/github/issues/usuario/repositorio)
![GitHub license](https://img.shields.io/github/license/usuario/repositorio)

3. Tabla de contenidos

## Tabla de contenidos
- [Instalación](#instalación)
- [Uso](#uso)
- [Características](#características)
- [Contribuir](#contribuir)
- [Licencia](#licencia)

4. Instalación

## Instalación

```bash
git clone https://github.com/usuario/repositorio.git
cd repositorio
npm install

### 5. Uso

```markdown
## Uso

```javascript
const proyecto = require('proyecto');
proyecto.iniciar();

### 6. Ejemplos

```markdown
## Ejemplos

Aquí hay algunos ejemplos de cómo usar el proyecto:

### Ejemplo 1

```javascript
// Código de ejemplo

### 7. Documentación

```markdown
## Documentación

Para más información, consulta la [documentación completa](https://docs.ejemplo.com).

8. Contribuir

## Contribuir

Las contribuciones son bienvenidas. Por favor, lee [CONTRIBUTING.md](CONTRIBUTING.md) para más detalles.

9. Licencia

## Licencia

Este proyecto está licenciado bajo la Licencia MIT - ver el archivo [LICENSE.md](LICENSE.md) para más detalles.

Buenas prácticas para documentación con Markdown

1. Mantén una estructura consistente

Organiza tu documentación de manera lógica y mantén un formato consistente en todos los archivos.

2. Usa encabezados para organizar el contenido

Los encabezados ayudan a estructurar el documento y facilitan la navegación.

3. Incluye ejemplos de código

Los ejemplos prácticos hacen que la documentación sea más útil y fácil de entender.

4. Actualiza la documentación regularmente

La documentación desactualizada puede ser peor que no tener documentación.

5. Usa imágenes cuando sean útiles

Las capturas de pantalla o diagramas pueden explicar conceptos complejos de manera más efectiva.

6. Considera a tu audiencia

Adapta el nivel de detalle y el lenguaje técnico según quién leerá la documentación.

7. Incluye enlaces a recursos externos

Proporciona referencias a documentación oficial, tutoriales o artículos relacionados.

8. Revisa la ortografía y gramática

Una documentación bien escrita refleja profesionalismo y atención al detalle.

Herramientas para trabajar con Markdown

Editores de Markdown

  • Visual Studio Code: Con extensiones como "Markdown All in One"
  • Typora: Editor WYSIWYG para Markdown
  • StackEdit: Editor de Markdown en línea
  • Dillinger: Otro editor en línea con vista previa en tiempo real
  • Obsidian: Ideal para crear documentación interconectada

Conversión de Markdown

  • Pandoc: Convierte Markdown a múltiples formatos (PDF, DOCX, etc.)
  • Marked 2: Visualizador de Markdown para macOS
  • mdpdf: Convierte Markdown a PDF desde la línea de comandos

Integración de Markdown en el flujo de trabajo Git

Documentación como código

Trata tu documentación como código:

  1. Versiona los cambios con Git
  2. Revisa los cambios mediante pull requests
  3. Utiliza CI/CD para validar y publicar la documentación

Automatización con GitHub Actions

Puedes configurar GitHub Actions para:

  • Validar enlaces en archivos Markdown
  • Verificar la ortografía y gramática
  • Generar sitios de documentación a partir de archivos Markdown
  • Publicar automáticamente la documentación cuando se actualiza

Conclusión

Dominar Markdown es una habilidad esencial para cualquier desarrollador que trabaje con Git. Una buena documentación no solo ayuda a otros a entender y usar tu código, sino que también facilita la colaboración y el mantenimiento a largo plazo.

Al invertir tiempo en crear documentación clara y bien estructurada con Markdown, estás contribuyendo significativamente al éxito de tu proyecto y a la experiencia de todos los que interactúan con él.

En la próxima lección, aprenderemos sobre el versionado semántico y cómo aplicarlo en proyectos Git para gestionar eficientemente las versiones de tu software.

Realizar commits y pushes hacia GitHub
Aprende a realizar cambios en repositorios locales, hacer co...
¿Qué es el versionado semántico?
Aprende los fundamentos del versionado semántico (SemVer), s...
Referencias
Matt Cone. Markdown Guide. https://www.markdownguide.org/
GitHub. GitHub Flavored Markdown Spec. https://github.github.com/gfm/

Conceptos Básicos de HTML

Aprende los conceptos básicos de HTML

Conceptos Básicos de CSS

Aprende los conceptos básicos de CSS

Conceptos Básicos de JavaScript

Aprende los conceptos básicos de JavaScript

Conceptos Básicos SQL

Aprende los conceptos básicos de SQL

Conceptos Básicos de Python

Aprende los conceptos básicos de Python

Conceptos Básicos de UML

Aprende los conceptos básicos de UML

Refuerzo Academico de Herramientas de Productividad 2025