Export static site
Your design system documentation can be exported using the CLI doc export command. Here we provide common setups that make use of that command to deploy a new version of the documentation static site when new version of the design system is released.
GitHub Actions starter
It's common to make documentation publishing part of the project CD. We're going to use GitHub Actions to showcase how this can be done.
In the example below, we're going to export the documentation static site into the docs-build
dir. The last step, which publishes docs-build
content to the site hosting, depends on your stack. We provide integration examples below for some common services.
We are using a new version tag as a trigger for the workflow, but you can use anything else which suits your needs.
Pro tip: set up Git integration and Backlight will push new tag automatically when new version is released.
name: Deploy documentation
on:
push:
tags:
- 'v*'
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Build docs
shell: bash
run: npx backlight@latest doc export @my-workspace/ds-name --dir docs-build
env:
BACKLIGHT_API_TOKEN: ${{ secrets.BACKLIGHT_API_TOKEN }}
- name: Publish docs to your hosting
...
Netlify integration
You can set up Netlify's own build:
- Set
Build command
tonpx backlight@latest doc export @my-workspace/ds-name --dir docs-build
. - Set
Publish directory
todocs-build
(same value passed as--dir
argument). - Add
BACKLIGHT_API_TOKEN
to the environment variables.
Alternatively, you can use your own CD solution via the manual deployment approach. If you use GitHub Actions, there is a nice wrapper which can take the dir docs-build
as input and do the remaining job.
steps:
...
- name: Publish docs to Netlify
uses: jsmrcaga/action-netlify-deploy@master
with:
build_directory: docs-build
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
NETLIFY_DEPLOY_MESSAGE: 'Prod deploy v${{ github.ref }}'
NETLIFY_DEPLOY_TO_PROD: true