BreviariumBreviarium
LibreríasBreviarium Core

Formato de los textos

Las marcas que usan los textos (rúbricas, antífonas, versículos, saltos de línea) y cómo convertirlas en HTML.

Los textos se devuelven como cadenas planas con unas pocas marcas ligeras. Así puedes mostrarlos como texto, HTML, componentes nativos o lo que necesite tu interfaz.

Marcas

MarcaSignificadoEjemplo
\nSalto de línea (versos de himnos y salmos)"Cantad al Señor un cántico nuevo,\ncantad al Señor, toda la tierra;"
\n\nSeparación de estrofas o párrafos
_texto_Cursiva: antífonas, respuestas y títulos"_Venid, subamos al monte del Señor._"
$texto$Rúbrica: lo que en los libros litúrgicos se imprime en rojo"$℣. $Bendito el Señor, ahora y por siempre."
℣. / ℟.Versículo y respuestaSiempre dentro de una rúbrica en los responsorios
<i>…</i>, <p>, <br/>HTML puntualAlgunos textos patrísticos y los salmos del Invitatorio

Estructuras habituales

Responsorios

Los campos responsorios, responsorio* y responsorio son arrays con una línea por elemento, alternando versículo y respuesta:

[
  "$℣. $Bendito el Señor, ahora y por siempre.",
  "$℟. $Bendito el Señor, ahora y por siempre.",
  "$℣. $El único que hace maravillas."
]

Preces

preces_contenido es un array de peticiones. Cada una empieza por - y termina con su respuesta en cursiva:

"- Te bendecimos, Señor, creador del universo, _porque has conservado nuestra vida hasta el día de hoy._"

Lo habitual es mostrar la parte en cursiva en una línea aparte y con sangría.

Citas del Oficio de lectura

En las citas de las lecturas del Oficio, $ separa la fuente de la referencia:

const cita = 'Del libro de los Jueces $Jc 4, 1-24 $';
const [fuente, referencia] = cita.split('$').map((s) => s.trim());
// fuente: "Del libro de los Jueces", referencia: "Jc 4, 1-24"

Referencias de las lecturas de la Misa

El campo ref de cada lectura combina la cita bíblica y un título breve en cursiva, separados por : :

const ref = 'Mt 5, 38-42: _Yo os digo: No hagáis frente al que os agravia._';
const separador = ref.indexOf(': ');
const cita = ref.slice(0, separador);               // "Mt 5, 38-42"
const titulo = ref.slice(separador + 2).replaceAll('_', ''); // "Yo os digo: No hagáis…"

En los comentarios (type: "COMMENT"), ref contiene el autor y la obra.

Convertir a HTML

Esta función cubre todas las marcas anteriores. Los textos vienen incluidos en el paquete (no los escriben usuarios), así que insertarlos como HTML es seguro.

export function toHtml(text: string | undefined): string {
  if (!text) return '';
  return text
    .replace(/\$(.*?)\$/g, '<span class="rubrica">$1</span>')
    .replace(/_(.*?)_/g, '<em>$1</em>')
    .replace(/\n/g, '<br />');
}
.rubrica {
  color: #a8392a; /* rojo litúrgico */
}

Con React, por ejemplo:

<p dangerouslySetInnerHTML={{ __html: toHtml(laudes.himno) }} />

Accesibilidad

Usa <em> en lugar de <i> para las antífonas y no confíes solo en el color para las rúbricas: el texto ya incluye los símbolos ℣. y ℟., que los lectores de pantalla anuncian.

On this page