Skip to content

Commit faaae58

Browse files
committed
deploy: add live example deployment to GitHub Pages
- Add GitHub Actions workflow to build and deploy examples - Update Vite config with `base` and `build` options for examples - Add `examples:build` npm script for building examples - Link live examples in README - Update .gitignore to exclude `dist-examples`
1 parent 1ab6715 commit faaae58

5 files changed

Lines changed: 43 additions & 0 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Deploy Examples to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [master]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
build-and-deploy:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
18+
- name: Setup Node.js
19+
uses: actions/setup-node@v4
20+
with:
21+
node-version: '20'
22+
cache: 'npm'
23+
24+
- name: Install dependencies
25+
run: npm ci
26+
27+
- name: Build examples
28+
run: npm run examples:build
29+
30+
- name: Deploy to gh-pages
31+
uses: peaceiris/actions-gh-pages@v4
32+
with:
33+
github_token: ${{ secrets.GITHUB_TOKEN }}
34+
publish_dir: ./dist-examples

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
node_modules
22
dist
3+
dist-examples
34
coverage
45
.DS_Store
56
*.log

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ Modern, accessible, TypeScript-first split pane component for React.
66
![NPM license](https://img.shields.io/npm/l/react-split-pane.svg?style=flat)
77
[![Bundle size](https://img.shields.io/bundlephobia/minzip/react-split-pane)](https://bundlephobia.com/package/react-split-pane)
88

9+
**[Live Examples](https://tomkp.github.io/react-split-pane)**
10+
911
## ✨ Features
1012

1113
- 🪝 **Hooks-based** - Built with modern React patterns

examples/vite.config.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,16 @@ import { resolve } from 'path';
55
export default defineConfig({
66
plugins: [react()],
77
root: __dirname,
8+
base: '/react-split-pane/',
89
resolve: {
910
alias: {
1011
'../src': resolve(__dirname, '../src'),
1112
},
1213
},
14+
build: {
15+
outDir: resolve(__dirname, '../dist-examples'),
16+
emptyOutDir: true,
17+
},
1318
server: {
1419
port: 3000,
1520
open: true,

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"format:check": "prettier --check src examples",
4242
"typecheck": "tsc --noEmit",
4343
"examples": "vite --config examples/vite.config.ts",
44+
"examples:build": "vite build --config examples/vite.config.ts",
4445
"prepublishOnly": "npm run test && npm run build"
4546
},
4647
"repository": {

0 commit comments

Comments
 (0)