This is the home of the Dagster documentation. The documentation site is built using Docusaurus, a modern static website generator.
./src
contains custom components, styles, themes, and layouts../docs/
contains documentation Markdown files./examples/docs_snippets/docs_snippets/
contains code examples for the documentation. Some code examples also live in/examples/
and/examples/docs_snippets/docs_snippets/
.
The docs are organized into the following sections:
- Docs - includes content from getting-started, etl-pipeline-tutorial, guides, and about
- Examples
- Integrations
- Dagster+
- API reference
sidebar.ts
and docusaurus.config.ts
are the main configuration files for the documentation.
For formatting guidelines, see the CONTRIBUTING guide.
The site uses yarn for package management. We recommend using nvm
to install the long-term-support version of Node.
nvm install --lts
yarn install
To start the local development server:
yarn start
This command starts a local development server and opens http://localhost:3050 in a browser window.
To check for broken links and other build errors, you will need to build API docs, then build the full docs site:
# build and copy API markdown files; build and copy the sphinx `objects.inv` to static/
yarn build-api-docs
# build the static site
yarn build
Note that building API docs requires you to configure Python on your system. To do this, run make dev_install
as outlined in the Dagster contributing guide.
To check the documentation for formatting issues, run the following:
yarn format
Kinds tags are generated programmatically and stored in the docs/partials/_KindsTags.md
partial with the following command:
yarn rebuild-kinds-tags
Note: Most of the time, you will not need to run this command locally, since it runs on the production build.
Previous versions of the docs site, plus an "Upcoming release" version, are made accessible through preview deployments in Vercel.
For example, https://release-1-9-13.archive.dagster-docs.io/ is hosted on the archive
subdomain of dagster-docs.io where release-1-9-13
is the release branch in version control.
The "Upcoming release" version is also hosted on the archive
subdomain. Its release branch is master
.
These versions are accessible through the navigation bar as external links. See the conditional logic using VERCEL_ENV
in docusaurus.config.ts.
To validate the dropdown menu, you can run VERCEL_ENV=preview yarn start
.
This site is built and deployed using Vercel.
The build step in Vercel is overridden to build API documentation using the scripts/vercel-sync-api-docs.sh
script; this should not be used locally.
Algolia search is used for search results on the website, as configured in docusaurus.config.ts
.
The following environment variables must be configured in Vercel:
ALGOLIA_APP_ID
ALGOLIA_API_KEY
ALGOLIA_INDEX_NAME
These variables are not loaded when process.env.ENV === 'development'
.