Traducción no oficial al español rioplatense, generada con IA (Claude Sonnet 5.5) bajo la dirección y revisión de Jassiel Ovando. No es una publicación de Typst GmbH ni cuenta con su aval; ante cualquier duda, prevalece la documentación oficial en inglés. ¿Un error de traducción o una sugerencia? Reportalo. Tipografía: Reforma, de PampaType.

assetElemento
Signo de pregunta
Desde: 0.15.0
Característica opcional
Requiere la característica bundle
Ir al código fuente

Agrega un archivo personalizado a un bundle.

Esta función crea un único archivo en un bundle, a partir de datos de bytes sin procesar. A diferencia de los documentos, los recursos (assets) se emitirán tal cual, sin pasar por compilación.

La función asset se puede combinar con read para copiar un archivo del proyecto al bundle de salida. El primer argumento de asset define la ruta de salida del recurso en el bundle, mientras que la ruta que se le pasa a read define desde dónde del proyecto se leen los datos.

// Copy the file `styles.css` into the bundle.
#asset("styles.css", read("styles.css"))

Dicho esto, asset no está atado a read. También podés generar bytes directamente o usar una función como json.encode para emitir datos serializados.

// Emits a JSON file with the number
// of headings in the document.
#context {
  let headings = query(heading)
  let meta = (
    count: headings.len(),
  )
  asset("meta.json", json.encode(meta))
}

#document("doc.pdf")[
  = Introduction
  = Conclusion
]

Esto emitiría un archivo meta.json con el siguiente contenido en el bundle resultante:

{
  "count": 2
}

Esta función está definida en el elemento format.bundle, pero también está disponible directamente en el ámbito global. Solo se puede usar en el destino bundle.

Parámetros

asset() → content

path
str
ObligatorioPosicional
Signo de pregunta

La ruta en el bundle en la que se ubicará el recurso.

Puede contener barras interiores, en cuyo caso los directorios intermedios se crearán automáticamente.

data
str o bytes
ObligatorioPosicional
Signo de pregunta

Los datos sin procesar que se escribirán en el archivo de la ruta especificada.

Si se da una cadena de texto, se codificará en UTF-8.