bundleElementoDesde: unreleasedRequiere la característica bundle
El formato de exportación a bundle de Typst (experimental).
--features bundle o estableciendo la variable de entorno TYPST_FEATURES en bundle. Para usar las características bundle y html al mismo tiempo, especificá ambas separadas por una coma (es decir, bundle,html). En la app web, la exportación a bundle no está disponible por el momento.Con la exportación a bundle de Typst, podés emitir varios archivos de salida a partir de un único proyecto de Typst. La salida en bundle es útil para crear sitios web de varias páginas con exportación a HTML, pero no se limita a la exportación a HTML. Podés crear bundles que contengan cualquier combinación de páginas HTML, PDF, PNG, SVG y recursos arbitrarios.
Exportar como bundle
Línea de comandos
Pasá --format bundle al subcomando compile o watch. Tené en cuenta que también tenés que pasar --features bundle o establecer TYPST_FEATURES=bundle para habilitar este destino de exportación experimental.
Al usar typst watch, Typst lanzará un servidor HTTP con recarga en vivo que sirve tus archivos. Podés configurarlo así:
- Pasá
--portpara cambiar el puerto. (Por defecto, el primer puerto libre del rango 3000-3005.) - Pasá
--no-reloadpara desactivar la inyección de un script de recarga en vivo en las páginas HTML. (El HTML que se escribe en el disco no se ve afectado en ningún caso.) Los documentos que no son HTML no admiten la recarga en vivo. - Pasá
--no-servepara desactivar por completo el servidor.
App web
Actualmente no está disponible.
Crear archivos
Un bundle es una colección de archivos. Cada uno de estos archivos del bundle pertenece a una de dos categorías: documento o recurso. Un document toma contenido que se exporta con uno de los otros formatos de exportación de Typst. Por su parte, un asset toma datos de bytes sin procesar de tu elección que se escribirán en el disco tal cual. Ambos elementos toman como primer argumento la ruta de salida deseada.
El siguiente ejemplo muestra un caso básico de cómo se podría usar la exportación a bundle en la práctica:
#document("index.html", title: [Home])[
#title()
- #link(<blog>)[Go to blog]
]
#document("blog.html", title: [Blog])[
#title()
Welcome to my blog!
...
This blog also exists as a
#link(<blog-pdf>)[single PDF].
] <blog>
#document("blog.pdf", title: [Blog])[
...
] <blog-pdf>
#asset(
"favicon.ico",
read("images/favicon.ico", encoding: none),
)En el ejemplo, creamos dos documentos HTML: una página de inicio y un blog. La página de inicio enlaza al blog mediante un enlace de etiqueta. El mecanismo de enlaces incorporado de Typst admite de forma nativa los enlaces entre documentos y resuelve por vos las rutas relativas correctas. El bundle también contiene una versión en PDF del blog, que se enlaza desde la versión HTML. En la práctica, ahora podrías compartir el contenido entre la versión HTML y la PDF guardándolo en una variable y usándola en ambas. Esto se omite acá por brevedad. Por último, el bundle contiene un recurso de ícono para el sitio web. En este caso, proporcionamos los datos del recurso leyendo un archivo del disco. Como alternativa, también es posible generar los datos del recurso desde dentro de Typst (por ejemplo, con una función como json.encode).
Los documentos y los recursos son elementos normales, así que podés usarlos con los mecanismos habituales de scripting, estilos e introspección de Typst. Para más detalles, consultá la documentación de document y asset.
Introspección
Las introspecciones siempre observan el bundle completo y no los documentos individuales. Por ejemplo, consultar los títulos te dará todos los títulos de todos los documentos y no solo los del documento actual. De manera similar, las etiquetas son globales al bundle: podés ubicar y enlazar etiquetas de otros documentos. Los contadores y el estado también son globales.1 En particular, si habilitás cosas como la numeración de títulos, la numeración avanzará de forma consecutiva a lo largo de todo el bundle.
Si estás usando la exportación a bundle para construir una obra conceptual que se divide en varios archivos de salida, normalmente esto es lo que querés. Si, en cambio, estás usando la exportación a bundle para exportar varias obras conceptualmente separadas, quizás quieras que las introspecciones consideren cada documento de forma aislada. Actualmente, vas a tener que hacerlo manualmente (por ejemplo, reiniciando contadores, ajustando selectores, etcétera). Nosotros planeamos ofrecer más herramientas para administrar el alcance preciso de la introspección en el futuro.
- 1Una excepción a esto es el contador de páginas, que (naturalmente) es por documento.
Parámetros
Definiciones
assetAgrega un archivo personalizado a un bundle.