CLI
Docusaurus provides a set of scripts to help you generate, serve, and deploy your website.
Once your website is bootstrapped, the website source will contain the Docusaurus scripts that you can invoke with your package manager:
Docusaurus CLI commands
Below is a list of Docusaurus CLI commands and their usages:
docusaurus start
Builds and serves a preview of your site locally with Webpack Dev Server.
Options
Name | Default | Description |
---|---|---|
--port | 3000 | Specifies the port of the dev server. |
--host | localhost | Specify a host to use. For example, if you want your server to be accessible externally, you can use --host 0.0.0.0 . |
--hot-only | false | Enables Hot Module Replacement without page refresh as fallback in case of build failures. More information here. |
--no-open | false | Do not open automatically the page in the browser. |
--poll [optionalIntervalMs] | false | Use polling of files rather than watching for live reload as a fallback in environments where watching doesn't work. More information here. |
important
Please note that some functionality (for example, anchor links) will not work in development. The functionality will work as expected in production.
Enabling HTTPS`
There are multiple ways to obtain a certificate. We will use mkcert as an example.
Run
mkcert localhost
to generatelocalhost.pem
+localhost-key.pem
Run
mkcert -install
to install the cert in your trust store, and restart your browserStart the app with Docusaurus HTTPS env variables:
- Open
https://localhost:3000/
docusaurus build
Compiles your site for production.
Options
Name | Default | Description |
---|---|---|
--bundle-analyzer | false | Analyze your bundle with the webpack bundle analyzer. |
--out-dir | build | The full path for the new output directory, relative to the current workspace. |
--no-minify | false | Build website without minimizing JS/CSS bundles. |
docusaurus swizzle
caution
We highly discourage swizzling of components until we've reached a Beta stage. The components APIs have been changing rapidly and are likely to keep changing until we reach Beta. Stick with the default appearance for now if possible to save yourself some potential pain in future.
Change any Docusaurus theme components to your liking with docusaurus swizzle
.
Running the command will copy the relevant theme files to your site folder. You may then make any changes to it and Docusaurus will use it instead of the one provided from the theme.
docusaurus swizzle
without themeName
lists all the themes available for swizzling similarly docusaurus swizzle <themeName>
without componentName
lists all the components available for swizzling.
Options
Name | Description |
---|---|
themeName | The name of the theme you are using. |
swizzleComponent | The name of the component to swizzle. |
--danger | Allow swizzling of unstable components |
--typescript | Swizzle TypeScript components |
To unswizzle a component, simply delete the files of the swizzled component.
docusaurus deploy
Deploys your site with GitHub Pages. Check out the docs on deployment for more details.
Options
Name | Default | Description |
---|---|---|
--out-dir | build | The full path for the new output directory, relative to the current workspace. |
--skip-build | false | Deploy website without building it. This may be useful when using custom deploy script. |
docusaurus serve
Serve your built website locally.
Name | Default | Description |
---|---|---|
--port | 3000 | Use specified port |
--dir | build | The full path for the output directory, relative to the current workspace |
--build | false | Build website before serving |
--host | localhost | Specify a host to use. For example, if you want your server to be accessible externally, you can use --host 0.0.0.0 . |
docusaurus clear
Clear a Docusaurus site's generated assets, caches, build artifacts.
We recommend running this command before reporting bugs, after upgrading versions, or anytime you have issues with your Docusaurus site.