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
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:
npm install
Start the local development server:
npm run dev
Run Svelte and TypeScript checks:
npm run check
Create a production build:
npm run build
Preview the production build locally:
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.sveltesrc/lib/components/HeroLogo.sveltesrc/lib/components/VideoCard.sveltesrc/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.
