--- title: open-slide build description: Produce a static, deployable build. --- ```npm open-slide build # or npm run build ``` Builds every deck under `slides/` into a self-contained static site at `dist/`. The output has no server requirement — drop it on any static host. ## Flags | Flag | Default | Description | | ------------------- | ------- | -------------------------------------------- | | `--out-dir ` | `dist` | Write the static build to a custom folder. | ## Output ```text dist/ ├── index.html ├── assets/ │ └── ...hashed files... └── ... ``` ## Trimming the public surface If the build is for a public share rather than internal review, you can hide the slide browser and on-canvas UI in `open-slide.config.ts`: ```ts const config: OpenSlideConfig = { build: { showSlideBrowser: false, showSlideUi: false, allowHtmlDownload: false, }, }; ``` See [Export](/docs/core-feature/export) for the full set of build knobs. ## Deploying under a subpath If the build won't sit at the domain root (GitHub Pages project sites, a reverse-proxy folder, an intranet path), set `base` in `open-slide.config.ts` so asset URLs and client-side navigation resolve against the deployed path: ```ts const config: OpenSlideConfig = { base: '/my-slides/', }; ``` See [Config](/docs/reference/config) for details.