* Implements build.format: 'preserve' * Restructure test * Add a test for base * Update .changeset/tame-flies-confess.md Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> * Add trailing slash + i18n testing * Update packages/astro/src/@types/astro.ts Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * Update .changeset/tame-flies-confess.md Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * tiny punctuation/conjunction nit fixes --------- Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> Co-authored-by: Emanuele Stoppa <my.burning@gmail.com> Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
1.3 KiB
astro |
---|
minor |
Adds a new build.format
configuration option: 'preserve'. This option will preserve your source structure in the final build.
The existing configuration options, file
and directory
, either build all of your HTML pages as files matching the route name (e.g. /about.html
) or build all your files as index.html
within a nested directory structure (e.g. /about/index.html
), respectively. It was not previously possible to control the HTML file built on a per-file basis.
One limitation of build.format: 'file'
is that it cannot create index.html
files for any individual routes (other than the base path of /
) while otherwise building named files. Creating explicit index pages within your file structure still generates a file named for the page route (e.g. src/pages/about/index.astro
builds /about.html
) when using the file
configuration option.
Rather than make a breaking change to allow build.format: 'file'
to be more flexible, we decided to create a new build.format: 'preserve'
.
The new format will preserve how the filesystem is structured and make sure that is mirrored over to production. Using this option:
about.astro
becomesabout.html
about/index.astro
becomesabout/index.html
See the [build.format
configuration options reference] for more details.