94 lines
2.5 KiB
Markdown
94 lines
2.5 KiB
Markdown
# Squiggleverse
|
|
|
|
Squiggleverse is a whimsical, game-based learning project focused on grammar, usage, and style. This repository contains the public landing page for the project: a fast, static SvelteKit site with brand artwork, a demo video, introductory copy, and production metadata.
|
|
|
|
The page is built to present Squiggleverse clearly as a polished education-through-play experience while keeping the implementation small, accessible, and easy to deploy.
|
|
|
|

|
|
|
|
## What Is Included
|
|
|
|
- Static SvelteKit landing page at `/`
|
|
- Responsive hero logo, demo video, and project introduction
|
|
- SEO, Open Graph, Twitter card, and JSON-LD metadata
|
|
- Web manifest, icons, favicon, robots file, sitemap, and social preview image
|
|
- Self-hosted video and image assets
|
|
- Static adapter configuration for prerendered output
|
|
- Docker and CapRover deployment files
|
|
|
|
## Tech Stack
|
|
|
|
- SvelteKit
|
|
- Svelte 5
|
|
- TypeScript
|
|
- Vite
|
|
- `@sveltejs/adapter-static`
|
|
- `@fontsource/nunito`
|
|
- Docker with nginx for containerized static hosting
|
|
|
|
## Project Structure
|
|
|
|
```txt
|
|
src/
|
|
lib/
|
|
assets/ Static media imported by Svelte components
|
|
components/ Hero logo, video, and intro sections
|
|
routes/ SvelteKit routes, layout, page metadata, and error page
|
|
app.css Global styling
|
|
app.html HTML shell
|
|
static/ Public assets copied directly into the build
|
|
Dockerfile Static production image
|
|
captain-definition CapRover deployment definition
|
|
```
|
|
|
|
## Getting Started
|
|
|
|
Install dependencies:
|
|
|
|
```sh
|
|
npm install
|
|
```
|
|
|
|
Start the local development server:
|
|
|
|
```sh
|
|
npm run dev
|
|
```
|
|
|
|
Run Svelte and TypeScript checks:
|
|
|
|
```sh
|
|
npm run check
|
|
```
|
|
|
|
Create a production build:
|
|
|
|
```sh
|
|
npm run build
|
|
```
|
|
|
|
Preview the production build locally:
|
|
|
|
```sh
|
|
npm run preview
|
|
```
|
|
|
|
## Deployment
|
|
|
|
The site is configured for static generation through `@sveltejs/adapter-static`. Production output is written to `build/`.
|
|
|
|
For container deployments, the included `Dockerfile` builds the SvelteKit site with Node.js and serves the generated static files from nginx. The `captain-definition` file points CapRover at that Dockerfile.
|
|
|
|
## Content And Assets
|
|
|
|
Core landing page content lives in:
|
|
|
|
- `src/routes/+page.svelte`
|
|
- `src/lib/components/HeroLogo.svelte`
|
|
- `src/lib/components/VideoCard.svelte`
|
|
- `src/lib/components/IntroText.svelte`
|
|
|
|
Public metadata assets live in `static/`. Imported page media lives in `src/lib/assets/`.
|
|
|
|
Large source design files and rendered brand assets are kept at the repository root for project continuity.
|