Skip to content

Commit b17336f

Browse files
authored
Changed interact docs workflow to properly serve all content (#45)
1 parent 5b78f74 commit b17336f

5 files changed

Lines changed: 29 additions & 13 deletions

File tree

.github/workflows/interactdocs.yml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,32 @@ jobs:
4242
- name: Build docs app
4343
run: yarn workspace @wix/interact-docs build
4444
env:
45-
# Set base path for GitHub Pages deployment under /docs
45+
# Set base path for GitHub Pages deployment under /docs/
4646
VITE_BASE: /docs/
4747

4848
- name: Setup Pages
4949
uses: actions/configure-pages@1f0c5cde4bc74cd7e1254d0cb4de8d49e9068c7d # v4
5050

5151
- name: Prepare deployment directory
5252
run: |
53+
# Create the site structure:
54+
# / -> root index.html and assets
55+
# /docs/ -> docs app
56+
# /rules/ -> rules markdown files
57+
5358
mkdir -p _site/docs
59+
mkdir -p _site/rules
60+
mkdir -p _site/assets
61+
62+
# Copy root landing page and assets
63+
cp index.html _site/
64+
cp -r assets/* _site/assets/
65+
66+
# Copy docs app
5467
cp -r apps/docs/dist/* _site/docs/
68+
69+
# Copy rules from source (served at /rules/, not /docs/rules/)
70+
cp -r packages/interact/rules/* _site/rules/
5571
5672
- name: Upload artifact
5773
uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4
@@ -61,7 +77,7 @@ jobs:
6177
deploy:
6278
environment:
6379
name: github-pages
64-
url: ${{ steps.deployment.outputs.page_url }}docs/
80+
url: ${{ steps.deployment.outputs.page_url }}
6581
runs-on: ubuntu-latest
6682
needs: build
6783
steps:

apps/docs/scripts/copy-docs.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ const __dirname = dirname(__filename);
88
const srcDocs = resolve(__dirname, '../../../packages/interact/docs');
99
const destDocs = resolve(__dirname, '../dist/docs');
1010

11-
const srcRules = resolve(__dirname, '../../../packages/interact/rules');
12-
const destRules = resolve(__dirname, '../dist/rules');
13-
1411
// Create dest directory if it doesn't exist
1512
if (!existsSync(dirname(destDocs))) {
1613
mkdirSync(dirname(destDocs), { recursive: true });
@@ -21,8 +18,6 @@ cpSync(srcDocs, destDocs, { recursive: true, force: true });
2118

2219
console.log('✓ Docs copied to dist/docs');
2320

24-
// Copy rules to dist
25-
cpSync(srcRules, destRules, { recursive: true, force: true });
26-
27-
console.log('✓ Rules copied to dist/rules');
21+
// Note: Rules are NOT copied here - they are deployed separately to /rules/
22+
// in the GitHub Actions workflow (not under /docs/rules/)
2823

apps/docs/src/App.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@ import { Layout } from './components/Layout';
33
import { MarkdownPage } from './components/MarkdownPage';
44

55
function App() {
6+
// Remove trailing slash from BASE_URL for router basename
7+
const basename = import.meta.env.BASE_URL.replace(/\/$/, '') || '/';
8+
69
return (
7-
<BrowserRouter>
10+
<BrowserRouter basename={basename}>
811
<Layout>
912
<Routes>
1013
<Route path="*" element={<MarkdownPage />} />

apps/docs/src/components/MarkdownPage.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@ export function MarkdownPage() {
1919
const mdPath = getMarkdownPath(location.pathname);
2020

2121
try {
22-
// Use the /docs endpoint which serves from packages/interact/docs
23-
const response = await fetch(`/docs/${mdPath}`);
22+
// Use the base URL + /docs endpoint which serves from packages/interact/docs
23+
// In dev (base=/): fetches /docs/README.md
24+
// In prod (base=/docs/): fetches /docs/docs/README.md
25+
const response = await fetch(`${import.meta.env.BASE_URL}docs/${mdPath}`);
2426

2527
if (!response.ok) {
2628
throw new Error(`Failed to load: ${mdPath}`);

apps/docs/vite.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export default defineConfig({
8585
serveRulesPlugin()
8686
],
8787
// Use VITE_BASE env var for GitHub Pages deployment, default to '/' for local dev
88-
base: process.env.VITE_BASE || './',
88+
base: process.env.VITE_BASE || '/',
8989
resolve: {
9090
alias: {
9191
'@': path.resolve(__dirname, 'src'),

0 commit comments

Comments
 (0)