Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,20 @@
},
"overrides": [
{
"files": ["**/*.test.ts", "**/*.spec.ts"],
"files": ["**/*.test.ts", "**/*.spec.ts", "**/__tests__/**/*.ts"],
"rules": {
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/no-unsafe-return": "off",
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/no-explicit-any": "off"
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/no-floating-promises": "off",
"@typescript-eslint/require-await": "off",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/strict-boolean-expressions": "off"
}
}
],
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Deploy Documentation to GitHub Pages

on:
push:
branches:
- main
paths:
- 'docs/**'
- '.github/workflows/deploy-docs.yml'
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Pages
uses: actions/configure-pages@v4

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: './docs'

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
54 changes: 54 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Deploy Documentation to GitHub Pages

on:
push:
branches:
- main
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Build TypeScript
run: npm run build

- name: Setup Pages
uses: actions/configure-pages@v4

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: './docs'

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
55 changes: 55 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Synapse UI Documentation

This directory contains the interactive documentation and component showcase for Synapse UI Framework - a neural-inspired, framework-agnostic UI library.

## 🌐 Live Site

Visit the live documentation at: https://kluth.github.io/synapse/

## 📦 What's Included

- **index.html**: Entry point that redirects to showcase
- **showcase.html**: Interactive component showcase with live demos
- **UI_FRAMEWORK.md**: Comprehensive framework documentation

## 🧠 Components Showcased

### Base Components
- **Button**: Neural button with 4 variants (primary, secondary, danger, success) and 3 sizes
- **Input**: Text input with validation and focus states
- **Select**: Dropdown selection with keyboard navigation
- **Form**: Form container with validation and submission handling

### Glial Systems
- **VisualAstrocyte**: Redux-like state management with time-travel debugging
- **VisualOligodendrocyte**: Rendering optimization with Virtual DOM diffing and memoization

## 🏗️ Architecture

Pure HTML/CSS/JavaScript showcase - **no React, Vue, or Angular dependencies**. Components are framework-agnostic TypeScript classes that render to Virtual DOM.

## 🚀 Deployment

Automatic deployment to GitHub Pages happens via `.github/workflows/docs.yml` on:
- Pushes to `main` branch
- Pushes to branches matching `claude/review-approach-terminology-*`
- Manual workflow dispatch

The workflow:
1. Builds TypeScript (`npm run build`)
2. Deploys `docs/` directory to GitHub Pages

## 🛠️ Local Development

```bash
# Install dependencies
npm install

# Build TypeScript
npm run build

# Open showcase in browser
open docs/showcase.html
```

No build step required for the showcase - it's pure HTML/CSS/JS!
Loading