Skip to content

fix docs

fix docs #153

Workflow file for this run

name: Deploy Static Files
on:
push:
branches:
- main
jobs:
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
- uses: pnpm/action-setup@v2
name: Install pnpm
with:
version: 8
run_install: true
- name: Generate Docs
run: pnpm -r generate:docs
- id: configurepages
uses: actions/configure-pages@v5
# https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#example-of-setting-an-output-parameter
- id: set-base-path
run: echo "BASE_PATH=${{ '/xr/docs' || steps.configurepages.outputs.base_path }}" >> "$GITHUB_OUTPUT"
- run: |
set -ex
docker run --rm --init \
-v "./$MDX":/app/docs \
-e BASE_PATH \
-e DIST_DIR="$MDX/out$BASE_PATH" \
-e MDX \
-e NEXT_PUBLIC_LIBNAME \
-e NEXT_PUBLIC_LIBNAME_SHORT \
-e NEXT_PUBLIC_LIBNAME_DOTSUFFIX_LABEL \
-e NEXT_PUBLIC_LIBNAME_DOTSUFFIX_HREF \
-e OUTPUT=export \
-e HOME_REDIRECT \
-e MDX_BASEURL \
-e SOURCECODE_BASEURL \
-e EDIT_BASEURL \
-e NEXT_PUBLIC_URL \
-e ICON \
-e LOGO \
-e GITHUB \
-e DISCORD \
-e THEME_PRIMARY \
-e THEME_SCHEME \
-e THEME_CONTRAST \
-e THEME_NOTE \
-e THEME_TIP \
-e THEME_IMPORTANT \
-e THEME_WARNING \
-e THEME_CAUTION \
-e CONTRIBUTORS_PAT \
ghcr.io/pmndrs/docs:2 npm run build
env:
BASE_PATH: ${{ steps.set-base-path.outputs.BASE_PATH }}
MDX: 'docs'
NEXT_PUBLIC_LIBNAME: 'xr'
NEXT_PUBLIC_LIBNAME_SHORT: ''
NEXT_PUBLIC_LIBNAME_DOTSUFFIX_LABEL: 'docs'
NEXT_PUBLIC_LIBNAME_DOTSUFFIX_HREF: 'https://docs.pmnd.rs'
HOME_REDIRECT: '/getting-started/introduction'
MDX_BASEURL: 'https://github.com/${{ github.repository }}/raw/${{ github.ref_name }}/docs'
SOURCECODE_BASEURL: 'https://github.com/${{ github.repository }}/tree/${{ github.ref_name }}'
EDIT_BASEURL: 'https://github.com/${{ github.repository }}/edit/${{ github.ref_name }}/docs'
NEXT_PUBLIC_URL: ${{ steps.configurepages.outputs.base_url }}
ICON: '🤳'
LOGO: '/logo.png'
GITHUB: 'https://github.com/pmndrs/xr'
DISCORD: ''
THEME_PRIMARY: '#323e48'
THEME_SCHEME: 'tonalSpot'
THEME_CONTRAST: '0'
THEME_NOTE: '#1f6feb'
THEME_TIP: '#238636'
THEME_IMPORTANT: '#8957e5'
THEME_WARNING: '#d29922'
THEME_CAUTION: '#da3633'
CONTRIBUTORS_PAT: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/upload-pages-artifact@v3
with:
path: docs/out${{ steps.set-base-path.outputs.BASE_PATH }}
examples:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
- uses: pnpm/action-setup@v2
name: Install pnpm
with:
version: 8
run_install: true
# Generate Docs with TypeDoc
- name: Generate Docs
run: pnpm -r generate_docs
# Examples
- name: Building Examples
run: pnpm -r build
- name: Copy Examples
run: |
mkdir -p public/examples/minecraft
mkdir -p public/examples/pingpong
mkdir -p public/examples/rag-doll
mkdir -p public/examples/stage
mkdir -p public/examples/watch
mkdir -p public/examples/room-with-shadows
mkdir -p public/examples/layers
mkdir -p public/examples/secondary-input-sources
mkdir -p public/examples/editor
mkdir -p public/examples/hit-testing
mkdir -p public/examples/uikit
mkdir -p public/examples/portal
cp -r ./examples/minecraft/dist/* ./public/examples/minecraft
cp -r ./examples/pingpong/dist/* ./public/examples/pingpong
cp -r ./examples/rag-doll/dist/* ./public/examples/rag-doll
cp -r ./examples/stage/dist/* ./public/examples/stage
cp -r ./examples/watch/dist/* ./public/examples/watch
cp -r ./examples/room-with-shadows/dist/* ./public/examples/room-with-shadows
cp -r ./examples/layers/dist/* ./public/examples/layers
cp -r ./examples/secondary-input-sources/dist/* ./public/examples/secondary-input-sources
cp -r ./examples/editor/dist/* ./public/examples/editor
cp -r ./examples/hit-testing/dist/* ./public/examples/hit-testing
cp -r ./examples/uikit/dist/* ./public/examples/uikit
cp -r ./examples/portal/dist/* ./public/examples/portal
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: examples
path: public/examples/
bundle-artifacts:
runs-on: ubuntu-latest
needs:
- docs
- examples
steps:
- name: Download Examples Artifiact
uses: actions/download-artifact@v4
with:
name: examples
path: ./examples
- name: Download Docs Artifiact
uses: actions/download-artifact@v4
with:
name: github-pages
path: ./docs
- name: Extract Docs
run: tar -xf ./docs/artifact.tar -C ./docs/
- name: Create deploy.tar
run: tar -cf deploy.tar ./*
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: deploy
path: ./deploy.tar
deploy:
needs: bundle-artifacts
runs-on: ubuntu-latest
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- id: deployment
uses: actions/deploy-pages@v4
with:
artifact_name: deploy