TypeDialog/assets/web/README.md

87 lines
2.6 KiB
Markdown
Raw Normal View History

# TypeDialog Web Assets
Web-based landing page, architecture diagram, and static content for TypeDialog.
## Directory Structure
```text
assets/web/
├── src/
│ ├── index.html # Source HTML (readable)
│ └── architecture-diagram.html # Source architecture viewer
├── index.html # Minified/Production HTML
├── architecture-diagram.html # Minified architecture viewer
├── typedialog_architecture.svg # Architecture diagram (dark mode)
├── typedialog_architecture_white.svg # Architecture diagram (light mode)
├── minify.sh # Build script
└── README.md
```
## Files
### `src/index.html` - Source Landing Page
- Inline CSS and JavaScript (no external dependencies beyond Inter font)
- Bilingual content (English/Spanish) with localStorage persistence
- Dark/light theme toggle with logo swap
- Responsive design (mobile-first)
- Link to architecture diagram viewer
### `src/architecture-diagram.html` - Architecture Viewer
- Full-page SVG architecture diagram
- Dark/light theme toggle (swaps between two SVG variants)
- Back-link to landing page
- Shares theme preference with landing page via localStorage
### Architecture SVGs
Two variants of the architecture diagram:
- `typedialog_architecture.svg` - Dark background (#0f0f1a)
- `typedialog_architecture_white.svg` - Light background (#ffffff)
Both show the complete TypeDialog architecture:
- Form Definitions layer (Nickel + TOML + load_form)
- typedialog-core (three-phase execution, core modules, BackendFactory)
- 6 Backends (CLI, TUI, Web, AI, Agent, Prov-Gen)
- Output formats (JSON, YAML, TOML, Nickel Roundtrip)
- LLM Providers (Claude, OpenAI, Gemini, Ollama)
- Integrations (Nushell, Nickel Contracts, Tera, Multi-Cloud, CI/CD)
## Development
Edit source files in `src/`, then regenerate minified versions:
```bash
chmod +x assets/web/minify.sh
./assets/web/minify.sh
```
## Deployment
Serve from any static web server:
```bash
# Rust
cargo install static-web-server
static-web-server -d assets/web/
# Python
python3 -m http.server --directory assets/web
# Node.js
npx http-server assets/web
```
Logo SVGs are referenced from the parent `assets/` directory via relative paths (`../typedialog_logo_h.svg`).
## Features
- **Responsive**: Mobile-first with media queries
- **Performance**: Inline CSS/JS, no frameworks, minified production
- **Bilingual**: EN/ES with dynamic switching
- **Theming**: Dark/light with localStorage persistence and logo swap
- **Architecture**: SVG diagram with dark/light variants showing full system