Bloques literales y doblados

YAML permite representar texto multilínea sin recurrir a comillas. Los operadores | (bloque literal) y > (bloque doblado) facilitan la escritura de mensajes largos, documentación interna, logs o fragmentos de código.

Bloque literal (|) conserva los saltos de línea tal como están.
Bloque doblado (>) convierte los saltos de línea simples en espacios para generar párrafos corridos.

10.1 Bloque literal (|)

El texto se mantiene exactamente como se escribe en el archivo, preservando cada salto de línea.

mensaje: |
  Estimado usuario:

  Su pedido ha sido recibido.
  En breve le enviaremos una confirmación por correo electrónico.

  Saludos cordiales,
  El equipo de Ventas

Resultado:

Estimado usuario:

Su pedido ha sido recibido.
En breve le enviaremos una confirmación por correo electrónico.

Saludos cordiales,
El equipo de Ventas

Ideal para mensajes formateados, logs, documentación interna o bloques de código.

10.2 Bloque doblado (>)

Con > los saltos de línea simples se reemplazan por espacios; se conservan únicamente los saltos dobles.

descripcion: >
  Este es un teclado mecánico.
  Tiene retroiluminación RGB.
  Ideal para gaming.

Resultado: Este es un teclado mecánico. Tiene retroiluminación RGB. Ideal para gaming.

Útil para descripciones largas que deben almacenarse en una sola línea.

10.3 Comparación rápida

texto_literal: |
  Línea 1
  Línea 2
  Línea 3

texto_doblado: >
  Línea 1
  Línea 2
  Línea 3
Literal (|): muestra
Línea 1
Línea 2
Línea 3
Doblado (>): muestra Línea 1 Línea 2 Línea 3

10.4 Control de saltos finales (|+, |-, >+, >-)

Los modificadores permiten decidir si se conservan o eliminan los saltos de línea al final del bloque.

texto1: |-
  Hola
  Mundo

texto2: |+
  Hola
  Mundo
  • |- elimina el salto final.
  • |+ conserva el salto final.
  • Los mismos modificadores se aplican a >.

10.5 Buenas prácticas

  • Usa bloques literales (|) cuando los saltos de línea sean relevantes (logs, código, correos).
  • Usa bloques doblados (>) para párrafos largos que deben almacenarse en una sola línea.
  • Combina + o - para controlar el comportamiento de las líneas finales.
  • Mantén una indentación consistente dentro del bloque para evitar errores.

10.6 Casos de uso

Logs o mensajes de error (con |):

error_log: |
  Error 500: Internal Server Error
  Traceback (most recent call last):
    File "app.py", line 10, in <module>

Descripciones largas en DevOps (con >):

descripcion: >
  Este pipeline ejecuta las pruebas unitarias,
  construye la imagen Docker y
  despliega la aplicación en Kubernetes.

En resumen, | preserva los saltos de línea y > los convierte en espacios. Los modificadores + y - nos dan control adicional sobre las líneas finales, permitiendo ajustar el formato según la necesidad.